SEO· 12 min read· Updated July 15, 2026

Schema Markup for Search & AI (2026): 7 Types Used Correctly

Karam Abd Al Qader, Founder & Product Consultant of Ijjad

Founder & Product Consultant · Ijjad reports 20+ government and enterprise digital products

Quick AnswerSchema markup describes visible content and can make eligible pages easier for search systems to interpret. Use only supported types that truthfully match the page, validate them, and keep them in parity with what readers see. Schema does not directly improve web ranking or guarantee a rich result or AI citation.

7 Types
used only when supported

How to use Article, FAQPage, HowTo, Speakable, Organization, Person, and Dataset markup accurately, validate visible-content parity, and understand what schema can and cannot do for search and AI visibility.

Schema markup for search and AI in 2026 — seven types used only when visible content supports them
Schema markup for search and AI in 2026 — seven types used only when visible content supports them
Quick answer

What schema markup matters for AI search in 2026?

Schema markup can help search systems understand eligible content, but no schema type directly improves ranking or guarantees an AI citation. Use only types justified by the visible page—such as BlogPosting, FAQPage, Service, Organization, Person, or Dataset—keep every property truthful, and validate the rendered JSON-LD.

  • Choose schema from the content that is actually visible; no fixed type or FAQ count fits every page
  • Keep article authors, dates, images, and visible reviewed dates in agreement
  • Use FAQPage, HowTo, and Speakable only where current eligibility and the rendered content support them
  • Use Dataset only for accessible research with methodology and a real distribution or landing page
  • Use typed helpers and rendered validation to prevent silent parity and syntax defects

Last reviewed by Karam Abdalqader

Structured data is a description layer, not a citation shortcut. Accurate markup can help search systems interpret supported page types and determine eligibility for some features; invalid or invisible claims can make that markup ineligible. This playbook covers seven useful types, worked JSON-LD examples, and the rendered checks that prevent silent failures.

If you want the strategic context, read What is Generative Engine Optimization? first. If you want the step-by-step rollout, read How to rank in ChatGPT and Perplexity. This page is the technical implementation deep-dive.

1. Why accurate schema markup matters

Visible prose carries the meaning of the page. Schema can add explicit labels: BlogPosting identifies an article, Person identifies a real author, and FAQPage describes visible question-and-answer pairs. Those labels must describe the same content a reader sees.

Search engines may use supported markup to determine eligibility for specific search features or to interpret entities and page relationships. Other answer engines do not publish one consistent schema-to-citation contract, so the safe rule is simple: make the page useful first, then describe it accurately.

Schema is neither a direct web-ranking factor nor a citation guarantee. Its value is clean eligibility and machine-readable consistency; the content, authority, indexing, and evidence still have to earn visibility.


2. Seven schema types and when they fit

Plus three supporting types. Read the table as a content-to-markup fit guide, not a ranking or citation scorecard.

Schema typeFitPrimary purposeNotes
BlogPosting / ArticleUse for articlesArticle detailsKeep author, datePublished, dateModified, headline, and image accurate and visible where appropriate.
FAQPageConditionalVisible FAQsUse only for genuine, visible question-and-answer content. No fixed FAQ count is required.
HowToConditionalReal processesUse only when the page visibly presents a supported step-by-step task.
SpeakableLimitedEligible voice casesCheck current search-feature eligibility before using it; it is not a general AI-citation signal.
Organization + LocalBusinessUse when accurateBusiness identityRepresent the real organization, location, service area, and verified profiles without unsupported claims.
Person (author)Use for real authorsAuthorshipConnect a visible author to accurate profile information; markup cannot manufacture expertise.
DatasetResearch onlyPublished dataUse only for an accessible dataset with methodology, licensing, and a real distribution or landing page.
BreadcrumbListUsefulPage hierarchyRepresent the same navigation hierarchy users can follow.
ItemListList content onlyOrdered listsUse when a visible page is genuinely an ordered or curated list.
ServiceService pagesService detailsDescribe a real offered service, provider, and area served; omit invented catalog details.

3. BlogPosting / Article — accurate article details

BlogPosting can describe an article's visible publication and review dates, author, publisher, language, and image. Those properties must agree with the page and metadata. They support machine-readable consistency and applicable eligibility, but there is no cross-engine contract that turns them into ranking, E-E-A-T, or citation scores. Ijjad's helper at src/lib/schema.ts keeps the boilerplate consistent.

