llms.txt vs robots.txt: two files that never overlap
What each one is for
robots.txt is about access. It tells a crawler which paths it may fetch. It is subtractive by nature, it has an established format that predates most of the web anyone remembers, and the major crawlers honour it as a matter of long practice. The depth of it belongs to BotBridge, which documents the request path.
llms.txt is about content. It offers a reader the site's own account of what it is and where its important pages are. Nothing about it is enforced: the format is a proposal, and honouring it is a choice each reader makes for itself.
One says what may be fetched. The other says what is worth reading. A file cannot do both, and neither tries.
Where the confusion comes from
Three surface facts do the damage: same location, same file type, same audience in the loosest sense. Add an era in which everybody is being told to "do something about AI crawlers", and two unrelated files end up in the same sentence.
The other source is the name. llms.txt echoes robots.txt closely enough that people assume a family resemblance and then assume a shared mechanism. There is none. The naming is a convention borrowed for recognisability, not a statement that the files work alike.
What robots.txt does and llms.txt cannot
It can keep a crawler out of a path. Nothing in llms.txt withholds anything; listing a page there does not open it, and omitting a page does not close it.
It is honoured by the major crawlers. Decades of practice have made compliance the default among the major ones, and llms.txt has nothing comparable behind it.
It is unambiguous about intent. A disallowed path is a statement with an agreed meaning, and both sides know what was claimed.
What llms.txt does and robots.txt cannot
It describes rather than restricts. A crawler reading robots.txt learns where it may go and nothing about what it would find; the summary is the only place a site says what it is in its own words.
It orders things. A list written by the site puts the important pages first, which no access rule can express.
It survives a navigation built for people. Menus hide structure behind interaction, and a flat list does not.
None of that is enforcement, and none of it is measurable the way an access rule is. It is an offer, and its value depends on the reader choosing to take it.
Using both
They never contradict each other, because they answer different questions. A page can be disallowed and still be described, though that combination is usually a mistake worth noticing: it tells a reader the page matters and then refuses it the page.
The one real interaction is the reverse. A file that is itself blocked cannot be read, and an llms.txt sitting behind a rule that challenges unfamiliar clients has stopped existing for exactly the readers it was written for. Fetching it the way an outside reader would is the whole of the available check.
Beyond that, treat them as independent. Changing one is never a reason to change the other.
The question that actually matters
"Which file do I need" is the wrong question because it assumes a choice. The useful pair of questions is different.
What should nobody fetch?
That is an access decision, it is old, it has an established answer, and it belongs in
robots.txt.What would I say if a machine asked what this site is?
That is an editorial decision, it is new, it has no enforcement behind it, and it belongs in
llms.txt.
A site that answers only the first is invisible in its own words. A site that answers only the second has described pages it may not have meant to open. Most sites should answer both, and the answers are written by different people on different days.
What neither of them fixes
Neither file fills a missing tag. A page with no description still has no description, whichever files sit at the root, because a reader arriving at that page reads that page's own head. Those gaps are the subject of the tag families rather than of either file here.
Neither one reports on itself. robots.txt at least has established tooling around it; llms.txt has no console, no status, and no confirmation that any reader used it.
And neither is a ranking lever. Claims that adding one improved visibility are the kind that cannot be checked, which is reason enough to treat them carefully.
FAQ
If I have robots.txt, do I still need llms.txt?
They answer different questions, so having one says nothing about needing the other. The test is whether a reader could tell what your site is from its navigation alone. Where the structure is genuinely hard to infer, the summary earns its place; where eight pages sit behind a plain menu, it adds little beyond a file to keep accurate.
Can llms.txt block AI crawlers?
No. It withholds nothing and grants nothing, and a reader that ignores it breaks no rule. Access decisions belong in robots.txt, and the behaviour of individual crawlers on the request path is documented on BotBridge, because that is the layer that owns it.
Should the two files list the same pages?
There is no reason they would. One names paths to keep out of, the other names pages worth reading, and a well-run site usually has many pages in neither list. Trying to keep them in step is work that buys nothing and creates a second thing to go stale.
Does robots.txt affect whether llms.txt is read?
Only in one direction, and it is worth knowing: a rule that blocks or challenges the client fetching /llms.txt makes the file unreadable to the readers it was written for, and nothing anywhere warns you that it happened. The reverse never occurs, since llms.txt carries no authority over what any crawler may fetch and never claimed any.
Which one should I write first?
The access file, because getting it wrong has consequences and getting the summary wrong does not. Once you know what should not be fetched, the summary becomes easier to write anyway: you are describing what remains, which is the part you wanted read.
AI SEO, without the overclaiming
These pages pin down what enrichment fills and what it never touches. The platform they describe is Bridge CDN, where an account is created.