Structured data has been a search-optimization staple for over a decade, mostly in service of rich results — star ratings, recipe cards, event listings. Its role in AI search is different: instead of decorating a result, it's disambiguating your content for a machine that has to decide, in milliseconds, whether your page contains the answer to a question.
Here's what that means in practice, and which schema types actually earn their keep.
Why schema matters more, not less, in an AI-mediated search
A retrieval pipeline behind an AI assistant has to do two things fast: find candidate pages, and extract a clean, attributable answer from the ones it selects. Well-formed JSON-LD helps with both. It gives the system an unambiguous, pre-parsed version of your headline, your author, your publish date, and — critically — your questions and answers, instead of forcing it to infer structure from raw HTML.
That matters because AI systems have a strong incentive to avoid hallucination-by-misparse: quoting the wrong paragraph, misattributing a claim, or citing stale content. Clean structured data reduces the chance your page gets skipped for being ambiguous.
FAQPage: the highest-leverage type
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is generative engine optimization?",
"acceptedAnswer": {
"@type": "Answer",
"text": "GEO is the practice of structuring content so AI systems are more likely to cite it when answering a related question."
}
}
]
}
FAQPage schema works because it mirrors the actual shape of a prompt-and-answer exchange. Keep answers self-contained — a reader (human or model) should understand the answer without needing the surrounding page for context. Avoid stuffing every FAQ with marketing copy; answer the question directly in the first sentence.
Article schema: establishing provenance
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Schema Markup for AI Search",
"datePublished": "2026-08-08",
"dateModified": "2026-08-08",
"author": { "@type": "Organization", "name": "The SEO Xpert" },
"publisher": { "@type": "Organization", "name": "The SEO Xpert" }
}
datePublished and dateModified give retrieval systems a freshness signal — useful for time-sensitive queries where an AI assistant needs to prefer recent content over an older, higher-authority page. Keep dateModified honest: update it only when you meaningfully revise the content, not as a ranking trick. Systems that detect fake freshness signals tend to discount the source going forward.
Speakable: built for voice, useful for AI
{
"@context": "https://schema.org",
"@type": "WebPage",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".article-summary", ".key-takeaways"]
}
}
Speakable was designed for smart speakers reading news aloud, but the underlying idea — explicitly marking the most quotable, self-contained summary on the page — is exactly what an AI system also needs. Point it at your summary paragraph and key-takeaways block rather than the full article body; you want to flag the most extractable content, not all of it.
Common mistakes that undermine schema
- Marking up content that isn't visible on the page. Structured data should describe what a reader actually sees. Search engines and AI crawlers both treat markup-content mismatches as a spam signal.
- Leaving broken or invalid JSON-LD in production. A single trailing comma breaks the entire block. Validate every template change, not just on launch day.
- Duplicating conflicting schema. If a page has two
Articleblocks with differentdatePublishedvalues, you've handed the retrieval system a coin flip instead of a signal. - Treating schema as a substitute for good writing. Markup describes your content; it doesn't fix content that's vague, unstructured, or thin. Fix the writing first, then mark it up.
Schema markup is a small, mechanical piece of a much larger GEO practice — but it's the piece most sites get wrong for free, and fixing it costs a template change, not a content rewrite.