JSON-LD · BlogPosting (output from blogPostSchema helper)
{ "@context": "https://schema.org", "@type": "BlogPosting", "headline": "What Is Generative Engine Optimization?", "description": "GEO playbook for Jordan, Saudi Arabia, and the GCC.", "datePublished": "2026-05-22", "dateModified": "2026-05-22", "url": "https://www.ijjad.com/what-is-generative-engine-optimization-2026", "image": { "@type": "ImageObject", "url": "https://www.ijjad.com/images/blog/.../hero.svg", "license": "https://www.ijjad.com/image-license" }, "author": { "@type": "Person", "@id": "https://www.ijjad.com/about/karam-abdalqader#person", "name": "Karam Abd Al Qader", "url": "https://www.ijjad.com/about/karam-abdalqader", "jobTitle": "Founder & Lead Developer" }, "publisher": { "@type": "Organization", "@id": "https://www.ijjad.com/#organization", "name": "Ijjad", "url": "https://www.ijjad.com" }, "inLanguage": "en", "articleSection": "SEO", "mainEntityOfPage": "https://www.ijjad.com/what-is-generative-engine-optimization-2026" }

Keep headline, datePublished, dateModified, author, and image accurate and consistent with the rendered article and current official requirements. Reusing a stable @id for the same Person or Organization prevents accidental identity drift across pages.


4. FAQPage — only for genuine visible FAQs

Use FAQPage only when the page genuinely presents questions and complete answers to readers, and only where current search-feature policies allow it. Match the visible content exactly. There is no required number of FAQs, and adding markup does not guarantee a rich result or AI citation.

JSON-LD · FAQPage (Ijjad faqSchema helper)
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "What is Generative Engine Optimization?", "acceptedAnswer": { "@type": "Answer", "text": "Generative Engine Optimization (GEO) applies search fundamentals, clear answers, current evidence, earned authority, and recurring measurement across search and AI answer surfaces." } }, { "@type": "Question", "name": "Is GEO different from SEO?", "acceptedAnswer": { "@type": "Answer", "text": "Search and AI visibility overlap, but each engine retrieves and cites sources differently. Measure the same buyer questions per engine instead of assuming a Google position guarantees citation." } } ] }

Three rules: (1) answer at the natural length needed to resolve the question; (2) do not force the brand, geography, or a number into an answer unless it is relevant and supported; (3) validate with validator.schema.org and use Google's Rich Results Test for Google-supported feature eligibility.


5. HowTo — for numbered processes

HowTo schema describes a real, visible step-by-step task. Use it only when the page shows the complete process and the markup remains supported for the intended search feature. Do not convert general advice or an arbitrary bullet list into HowTo markup.

JSON-LD · HowTo (visible schema-audit task)
{ "@context": "https://schema.org", "@type": "HowTo", "name": "How to audit schema on one page", "description": "Check the rendered page, choose only supported markup, and validate the final JSON-LD.", "step": [ { "@type": "HowToStep", "position": 1, "name": "Inventory the visible content", "text": "Record the page purpose, author, dates, questions, steps, business facts, and other content a reader can actually see." }, { "@type": "HowToStep", "position": 2, "name": "Choose only matching schema types", "text": "Select a type only when it accurately describes that visible content and remains appropriate under current platform guidance." }, { "@type": "HowToStep", "position": 3, "name": "Validate the rendered JSON-LD", "text": "Check syntax, required properties, resolved selectors, and visible-content parity in the final rendered page." } ] }

Write each step for the reader: a clear action, the information needed to complete it, and an honest duration only when the page supports one. If you include totalTime, use the correct ISO 8601 duration and keep it consistent with the visible process.


6. Speakable — limited and eligibility-dependent

Speakable points to visible text selectors for supported voice-search cases. Its availability is limited and platform-specific, so check current official eligibility before using it. It is not a general voice-ranking or AI-citation signal.

JSON-LD · Speakable (Ijjad speakableSchema helper)
{ "@context": "https://schema.org", "@type": "WebPage", "url": "https://www.ijjad.com/what-is-generative-engine-optimization-2026", "speakable": { "@type": "SpeakableSpecification", "cssSelector": ["#quick-answer", "#tldr", "h1"] } }

When it is appropriate, point only to concise visible passages that make sense when read aloud, and verify that every selector resolves in the rendered page. A helper can keep selector syntax consistent, but it cannot make an ineligible page eligible.


