Schema markup is what tells AI engines exactly what your business does. Complete 2026 guide covering Organization, LocalBusiness, Service, Article, DefinedTerm, and the FAQPage trap.
Schema markup is the cleanest signal you can give an AI engine. It says, in plain machine-readable language: "this is who we are, this is what we do, this is where we work."
Without it, AI engines guess from your prose. With it, they pull structured facts directly. The difference between a generic citation and an accurate, branded citation is often the schema layer.
This guide covers every schema type that matters for Answer Engine Optimization in 2026. Real JSON-LD examples. The traps. The order of priority.
For the practical generator, use our free Schema Generator. For the strategic context, read our GEO SEO complete guide and the glossary.
Why schema matters more in 2026 than ever
Three reasons schema went from "nice to have" to "table stakes" between 2024 and 2026.
One: AI engines extract facts faster from schema than from prose. ChatGPT can read your About page and infer your founding year, but if your Organization schema declares foundingDate: "2008", the inference becomes a fact. Facts get cited. Inferences get hedged.
Two: Knowledge Graph lookups now feed every major AI engine, not just Google. When ChatGPT, Perplexity, or Claude wants to verify a brand entity, they reach for structured data first. Your schema is the seed for that lookup.
Three: Search Console started reporting AI Overview impressions per page in 2026. The pages that get pulled into AI Overviews are heavily skewed toward those with rich schema. Empirically, on our retainer clients, pages with full Service + LocalBusiness + BreadcrumbList schema get cited 2-3x more often in Google AI Overviews than pages with just Organization.
For the broader strategy, see our how to rank in Google AI Overviews guide.
The schema priority order for AEO
Not all schema is equally valuable. If you have limited time, ship in this order.
| Priority | Schema | Where it lives |
|---|---|---|
| 1 | Organization or LocalBusiness | Site-wide (homepage at minimum) |
| 2 | WebSite | Site-wide |
| 3 | BreadcrumbList | Every internal page |
| 4 | Service | Each service page |
| 5 | Article + Author | Each blog post |
| 6 | DefinedTerm + DefinedTermSet | Glossary pages (if you have them) |
| 7 | Person | Author bios |
| 8 | AggregateRating + Review | Pages where reviews are real |
| 9 | FAQPage | Selectively (see warning below) |
| 10 | HowTo | Procedural content (selectively) |
Skip what you do not have evidence for. Faked AggregateRating is worse than no AggregateRating because Google has explicit penalties for it.
1. Organization or LocalBusiness (the foundation)
If you have a physical location or a service area, use LocalBusiness. If you are a fully remote brand, use Organization.
A complete LocalBusiness block:
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"@id": "https://orkkid.com#organization",
"name": "Orkkid",
"legalName": "Orkkid Pty Ltd",
"url": "https://orkkid.com",
"logo": "https://orkkid.com/orkkid-logo.png",
"description": "Melbourne-based web design, SEO, and Answer Engine Optimization studio for Australian service businesses.",
"telephone": "+61499999137",
"email": "ned@orkkid.com",
"foundingDate": "2024",
"founder": {
"@type": "Person",
"name": "Ned Mehic"
},
"address": {
"@type": "PostalAddress",
"addressLocality": "Melbourne",
"addressRegion": "VIC",
"addressCountry": "Australia"
},
"areaServed": {
"@type": "Country",
"name": "Australia"
},
"sameAs": [
"https://www.linkedin.com/company/orkkid",
"https://www.facebook.com/profile.php?id=61571972907198",
"https://www.instagram.com/orkkidweb/"
]
}
The fields that matter most for AI engines:
nameandlegalNamedisambiguate the brand@idgives the entity a stable URI you can reference from other schemasfounder(Person) unlocks the personal-brand signal which drives E-E-A-TsameAsis the single most important field for entity SEO. It links your brand to your social profiles, Wikipedia, Crunchbase, Wikidataaddress+areaServedanchor your geographic relevance
The sameAs trick
If you can get your business listed on Wikipedia, Wikidata, Crunchbase, or LinkedIn Company, add those URLs to sameAs. This is the most undervalued lever for Knowledge Graph inclusion in 2026. AI engines treat sameAs as proof of entity existence.
For more on the brand-entity side, read brand mentions: the underrated AEO signal.
2. WebSite (the search-box hint)
Every site should declare itself.
{
"@context": "https://schema.org",
"@type": "WebSite",
"url": "https://orkkid.com",
"name": "Orkkid",
"publisher": { "@id": "https://orkkid.com#organization" },
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://orkkid.com/search?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}
The SearchAction block enables sitelinks search box in Google, which AI engines cite as a navigation aid.
If you do not have an internal search, drop the potentialAction block. Just declare the WebSite entity and link it to Organization via publisher.
3. BreadcrumbList (every internal page)
The single most under-deployed schema across Australian service business sites in 2026.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://orkkid.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "AEO",
"item": "https://orkkid.com/aeo"
},
{
"@type": "ListItem",
"position": 3,
"name": "Melbourne"
}
]
}
Notes:
- Last item has no
itemURL because it is the current page - Position is 1-indexed
- Use the Display Name users would actually click in nav, not the URL
The duplicate-breadcrumb trap
A common bug we see (and one we just fixed on our own site, see our SEO audit report): emitting two BreadcrumbList JSON-LD blocks per page, one inline in the page metadata and one from a <Breadcrumbs> component. Google flags duplicates as ambiguous markup.
If you use a breadcrumb component on a Next.js or React site, that component should own the schema. Strip any inline generateBreadcrumbSchema calls.
4. Service (every service page)
Service schema explicitly declares what you offer, who you serve, and where.
{
"@context": "https://schema.org",
"@type": "Service",
"name": "Answer Engine Optimization",
"serviceType": "Answer Engine Optimization",
"provider": { "@id": "https://orkkid.com#organization" },
"areaServed": {
"@type": "Country",
"name": "Australia"
},
"description": "Get cited inside ChatGPT, Perplexity, Gemini, Claude, and Google AI Overviews. Australian service business specialists.",
"offers": {
"@type": "Offer",
"availability": "https://schema.org/InStock",
"price": "0",
"priceCurrency": "AUD",
"description": "Free AI citation audit"
}
}
For multi-city services, you can declare areaServed as an array of City objects. The location pages on this site (e.g. /aeo/melbourne) declare a City-scoped Service so Google picks up the geographic specificity.
5. Article + Author (every blog post)
The right type depends on what kind of content. BlogPosting for blog posts; NewsArticle for time-sensitive news; Article is the safe fallback.
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "AEO Schema Markup: The Complete Guide for 2026",
"description": "Every schema type that matters for AEO in 2026...",
"image": "https://orkkid.com/blog/aeo/llms-txt-guide.jpg",
"datePublished": "2026-05-08",
"dateModified": "2026-05-08",
"author": {
"@type": "Person",
"name": "Ned Mehic",
"url": "https://orkkid.com/about"
},
"publisher": { "@id": "https://orkkid.com#organization" },
"mainEntityOfPage": "https://orkkid.com/blog/aeo-schema-markup-complete-guide-2026"
}
The fields AI engines pay most attention to:
authoras a Person withurl: links the article to a real human, the foundation of E-E-A-TdatePublished+dateModified: AI engines down-weight stale contentmainEntityOfPage: declares the article's canonical home
For the writing side, see how to write content that AI will cite.
6. DefinedTerm + DefinedTermSet (glossaries)
If you have a glossary or any structured term-definition content, this is your hidden weapon. AI engines specifically look for DefinedTerm schema when answering "what is X" queries.
{
"@context": "https://schema.org",
"@type": "DefinedTerm",
"@id": "https://orkkid.com/glossary/answer-engine-optimization",
"name": "Answer Engine Optimization",
"alternateName": ["AEO"],
"description": "Answer Engine Optimization is the practice of structuring your website, content, and brand signals so that AI engines like ChatGPT, Perplexity, and Gemini cite your business by name when answering user questions.",
"url": "https://orkkid.com/glossary/answer-engine-optimization",
"inDefinedTermSet": {
"@type": "DefinedTermSet",
"@id": "https://orkkid.com/glossary",
"name": "Orkkid AEO & SEO Glossary",
"url": "https://orkkid.com/glossary"
}
}
The full set declaration on the glossary index page:
{
"@context": "https://schema.org",
"@type": "DefinedTermSet",
"name": "Orkkid AEO & SEO Glossary",
"url": "https://orkkid.com/glossary",
"hasDefinedTerm": [
{ "@id": "https://orkkid.com/glossary/answer-engine-optimization" },
{ "@id": "https://orkkid.com/glossary/llms-txt" }
]
}
This is one of the lowest-saturation schema types in 2026, which means easy wins. Most agencies are not using it. We use it on every entry of our glossary.
7. The FAQPage trap
This is where we have to be honest with you.
Google restricted FAQPage rich result eligibility in August 2023 to "well-known authoritative sites" (government, health, financial). For most service businesses, FAQPage no longer earns rich results in Google search.
But many SEO plugins and agencies still emit FAQPage schema everywhere. Why?
Two reasons. One: it does not actively hurt. Two: AI engines other than Google still parse it usefully when answering FAQ-style questions.
Our take: emit FAQPage schema on at most 2-3 of your most authoritative pages, where the FAQs are real and substantive. Do not emit it on every service page out of habit. The signal is diluted when overused.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How long does an AEO program take to show results?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Most Australian service businesses see first measurable citation share movement within 4 to 8 weeks if they have existing Google authority. New domains take 3 to 6 months."
}
}
]
}
8. AggregateRating + Review (when honest)
If you have real reviews, declare them. If you do not, do not fake them. Google penalises fake AggregateRating with manual actions that can take months to recover from.
{
"@type": "AggregateRating",
"ratingValue": "4.9",
"bestRating": "5",
"worstRating": "1",
"reviewCount": "47"
}
Embed this inside the Organization or Service block. Pull reviewCount from your real Google Business Profile or another verifiable source. If your review count is under 10, omit AggregateRating entirely; you are not at statistical mass yet.
How to install schema
Three options, ranked by safety.
Option 1: server-rendered JSON-LD (best)
In Next.js, render a <script type="application/ld+json" dangerouslySetInnerHTML={...} /> from the page server component. Schema is in the HTML on first byte. Every crawler, every AI engine, sees it.
Option 2: SchemaMarkup component
Wrap option 1 in a reusable component. This is what we do on this site. The same <SchemaMarkup> pattern serves Organization, Service, BreadcrumbList, Article, and DefinedTerm consistently across templates.
Option 3: Tag manager (avoid for AEO)
Google Tag Manager can inject schema, but the AI crawlers that respect static HTML over JS-executed pages will miss it. Avoid for AEO.
How to validate
Three free tools, in order of usefulness:
- validator.schema.org — strict syntactic validation
- Google Rich Results Test — Google-specific eligibility check
- Search Console Enhancements report — shows which pages have which schemas indexed
Run all three on every template type at least once a quarter.
Schema for AEO specifically (vs traditional SEO)
The TL;DR difference: traditional SEO cares about which schemas earn Google rich results. AEO cares about which schemas help AI engines extract facts about your brand.
Some types matter for both (Organization, Service, BreadcrumbList). Some matter more for AEO than traditional SEO (DefinedTerm, sameAs links, Person founder). Some used to matter for traditional SEO and now matter mostly for AEO (FAQPage).
The full list, prioritised by AEO impact, is the table at the top of this guide. Work down it in order.
Frequently asked questions
Does schema directly improve rankings?
Not directly. Schema is a clarification signal, not a ranking factor. But schema enables rich results, AI Overview eligibility, and Knowledge Graph inclusion, all of which produce indirect ranking and visibility lifts.
Can I have too much schema?
Theoretically yes (validator errors degrade quality). Practically, no. Most sites are dramatically under-marked-up.
What about schema for AI specifically?
There is no AI-specific schema namespace yet. The schema.org vocabulary is what AI engines use. Some agencies push proprietary schema for "AI optimization"; ignore them.
How often should I refresh schema?
Re-validate quarterly. Update fields whenever the underlying business changes (new service, new founder, new address, new clients).
Is schema enough on its own?
No. Schema is necessary but not sufficient. You also need crawler access (robots.txt), citable content (passage-level rewrites), and brand signals (brand mentions). See the 30-day AEO launch playbook for the full sequence.
If you want us to audit your current schema and tell you exactly what to fix, book a free AI citation audit. For a working JSON-LD now, use our Schema Generator.
For deeper context, read the GEO SEO complete guide, our glossary, and AEO services overview.


