Schema, llms.txt and Structured Outputs: What Each Is Good For
Schema.org helps search engines, llms.txt can guide agents and Structured Outputs enforce a format. Four layers that are often confused.
Schema markup, taxonomies, JSON Schema and llms.txt are often lumped together in discussions about AI. They all structure information, but they operate at different points. Separating them makes it easier to decide what a website or AI workflow actually needs.
The short version:
| Layer | Job | What it does not do |
|---|---|---|
| Taxonomy | Organize terms and categories | provide a technical output format |
| JSON Schema / Structured Outputs | Define and validate the shape of a model output | guarantee correct values |
| Schema.org markup | Explicitly mark up page content for search systems | provide a demonstrated direct lever for LLM citations |
llms.txt |
Curate important content for agents | control access or act as a ranking factor |
Schema.org as a search signal
JSON-LD can describe entities and page content to search engines in a standardized form. Google uses structured data, among other things, to understand pages for Rich Results. The markup must match the visible content; even correct markup does not guarantee a special search presentation.1
According to Search Central, Google AI Overviews and AI Mode have no additional technical requirements. Structured data is not required for these features. Crawlable pages, helpful visible content and the usual search fundamentals remain decisive.2
Neither “Schema produces AI citations” nor “LLMs cannot read Schema” follows from this. You will often hear something like Michael Curtis's line in SEO circles: “The whole point of LLMs is that they understand free text.” There is a kernel of truth there. Models are built for running text, not dependent on schema. But that is not erasure. Tokenization breaks text into fragments; it does not destroy the JSON structure. Whether a crawler processes JSON-LD and whether an answer system later uses the signal depends on its pipeline. The defensible advice is unspectacular: state visible facts clearly and add matching Schema.org markup.
Taxonomy, JSON Schema and Structured Outputs
For model outputs, structure begins one level earlier. A taxonomy defines the content: permitted categories, their meaning and the boundaries between similar labels. JSON Schema then describes the form, such as field names, data types, required fields and allowed values. Structured Outputs pass that schema technically to a supported model API.
A small content-review workflow might use this taxonomy:
claim_type: benefit, entitlement, deadline, contact or lawevidence_status: supported, unclear, contradictory or missingrisk: low, medium or high
The output schema specifies that every review needs a category, a status and a supporting quotation:
{
"type": "object",
"properties": {
"claim_type": {
"type": "string",
"enum": ["Benefit", "Entitlement", "Deadline", "Contact", "Law"]
},
"evidence_status": {
"type": "string",
"enum": ["supported", "unclear", "contradictory", "missing"]
},
"source_quote": { "type": "string" },
"review_required": { "type": "boolean" }
},
"required": ["claim_type", "evidence_status", "source_quote", "review_required"],
"additionalProperties": false
}
This makes outputs more comparable and technically validatable. It does not yet make them factually correct. A model can return valid JSON with the wrong category or an unsuitable quotation. The workflow therefore needs two checks: first against the JSON Schema, then against the source or test set. Regulated claims also require human approval. Provider documentation for Structured Outputs likewise notes that schema compliance does not guarantee factual correctness.34
This JSON Schema has nothing to do with Schema.org markup on a website. The same word refers to two different tools.
llms.txt as a signpost for agents
llms.txt is a proposal, not a ratified web standard. The current version 2 describes a small Markdown overview that guides agents to important content. This is especially plausible for extensive software documentation. Detail pages can additionally be linked as Markdown or offered through content negotiation.5
An everyday image helps here, as long as you don't lean on it too hard. Think of a janitor, standing in for an agent, sent to tidy up your house, your website. robots.txt is the "Do Not Enter" sign on certain doors, a real access signal. llms.txt, by contrast, is just a voluntary note taped to the entrance: "The important stuff is on the table in the living room." Whether the janitor reads the note, follows it, or gets the job done any faster because of it varies from agent to agent, and nothing guarantees any of it.
The distinction from existing web mechanisms matters:
| File or signal | Job |
|---|---|
robots.txt |
Control crawler access |
sitemap.xml |
List URLs for discovery |
| Schema.org / JSON-LD | Mark up visible page content in a structured form |
llms.txt |
Curate selected content for agents |
According to its own guidance, Google Search does not use llms.txt for visibility or rankings. Chrome and Lighthouse, by contrast, treat the file as an optional convention for agentic browsing; if it is missing, the check is not automatically an error.26 There is no contradiction here. Search ranking and agent navigation are different use cases.
Adoption so far does not demonstrate an effect either. An SE Ranking analysis of almost 300,000 domains found llms.txt on 10.13 percent of its sample, but no correlation with the LLM citation frequency it examined.7 That is a vendor analysis, not a census of the web or evidence of causality.
What my website actually demonstrates
This website has an llms.txt. HTML remains the default format; selected pages can also be requested as Markdown through the same URL path:
curl -sS -D - \
-H 'Accept: text/markdown' \
-o /dev/null \
https://martin-moeller.biz/en/lab/ai/controlling-understanding-schema-llms-txt
In a check on August 15, 2026, the page returned Content-Type: text/markdown and Vary: Accept. This demonstrates technically that a client can request a Markdown representation. It does not demonstrate that Google, ChatGPT or Claude will cite the page more often as a result.
That distinction is what makes the implementation useful as a work sample: robots.txt controls access, llms.txt curates entry points, content negotiation supplies another representation, and the visible article remains the source of the content.
When the effort is worthwhile
- Schema.org markup is worthwhile when Google documents a suitable type and a useful search presentation for the content.
- A taxonomy plus JSON Schema is worthwhile as soon as multiple model outputs need to be compared, reviewed or processed further in code.
- Structured Outputs are worthwhile when the selected API can enforce the schema technically.
llms.txtis worthwhile when important content is deliberately curated for agents and the links are kept current.
A blanket “add it, it cannot hurt” is too simplistic. Every additional layer can become outdated. Without maintained targets, the signpost quickly becomes a list of broken links or false priorities. For my own llms.txt, that keeps it a bet, not a tool: I maintain it because the effort is low, not because I can point to a measurable effect.
For search visibility, the GEO Playbook remains the broader framework. This article is about the technical boundary: what can be marked up, validated or delivered, and what has not thereby been proven?
The short version
- Schema.org markup is a search signal for Google, not a documented citation lever for LLMs.
llms.txtis an optional proposal for agents, not a ranking factor and not an access signal likerobots.txt.- JSON Schema and Structured Outputs govern the shape of a model output. They say nothing about whether it is factually correct.
- My own website serves
llms.txtand a Markdown representation. That is technically demonstrated, not a citation guarantee. - All four layers are worth different amounts of effort. A blanket “add it, it cannot hurt” is too simplistic.