7. Organization + LocalBusiness — brand entity disambiguation

Organization can describe a real brand and its verified identifiers. LocalBusiness is appropriate only when the page and business facts support a real location, contact details, hours, or service area. Repeating both types on every URL is not a ranking requirement; choose a stable implementation scope and keep the graph consistent with visible facts.

JSON-LD · Organization + LocalBusiness (excerpt)
{ "@context": "https://schema.org", "@type": ["Organization", "ProfessionalService"], "@id": "https://www.ijjad.com/#organization", "name": "Ijjad", "url": "https://www.ijjad.com", "logo": "https://www.ijjad.com/logo.png", "founder": { "@id": "https://www.ijjad.com/about/karam-abdalqader#person" }, "areaServed": [ { "@type": "Country", "name": "Jordan" }, { "@type": "Country", "name": "Saudi Arabia" }, { "@type": "Country", "name": "Iraq" }, { "@type": "AdministrativeArea", "name": "GCC" } ], "sameAs": [ "https://www.linkedin.com/company/ijjad/", "https://clutch.co/profile/ijjad", "https://www.goodfirms.co/company/ijjad", "https://www.wikidata.org/wiki/Q139569989" ] }

Use sameAs only for verified profiles or identifiers that represent the same organization. Do not add directories merely to enlarge the array; real consistency across the website, maps, trusted profiles, and independent coverage matters more.


8. Person — accurate visible authorship

Use Person markup when a real, visible author is responsible for the content. The profile and nested BlogPosting author can share an @id so the relationship is unambiguous, but markup cannot manufacture experience, expertise, or independent trust.

JSON-LD · Person (founder hub page)
{ "@context": "https://schema.org", "@type": "Person", "@id": "https://www.ijjad.com/about/karam-abdalqader#person", "name": "Karam Abd Al Qader", "url": "https://www.ijjad.com/about/karam-abdalqader", "image": "https://www.ijjad.com/founder-karam-512.webp", "jobTitle": "Founder & Lead Developer", "worksFor": { "@id": "https://www.ijjad.com/#organization" }, "alumniOf": [ { "@type": "EducationalOrganization", "name": "Amman Arab University" }, { "@type": "EducationalOrganization", "name": "University of Petra" } ], "knowsAbout": [ "Web design", "Web development", "SEO", "Mobile app development", "AI applications", "MVP development", "E-commerce", "Generative Engine Optimization" ], "sameAs": ["https://www.linkedin.com/in/karamabdalqader/"] }

Include fields such as alumniOf, knowsAbout, and sameAs only when they are accurate and useful to identify the person. The visible bio, demonstrated work, sources, and independent reputation supply the trust; the markup only describes them.


9. Dataset — describe published original data

Use Dataset markup for real published data or a clearly defined scoring framework with methodology, scope, limitations, licensing, and an accessible distribution or landing page. If no respondent data exists, state that plainly and do not label rubric states as findings or sample observations. Usefulness and credibility earn references; Dataset markup only describes the asset.

JSON-LD · Dataset (published framework)
{ "@context": "https://schema.org", "@type": "Dataset", "name": "GCC SME Digital Maturity Framework 2026", "description": "Ijjad-authored equal-weight practitioner self-assessment rubric with six GCC-oriented dimensions, 30 score states, five maturity thresholds, transparent safeguards, and no respondent benchmark data.", "creator": { "@id": "https://www.ijjad.com/#organization" }, "datePublished": "2026-06-06", "license": "https://creativecommons.org/licenses/by/4.0/", "keywords": ["GCC SME", "digital maturity", "AI readiness", "Saudi Arabia", "Jordan", "Iraq"], "spatialCoverage": [ { "@type": "Country", "name": "Jordan" }, { "@type": "Country", "name": "Saudi Arabia" }, { "@type": "Country", "name": "Iraq" } ], "temporalCoverage": "2026/2026", "distribution": { "@type": "DataDownload", "encodingFormat": "text/csv", "contentUrl": "https://www.ijjad.com/data/gcc-sme-digital-maturity-2026.csv" } }

Once published, link to it from pages where the rubric genuinely helps the reader, explain the methodology and limitations, and promote it to relevant publishers. The Ijjad GCC SME Digital Maturity Framework is live on the Digital Maturity Self-Assessment page.


10. Validation checklist + ship order

