llms.txt
llms.txt is a proposed convention: a markdown file at the root of your domain that gives large language models a curated map of your site's most useful content, in plain text instead of HTML. It is a hint, not a rule — no major AI provider has committed to reading it, and it grants or blocks nothing. For ecommerce, it is cheap to publish and worth doing only after your product pages are actually machine-readable.
What llms.txt is
llms.txt is a proposed standard for a markdown file served at the root of your domain: https://example.com/llms.txt. It gives a language model a short, curated map of your site — what the site is, and where the content worth reading lives.
The format is deliberately plain:
- An H1 with the site or company name
- A blockquote holding one summary sentence
- Optional prose for context and caveats
- H2 sections containing lists of markdown links, each with a one-line description
- An optional
## Optionalsection for pages a model can safely skip when context is tight
Some sites also publish llms-full.txt, which carries the expanded content itself rather than links to it.
The problem it points at is real. An HTML product page is mostly navigation, scripts, tracking pixels, and layout. A model fetching that page spends most of its context on markup before it reaches the part that matters: that the item is a 3/8-16 x 2 in. Grade 8 hex cap screw, zinc-plated, coarse thread, 150,000 PSI minimum tensile. Markdown strips the noise and leaves the facts.
llms.txt is not robots.txt
The name invites the comparison, and the comparison is wrong. robots.txt is a permission file. llms.txt is a content file. It grants nothing and blocks nothing. Remove a URL from it and the page is still there, still crawlable, still indexed.
| Artifact | Where it lives | Audience | What it controls |
|---|---|---|---|
robots.txt | /robots.txt | Crawlers | Access — which paths a bot may fetch |
sitemap.xml | /sitemap.xml | Crawlers | Coverage — every URL you want indexed |
llms.txt | /llms.txt | LLMs and agents | Orientation — a curated map of what matters |
llms-full.txt | /llms-full.txt | LLMs and agents | Content — the expanded text in one file |
| Product JSON-LD | Inside each PDP | Crawlers, LLMs, rich results | Facts — GTIN, MPN, brand, price, availability |
Two caveats worth stating plainly:
- Adoption is voluntary and thin. As of this writing, no major model provider has publicly committed to reading
/llms.txt. Assume some agents fetch it and most ignore it. - It does not replace on-page structure. A model that lands on your PDP straight from a search result never sees your llms.txt. Whatever that page fails to say, it fails to say.
What goes in one for a catalog site
llms.txt is a map, not a dump. For a distributor carrying 80,000 SKUs, listing every PDP is pointless — that is what the sitemap does. Link the pages that explain how your catalog works.
| Part of the file | What to link | Why a model needs it |
|---|---|---|
| Blockquote summary | One sentence: who you sell to, what you carry | Stops the model guessing your category |
## Catalog | Category landing pages, not individual SKUs | Entry points into the taxonomy |
## Specs & Standards | Spec glossaries, UL / ANSI / ASTM reference pages | Where thread pitch, voltage rating, and material grade get defined |
## Cross-Reference | Competitor part-number lookup tables | Handles "what is your equivalent to a competitor part number?" |
## Policies | Freight, returns, MAP, minimum order quantity | The questions buyers actually ask assistants |
## Data | Feed docs, GTIN and MPN conventions, UOM definitions | Tells the model how to read your identifiers |
## Optional | Press releases, careers, blog archive | Explicitly skippable |
Ten to fifty links is enough for most catalogs.
One maintenance note: this file rots. Category pages get renamed, policies change, standards get revised. A stale llms.txt is worse than none, because it hands a model confident, wrong directions. Put it in the same review cycle as your sitemap.
Should your ecommerce site have one?
Yes, with low expectations. The cost is an afternoon, plus keeping it current. The downside of being early is a file nobody reads.
Publish one if:
- Your catalog has real reference content — spec tables, standards pages, cross-reference lookups — that a model would benefit from finding
- You sell technical or regulated goods where getting the wrong answer has consequences
- You already have Product JSON-LD on your PDPs and clean identifiers behind them
Do not expect it to:
- Move Google rankings. It is not an indexing signal.
- Get your products cited in AI answers. Citation follows from what is on the page.
- Substitute for a sitemap, a feed, or schema markup.
The honest framing: llms.txt is cheap insurance. If the convention gains traction, you already have one. If it does not, you spent an afternoon.
The prerequisite nobody mentions
A map is only useful if the destination is worth reaching. Most catalogs fail the second test long before the first.
If your listing for a 600V UL listed wire connector has a blank wire range, no AWG values, no listing number, and a description copied from a 2011 supplier PDF, then llms.txt just routes a model to an incomplete page faster. The model still cannot answer whether the part fits 14-6 AWG stranded copper. It guesses, or it skips you.
That is the ordering that matters:
- Complete the attributes — the values that answer real buyer questions
- Normalize them — one unit of measure, one vocabulary, one taxonomy
- Mark them up — Product JSON-LD on every PDP
- Then publish llms.txt as an orientation layer
Your PIM stores the attributes. It does not go find the missing ones, reconcile a supplier spec sheet against a UL listing, or decide that 3/8 in. and 0.375 in. are the same value. That is the work Anglera does, alongside the PIM you already run.
Get that right and llms.txt becomes a small, sensible finishing touch. Skip it, and llms.txt is a signpost pointing at an empty shelf.
Frequently asked questions
Do ChatGPT, Claude, and Gemini actually read llms.txt?
No major provider has said publicly that it fetches /llms.txt, either during training or at answer time. Some independent agents, crawlers, and developer tools do look for it. Treat it as a low-cost hint with an uncertain payoff, not a distribution channel. Publish it because it is cheap, and do not build reporting around it.
How do I generate an llms.txt?
By hand, mostly. It is a markdown file with an H1, a one-sentence blockquote, and H2 sections of links — thirty lines you can write in a code editor and drop at your web root. Some docs platforms and static site generators emit one automatically. For a catalog, the automatic version is usually worse: the value is in choosing which pages to link, and that is a judgment call.
What is llms-full.txt and do I need both?
llms.txt links to pages; llms-full.txt inlines the content itself into one long markdown file, so an agent can read everything in a single fetch. Documentation sites often publish both. Catalogs rarely should — a full dump of spec tables and policies gets large fast and goes stale everywhere at once. Start with llms.txt alone.
What happens when my llms.txt goes stale?
It sends confident, wrong directions. A renamed category page returns a 404, a linked freight policy quotes last year's threshold, and an agent that trusted the map either passes a buyer bad information or drops your domain. Nothing warns you. Put the file's links in the same link-checking and review cycle as your sitemap, and re-read it whenever you restructure the catalog.