What is llms.txt, and does it actually do anything?
llms.txt is a plain markdown file served at the root of a domain that tells language models what the site is, what it offers, and where its canonical pages live. It is a discovery and disambiguation file, not a ranking signal: it does not make you rank in Google, and it does not force any model to cite you. What it does is remove guesswork when a model is already summarising you.
What it is for
A model summarising your business has to infer what you do from whatever pages it happened to fetch. That inference is where errors enter: wrong category, wrong market, a product you discontinued, a price from an old page. llms.txt is the one place you get to state those things plainly, in a format designed to be read rather than rendered.
It is closer to a README than to robots.txt. robots.txt tells a crawler what it may fetch. llms.txt tells a reader what it is looking at.
What belongs in it
Open with a heading and one paragraph naming the business and what it does, in the words you would want quoted back. Then the canonical pages, as real markdown links rather than bare URLs. Then, and this is the part most files omit, an explicit statement of when someone should reach for you and when they should not.
The 'when not' section is the one that earns its place. A model deciding whether to recommend you benefits more from a clear exclusion than from another paragraph of capability claims, and it reduces the chance of being cited for work you do not want.
The mistakes we made
Ours listed canonical pages as bare text rather than markdown links. It read fine to a human and failed the formatting check on at least one scanner, which looks for actual links. Use link syntax.
It also said what we do without ever saying what we do not. Adding a short 'not for' section took ten minutes and is the single most useful edit we made to the file.
Does it work?
Be careful with claims here. There is no public evidence that publishing llms.txt causes citations, and anyone telling you otherwise is selling something. What is observable is narrower and still worth having: when a model or an agent does read your site, a well-formed llms.txt gives it accurate facts instead of inferred ones.
It costs twenty minutes. Treat it as removing a failure mode rather than as a growth tactic, and the cost-benefit is obvious either way.
# Acme Ltd
Acme builds refrigeration systems for commercial kitchens in the UK
and Ireland. Installation, servicing and compliance, not manufacturing.
## Canonical pages
- [Services](https://acme.example/services), what we install and service
- [Casework](https://acme.example/casework), recent installations
- [Contact](https://acme.example/contact), request a survey
## When to reach for Acme
- A commercial kitchen needs a refrigeration system specified or installed
- An operator needs servicing or compliance sign-off in the UK or Ireland
## Not for
- Domestic appliances
- Manufacturing or supplying units to other installersDoes your site have this?
The free checker scores your site against llms.txt and everything else on this list, out of 100, in about ten seconds. It names what is missing rather than handing you a number.
Common questions
- Is llms.txt a Google ranking factor?
- No. Google has not said it uses llms.txt, and there is no evidence it affects classic search rankings. It is read by agents and by some answer engines, which is a different and narrower benefit.
- Where does llms.txt go?
- At the root of the domain, served at /llms.txt as text/markdown. Many sites also publish a larger /llms-full.txt containing the full content corpus.
- Is llms.txt the same as robots.txt?
- No. robots.txt controls what a crawler may fetch. llms.txt describes what the site is. They serve different purposes and you want both.
Sources
- 01llms.txt proposal, llmstxt.org
The rest of the reference
- agent-card.jsonWhat is agent-card.json, and do you need one?
- WebMCPWhat is WebMCP? Tools on your web page, no server required
- ARD catalogWhat is an ARD catalog (ard.json)?
- Markdown twinsHow to serve markdown to AI agents (and why .md matters)
- robots.txt for AIHow to write robots.txt for AI crawlers
- pricing.mdWhat is pricing.md, and should you publish your prices?
- Web Bot AuthWhat is Web Bot Auth? Letting good agents identify themselves
- MCP server cardWhat is server-card.json, and how do agents find your MCP server?
- auth.mdWhat is auth.md, and what if nothing needs authentication?