Structured Data for AI: The Schema.org Markup Answer Engines Read

A 30-second JSON-LD primer, the schema types worth adding, a copy-paste FAQPage example, and the free validators that catch your mistakes.

Updated September 19, 2026 · 8 min read · part of the GEO guides

JSON-LD in 30 seconds

JSON-LD is structured data written as JSON and placed in a <script type="application/ld+json"> tag in your page's head or body. It is a machine-readable fact layer sitting on top of your visible content: this is an article, written by this author, published on this date, answering these questions, selling this product at this price. Unlike microdata, it requires no changes to your HTML elements — one self-contained block describes the whole page.

Search engines have parsed this layer for over a decade to build rich results. Answer engines read it alongside your visible text to establish what a page is, who wrote it and what it answers, without guessing from prose alone.

What AI engines actually do with it

Honest positioning first: no AI engine has published documentation confirming exactly how its models consume schema.org markup, and anyone claiming "ChatGPT requires FAQPage schema" is speculating.

What we do know is that structured data solves two problems language models are genuinely bad at: disambiguation and entity alignment. Is "Mercury" the planet, the element or the defunct car brand? Is the "J. Smith" who authored this page the same person quoted elsewhere? A machine-readable block stating "this is an Article, written by this Person, published by this Organization, on this date" removes the guesswork. Structured facts are cheap for an extraction pipeline to pull, reliable to store and easy to attribute — all of which help your page get cited correctly instead of paraphrased into mush.

The effort is also not speculative: the same markup drives Google rich results today. FAQ rich results, HowTo steps, breadcrumbs and product stars are all schema-powered. You build one layer that pays off in classic search immediately and positions you for answer engines as their pipelines mature.

The types worth your time

TypeWhat it tells the machine
ArticleThis is editorial content, with a headline, named author and dates attached.
FAQPageThese question-and-answer pairs are complete, standalone answers.
HowToThis is a step-by-step task with an ordered sequence and required tools.
OrganizationThis is who operates the site: legal name, logo and sameAs profiles.
PersonThis named author is a real entity with a role and a profile elsewhere.
ProductThis is a thing you sell, with price, availability and reviews.
BreadcrumbListThis is where the page sits in the site hierarchy.

If you add only one, add FAQPage. It maps directly onto how answer engines assemble answers, and it only works when the page already contains real question-and-answer content — which is exactly the approach described in the content structure guide.

A complete FAQPage example

This is valid JSON-LD you can adapt and paste into any page that visibly contains the same question-and-answer text:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Can I allow ChatGPT search but block AI training?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. GPTBot handles training and OAI-SearchBot handles search. Allow OAI-SearchBot in robots.txt while disallowing GPTBot, and the two policies stay independent."
      }
    },
    {
      "@type": "Question",
      "name": "How long does a robots.txt change take to apply?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Crawlers re-read robots.txt on every fetch cycle, so policy changes usually take effect within days rather than months."
      }
    }
  ]
}
</script>

Notice what makes it valid: @context declares the vocabulary, every question matches visible text on the page, and each answer is complete on its own. Generate this block automatically with the free Schema generator instead of hand-writing JSON and hoping for the best.

Validate before you ship

Two free checkers cover everything. The Google Rich Results Test fetches a live URL and reports which rich result types the page qualifies for. The Schema.org validator parses raw JSON-LD and flags syntax and nesting errors against the vocabulary itself. Run both: one checks eligibility for Google features, the other checks that your markup is technically clean. A block that fails validation is ignored entirely — parsers do not partially repair broken JSON.

Common mistakes

Where to go next

Schema is one of several machine-first files a site should maintain — see how llms.txt complements it, and how both fit into the full workflow in the GEO overview. If you are targeting one engine specifically, the ChatGPT optimization guide covers what ChatGPT's crawlers and answer pipeline reward.

Frequently asked questions

Does schema.org markup directly improve AI citations?

No engine officially confirms using it for selection or ranking, so treat any such claim as unproven. What it verifiably does is remove ambiguity about what your page and entities are, which supports correct attribution, and it drives Google rich results today. It is a low-cost, high-certainty layer, not a citation switch.

Where exactly do I put the JSON-LD block?

Inside a script tag with type application/ld+json, in the head or body of the page — position does not matter to parsers. One page can carry multiple blocks, such as an Organization block plus an FAQPage block, as long as each is independently valid.

Is JSON-LD better than microdata or RDFa?

For most teams, yes. JSON-LD lives in one self-contained block your template outputs, so it never entangles with your HTML markup and is far easier to generate, validate and maintain. Google's own documentation recommends it, and any pipeline that reads schema.org reads JSON-LD.

How often do I need to update my structured data?

Update it whenever the underlying facts change: dates, prices, answers or authors. The markup must always mirror visible content. Beyond that, the vocabulary itself changes slowly, so an annual review of types and required properties is usually enough.

Keep reading

See what AI engines can see on your site

Audit your robots.txt against 61 AI crawlers in seconds — free, no signup, runs entirely in your browser.