Schema markup
The Schema.org vocabulary and the JSON-LD you embed with it, what it is genuinely good for, and the limits of what it can make happen.
Karl-Gustav Kallasmaa, Founder & CEOLast updated Schema markup is structured data written using the Schema.org vocabulary and embedded in a page so that machines can read its facts without inferring them from prose. Google defines structured data as a standardized format for providing information about a page and classifying the page content, and recommends JSON-LD as the easiest solution for website owners to implement and maintain at scale.
The vocabulary is larger than most people assume and smaller than it looks in practice. Schema.org reports that version 30.0, dated 19 March 2026, consists of 823 types, 1,529 properties, 19 datatypes, 96 enumerations and 535 enumeration members. Of those, only a modest subset is actually consumed by any given search feature, which is why "use more schema types" is rarely useful advice.
What it is genuinely for
Structured data buys eligibility, not advantage. Google's introduction to structured data frames it as including all required properties to be eligible for appearance in Google Search with enhanced display. Eligibility is a gate, not a lever: passing it does not promise the enhanced result, and no amount of extra markup pushes harder.
There is a second, quieter benefit that survives every algorithm change. Writing a Product, Organization, FAQPage or Article block forces you to commit to explicit values — a price, a date, an author, a name — in one place, in a form that cannot be hedged. Pages that can state their facts explicitly tend to be pages that state them explicitly in the prose too, and prose that states facts explicitly is prose an answer can quote.
The rule that gets sites in trouble
Google's guidance is blunt: do not add structured data about information that is not visible to the user, even if the information is accurate. The markup must describe what the reader actually sees.
That single rule accounts for most structured data penalties and most wasted effort. Marking up reviews that do not appear, prices the page does not show, or an FAQ block with questions no visitor is offered is not an optimisation with a small risk attached; it is outside the guidelines as written. If you want the benefit, put the content on the page first and describe it second.
How it differs from llms.txt and from a sitemap
Three files get grouped together as "machine-readable metadata" and do different jobs.
- Schema markup describes the meaning of what is on one page: this string is a price, this person is the author.
- An [XML sitemap](/glossary/xml-sitemaps) describes what exists and when it last changed. It carries no meaning about content.
- llms.txt is a proposed convention for pointing language models at a curated set of documents. It is a proposal rather than a standard, and it is not an access control. Structured data vs llms.txt and llms.txt vs robots.txt compare them properly.
None of the three grants access. That decision belongs to robots.txt and the serving rules, and a beautifully marked-up page that a crawler may not fetch is invisible in exactly the same way an unmarked one is.
How to act on it
- Start with the types tied to a feature you actually want, and implement their required properties completely. Partial markup earns nothing.
- Use JSON-LD, kept in one block, generated from the same data that renders the page. Markup maintained separately from the page drifts within a quarter.
- Validate on real URLs, not on pasted snippets, so you test what is served rather than what you intended.
- Mirror only what is visible. If a value is not on the page, either add it to the page or drop it from the markup.
- Do not expect it to unlock AI citation. Google states there are no additional requirements or special optimizations for its AI experiences; the eligibility that matters there is being indexed and snippet-eligible. See AI overview.
Frequently asked questions
How large is the vocabulary?
At version 30.0, 823 types, 1,529 properties, 19 datatypes, 96 enumerations and 535 enumeration members.
Which syntax should I use?
JSON-LD, which Google recommends as easiest to implement and maintain at scale.
Does it improve rankings?
No. It creates eligibility for particular presentations when the required properties are present.
Can I mark up things the page does not show?
No. Google's guidance forbids structured data about information not visible to the user.
Terms related to Schema markup
The two separate stages that decide whether a page can be retrieved at all, and the reason a serving rule on a blocked page is never read.
A machine-readable list of the URLs you want discovered, bounded by the protocol at 50,000 URLs and 50MB per file, and a hint rather than an instruction.
Google's AI-generated summary at the top of a results page, and the snippet controls that decide whether your page can appear inside one.
Retrieval by meaning rather than by matching strings, what it is genuinely better at, and the class of query where it reliably fails.