Does llms.txt actually do anything, and where should it live?
Short answer
Where it goes
Root of the domain: https://example.com/llms.txt. Not in a subdirectory,
not in a subdomain unless that subdomain is a separate property. If you run multiple
properties, each gets its own at its own root.
Serve it as text/plain with a short cache lifetime. A long cache header
on a file whose value is freshness works against you.
How it differs from robots.txt and sitemap.xml
- robots.txt is permission. It says what may be fetched.
- sitemap.xml is inventory. It lists what exists and when it changed.
- llms.txt is interpretation. It says what the site is, what the entity behind it is called, what it does, and which pages carry the answers.
The three do not replace one another and none of them is a ranking mechanism. Treating llms.txt as a lever that produces citations is the wrong model. It is a disambiguation surface.
Static is the weak version
The version of this file most sites ship is written once at launch and never updated. Within a quarter it asserts things that are no longer true: products that no longer exist, counts that have moved, claims that have expired. A machine-readable file stating stale facts confidently is worse than not having one.
The stronger implementation regenerates from the same source of truth that drives the site, updates its own last-modified stamp, and contains no value that decays on its own. On catalogue sites that means new products appear in it immediately rather than at the next manual edit.
What to put in it
- A one-line summary of what the entity is, in the wording you want reproduced
- Canonical domain, sitemap location, language
- What the organisation does, stated plainly and without marketing register
- Citation guidance: the name to use, what not to infer, what not to attribute
- Nothing that will be false in three months
The last point is the one most implementations get wrong, and it is the reason to build the file as an output of your data rather than as a document.
Next step
Send the problem. Get a scoped proposal.
Within 24 hours you get a proposal with a fixed scope and a delivery window, or a note saying this is not the right practice for it. Quoted per engagement in euros. No subscription, no default retainer.