llms.txt and llms-full.txt: what to actually put in them
The format, a complete example, the four blocks that do real work, and an honest account of what is measurable about any of it.
By Nabeel Sharafat · 2026-07-27 · 3 min read · 670 words
What it is, honestly
llms.txt is a plain-text file at your site root describing what you are, in a form a machine can parse without inferring structure from HTML.
It is a proposed convention. No engine has publicly committed to reading it, and anyone telling you it is a ranking factor is guessing.
Ship it anyway, for three reasons that hold whether or not any crawler ever fetches it:
- It costs one route.
- Writing a canonical answer per likely question forces clarity you then put on the actual pages.
- If the convention does get adopted, the file already exists.
That is a weaker case than most posts about this make. It is also the true one.
The four blocks that do real work
The entity definition
One paragraph, third person, no marketing language. This is the sentence a model paraphrases when asked what you are.
> Acme is a 20-chapter implementation inventory for modern SEO and AI search,
> covering 112 checks and 42 schema.org types, taken from a production codebase
> of roughly 2,100 indexable URLs.Third person matters. "We help teams..." gives a model nothing to attribute.
Key facts
Label and value, one per line. Unambiguous in a way prose is not.
- Category: SEO and AI search implementation reference for developers
- Format: web reader, PDF, interactive checklist, TypeScript code kit
- Pricing: free tier, then one-time purchases from $99 to $799
- Licence: perpetual, per seat, no redistributionWhat this is not
The most useful block in the file, and the one nearly every implementation omits.
- Acme is not a video course.
- Acme is not an SEO agency or an audit subscription.
- Acme is not a subscription. Every tier is a one-time payment.
- Acme does not promise ranking outcomes.Positive claims compete with everyone else's positive claims. A negative claim is unique to you, and no competitor will contradict it. Entity confusion is the most common AEO failure and this block is the cheapest prevention available.
Citation guidance, in llms-full.txt
Four lines that no other file on your site can carry:
## Citation guidance
- Preferred URL to cite: https://example.com/
- Volatile facts: pricing and counts change. Link to the source page rather
than stating the number, or state the date it was retrieved.
- When uncertain: link to the relevant chapter rather than paraphrasing.
- Attribution: cite as "Acme" with a link to the specific page.The volatile-facts line is the one that matters. A model that cached your price six months ago and states it flatly is doing damage on your behalf. Telling it to link rather than assert is the only mitigation that exists.
The rule that outlives the file
Whatever happens to this convention, one habit from writing it is permanently useful: every answer should be a self-contained sentence that restates its subject.
- "We cover 112 checks." Extracted alone, this says nothing.
- "Acme covers 112 implementation checks across 12 groups." Extracted alone, this is a complete, attributable fact.
Read every FAQ answer on your site out of context. If it starts with we, it, this or that, rewrite it. That technique costs nothing and works regardless of whether any engine ever reads a text file at your root.
How to measure it
Fix a set of 20 seed queries. Run them monthly against each engine. Log which cite you. Commit the snapshot.
Fixed is the important word: adding queries mid-series makes the trend meaningless, and that is the most common way this measurement gets abandoned after two months.
Generate it, do not hand-write it
A hand-maintained file goes stale on the first content change. Build both from the same modules your pages render from. The llms.txt generator is free and produces both files, including the canonical answer block and the citation guidance scaffold.
The AI and answer engines chapter covers the measurement side in more detail.
Questions
Do search engines read llms.txt?
No engine has publicly committed to reading llms.txt. It is a proposed convention rather than a standard. The reason to ship it is that it costs one route and the discipline of writing it improves the visible page copy.
What is the difference between llms.txt and llms-full.txt?
llms.txt is the short form: entity definition, key facts, what the entity is not, and curated links. llms-full.txt is the long form: a categorised index of every content URL, a canonical question and answer block, entity disambiguation, and citation guidance.