Prioritize by risk and page purpose rather than a fixed site-wide stack or URL count:

  1. Inventory the rendered markup. Map every emitted type and property to the visible content and purpose of that URL.
  2. Repair policy and parity defects first. Remove unsupported or invisible claims, fix invalid values, and reconcile author, date, canonical, and business facts.
  3. Stabilize real entity markup. Use Organization, LocalBusiness, Person, and WebSite only where each type is accurate; repeating a type everywhere is not required.
  4. Add page-specific markup conditionally. Use Article, Service, FAQPage, HowTo, ItemList, BreadcrumbList, or Dataset only when the rendered page genuinely supports that type.
  5. Validate the final render. Test syntax, current feature eligibility, resolved selectors, and exact visible-content parity before publication.

Use validator.schema.org for general schema checks, the Rich Results Test only for result types Google currently supports, and the rendered page or browser DevTools to verify selectors, @id links, and visible-content parity.

One trap to avoid: FAQ markup that does not match the visible page. Search policies require structured data to represent visible content; a mismatch can make the markup invalid or ineligible. Audit rendered question-and-answer parity before every publish.


Want schema retrofitted across your site?

Ijjad audits rendered schema for SMEs and founder teams across Jordan, Saudi Arabia, Iraq, and the GCC. We review priority URLs for invalid, unsupported, or invisible markup, then identify any page-specific type that the visible content genuinely justifies. Scope follows the evidence.

Get Started →

Frequently asked questions

Do AI engines actually parse JSON-LD schema?+
Search systems can use valid JSON-LD to understand supported page types and determine eligibility for some features. Cross-engine AI citation behavior is not documented consistently, so visible content remains the source of truth. Use JSON-LD for accurate description, not as a citation guarantee.
Which schema type matters most for AI citations?+
No schema type guarantees or directly improves an AI citation. Choose the type that accurately matches the visible page: BlogPosting for an article, FAQPage for genuine visible FAQs, Service for a real service, or Dataset for published research. Validate it, then measure actual search and referral outcomes.
Should the schema content match the visible page exactly?+
Yes. Structured data must represent content users can see. If FAQPage markup lists eight questions while the page shows three, expose all eight or mark up only the visible three. Mismatches can make markup ineligible or violate search policies; Ijjad blocks them at build time.
Can I hand-roll JSON-LD or should I use a helper library?+
Use a shared helper when multiple pages need the same schema shape. Ijjad keeps reusable generators in src/lib/schema.ts to reduce duplication and common syntax mistakes, but a helper cannot prove that a property is accurate or visible. Validate the rendered JSON-LD either way.
How do I validate schema before publishing?+
Validate the rendered JSON-LD with validator.schema.org, then use Google’s Rich Results Test for Google-supported features. Passing validation confirms syntax and eligibility inputs, not that a rich result, ranking improvement, or AI citation will appear.
Should I include Speakable schema on every page?+
No. Speakable has limited, eligibility-dependent use. Add it only when current platform guidance supports the page type and the selectors point to concise visible text. Do not use it as a general voice-search or AI-citation tactic.
Does Dataset schema help if I have not published research?+
Dataset schema should describe a real accessible dataset or a clearly defined rubric with transparent methodology and limitations. A framework with no respondent sample must say so explicitly and must not present score states as observations. Ijjad publishes its GCC SME Digital Maturity Framework CSV on the self-assessment page.
What schema do I need for a "best web design agency in Riyadh" listicle?+
There is no mandatory stack. Article or BlogPosting can describe the article, ItemList can describe a genuine visible ranking, and BreadcrumbList can describe the navigation trail. Add FAQPage or HowTo only when the page visibly contains eligible FAQs or a complete task. Do not add Organization markup for third parties unless every fact is supported.

Ready to ship valid schema that matches the page?

Schema audit for priority URLs, focused on validity, current eligibility, and exact visible-content parity—not a quota of markup types.

Get Started

Source note

Market context: Saudi Arabia's digital economy reached 16.0% of GDP in 2024, according to the General Authority for Statistics, published December 31, 2025. This is why Ijjad treats modern websites, SEO, e-commerce, AI MVPs, and mobile experiences as business infrastructure across Saudi Arabia, Jordan, Iraq, and the GCC.

Karam Abd Al Qader, Founder & Product Consultant of Ijjad

By Karam Abd Al Qader, Founder of Ijjad

Last reviewed by Karam Abd Al Qader

Need Help With Your Website?

Get a free consultation from our web development experts.