llms.txt: what it is, what it changes, and how to write one for e-commerce
An llms.txt file takes an hour to put in place and costs nothing. It is also the subject with the most false claims in circulation — in both directions.
Published /6 min
What it is, precisely
A Markdown file, served as plain text at the root of your domain, at /llms.txt. It describes your business and points to your important pages, for the benefit of language models.
It is neither a W3C standard nor a specification imposed by any search engine. It is a convention proposed in 2024 by Jeremy Howard, since adopted by a growing number of sites — first in technical documentation, now well beyond.
Its minimal structure:
# Brand name
> One or two sentences describing the business, factual,
> with no superlatives and no marketing language.
## Main categories
- [Running shoes](https://example.com/running/): 340 models, beginner to marathon
- [Hiking](https://example.com/hiking/): boots, packs, technical clothing
## Practical information
- [Delivery and returns](https://example.com/delivery/): free returns within 60 days
- [Size guide](https://example.com/sizes/)
What it does not do
This needs saying plainly, because the confusion is widespread.
It does not replace robots.txt. robots.txt grants or refuses access. llms.txt grants nothing: if your rules block a crawler, this file will not change its fate.
It does not replace your sitemap. A sitemap enumerates URLs exhaustively, for machines. An llms.txt selects a few and explains them.
It is not a ranking factor. No search engine has announced using it as a signal. Anyone selling you “llms.txt to improve your rankings” is selling air.
It has no measurable effect unless your pages are already reachable. Publishing an llms.txt on a site whose WAF returns 403 to GPTBot is like putting a sign on a bricked-up door.
So why do it
Because it costs an hour, and the benefit — modest but real — is that you choose your brand’s summary rather than letting it be inferred from a footer and a title tag.
When a model has to describe what you sell, it assembles what it finds. With no explicit source, it assembles badly — which is how a multi-category retailer ends up described as a specialist in one department, the one whose pages happen to be best structured.
An llms.txt is the one place where you write that sentence yourself.
Recommended structure for a retail site
Order matters: what sits at the top is read first when context is truncated.
# Brand name
> What you sell, to whom, and what sets you apart. Two sentences.
> Verifiable numbers rather than adjectives.
## Categories
One line per major family, with a link and a detail that helps a
purchase decision: range depth, price positioning, brands carried.
## What sets us apart
Three to five factual, verifiable items: exclusives, service,
guarantees, how long you have traded, physical presence.
## Practical information
Delivery, returns, guarantees, customer service, size guide.
These are the questions agents ask most.
## Contact
Address, phone, email, opening hours.
Three rules hold the whole thing together:
- Facts, not adjectives. “340 running models” is usable; “an unrivalled selection” is not, and will be ignored.
- Short. One to two pages. This file is read in a context window shared with a great deal else.
- Current. An llms.txt announcing a range you no longer sell produces a false answer attributed to your brand.
Putting it in place
No dependency, no module. A static file, served as text/plain or text/markdown, with a short cache:
<Files "llms.txt">
Header set Cache-Control "public, max-age=3600"
Header set Content-Type "text/plain; charset=utf-8"
</Files>
Then check that it really responds, with no redirect or disguised error page:
curl -sI https://your-site.com/llms.txt | head -3
A useful variant: llms-full.txt
Some sites also publish an /llms-full.txt containing all useful documentation in a single file. For e-commerce, the relevant equivalent is a structured catalogue export — but that becomes a product feed question, with its own freshness and volume constraints, and is not solved by a hand-written text file.
In short
llms.txt is a cheap good practice, not a growth lever. It is worth the hour it takes, provided you treat it for what it is: the identity card you write yourself, rather than the one a model will reconstruct for you. Do it after confirming your pages are reachable, never before.