Sichta · Guides
llms.txt for Shopify: the complete guide
Published August 1, 2026 · Updated September 10, 2026
llms.txt is a plain-text Markdown file, served at the root of a domain, that gives AI systems a short, curated index of what a website offers and where to find it. For a Shopify store, that means one file that tells ChatGPT, Claude, Gemini and other assistants what you sell, which collections matter, and where your shipping and return policies live — without making them parse your whole theme. This guide covers what llms.txt actually is, what belongs in it for a store, how it differs from robots.txt and sitemap.xml, and the three realistic ways to get one onto a Shopify domain.
Where llms.txt comes from
llms.txt is not a Shopify invention and not an official web standard. It is a community proposal, published at llmstxt.org in September 2024 by Jeremy Howard of Answer.AI. The idea is simple: HTML pages are built for humans and browsers, and they bury the facts under navigation, scripts and styling. A language model working with a limited context window does better with a single, small, information-dense file. So the proposal reserves the path /llms.txt for exactly that — a Markdown file with a fixed, minimal structure:
- an H1 with the name of the site or project — the only required element,
- a blockquote with a one-paragraph summary,
- optional Markdown sections (H2s) containing lists of links, each with a short description.
The format was designed with documentation sites in mind, and that is where adoption started. But nothing in it is documentation-specific, and an online store maps onto it naturally: the summary says what the store sells, and the link sections point to products, collections and policies.
What belongs in a Shopify store's llms.txt
Think of the file as the answer to one question: if an AI assistant could read only one page of my store, what would I want on it? For a store, a useful llms.txt has four parts.
1. Name and summary
The H1 is your store name. The blockquote should say, in one or two sentences, what you sell and for whom — this is often the exact sentence an assistant will reuse when someone asks "what is this store?". Write it in plain language; skip the marketing adjectives.
2. Products
A linked list of products, each with a short factual description. You do not need every variant — the product page carries those — but every product an agent should know about needs a line. For large catalogs, list the most important products and point to your sitemap for the rest; a 40,000-line file defeats the purpose of a compact index.
3. Collections
Collections give agents your own taxonomy — how you group what you sell. A handful of well-named collection links help an assistant answer category-level questions ("do they sell trail-running gear?") without guessing from product titles.
4. Policies
Shipping, returns and contact. These are the pages agents check before recommending a store, and Shopify serves them at stable URLs (/policies/shipping-policy, /policies/refund-policy, /policies/contact-information) — link them directly.
A complete example
Here is a realistic llms.txt for a fictional store (the .example domain is a placeholder):
# Fjordlys Candles
> Fjordlys Candles makes hand-poured soy and beeswax candles in
> Scandinavian-inspired scents, shipped from Hamburg across the EU.
## Products
- [Birch Forest soy candle, 220 g](https://fjordlys.example/products/birch-forest-220): Soy wax, burn time approx. 45 h, notes of birch, moss and cedar.
- [Midnight Sun beeswax candle, 300 g](https://fjordlys.example/products/midnight-sun-300): Pure beeswax, burn time approx. 60 h, unscented.
- [Sea Fog travel tin, 110 g](https://fjordlys.example/products/sea-fog-tin): Soy wax travel tin, burn time approx. 25 h, notes of salt and driftwood.
- …and 34 more products: https://fjordlys.example/sitemap.xml
## Collections
- [Soy candles](https://fjordlys.example/collections/soy)
- [Beeswax candles](https://fjordlys.example/collections/beeswax)
- [Gift sets](https://fjordlys.example/collections/gift-sets)
## Policies
- [Shipping](https://fjordlys.example/policies/shipping-policy)
- [Returns](https://fjordlys.example/policies/refund-policy)
- [Contact](https://fjordlys.example/policies/contact-information)
Every line is a verifiable fact with a link. That is the whole trick: the file does not persuade, it indexes.
llms.txt vs. robots.txt vs. sitemap.xml
All three are root-level files that machines read, which invites confusion. They answer different questions and none replaces another:
| File | Question it answers | Format | Built for |
|---|---|---|---|
robots.txt | "Where may crawlers go?" — access rules per user agent | Plain-text directives | Any crawler, including AI crawlers |
sitemap.xml | "Which URLs exist?" — an exhaustive machine list of pages | XML | Search engine indexers |
llms.txt | "What is this site about, and what matters most?" — a curated, described index | Markdown | Language models and AI agents |
robots.txt grants permission but explains nothing. sitemap.xml is complete but flat — ten thousand undifferentiated URLs. llms.txt is the only one of the three that carries meaning: descriptions, priorities, structure. A well-set-up store serves all three, and they should agree with each other — an llms.txt that links pages robots.txt blocks is telling agents about doors they cannot open.
How AI assistants use llms.txt today — honestly
llms.txt is an emerging convention, not a ranking lever, and you should distrust anyone who sells it as one. The honest status in 2026: adoption on the publishing side is real and growing, and AI crawlers do request the file — you can see the fetches in server logs. No major assistant vendor, however, has committed to treating llms.txt as an authoritative source, and none publishes how (or whether) it weighs the file. What you are doing by serving one is making the legible version of your store cheap to find. Whether a given engine uses it on a given day is the engine's decision.
The reason to do it anyway is the cost–benefit asymmetry. The file costs almost nothing to serve, cannot hurt you (it contains only facts you already publish), and the moment any assistant does consult it, your store answers with a clean, current index instead of scraped fragments. It is the same logic as publishing a sitemap in 2006: early, cheap, and only upside. The same honest framing applies to AI readability in general — we cover the full picture in our guide on making your Shopify store readable for AI assistants.
How to add llms.txt to a Shopify store
This changed in May 2026. Shopify now serves a default /llms.txt — along with /llms-full.txt and /agents.md — on every store, so the question is no longer whether the file exists but whether the generic default says anything worth reading about your catalog. Three approaches, in order of effort.
Option 1: keep Shopify's default file
Do nothing. The path already answers with a Shopify-generated index, which is a reasonable floor: it resolves, it is valid Markdown and it never goes stale. It is also generic — the same shape for every store on the platform, without your own product descriptions, your collection taxonomy or any policy context beyond the standard links. For a small, simple catalog that may well be enough.
Option 2: customise it with a theme template
The supported way to override the default is a theme template. Create templates/llms.txt.liquid in the theme editor (and templates/agents.md.liquid for the companion file), and what it renders is served at the root in place of Shopify's version. This is the only override that works: a URL redirect will not do it, because Shopify redirects fire only on paths that would otherwise 404, and /llms.txt now answers on every store. Inside the template you can write the content by hand — full control, and a little more wrong after every price change — or pull live catalog data through Liquid, which runs into pagination limits on large catalogs and tends to break quietly during theme updates.
Option 3: generated by an app, pasted into that template
This is the approach Sichta takes. It generates llms.txt from your live catalog through the Shopify Admin API — shop name and description, up to 500 products with short plain-text descriptions and a sitemap pointer for the rest, up to 50 collections, and the three policy links — and hands you the text to paste into templates/llms.txt.liquid. A companion agents.md is generated the same way. Generating and downloading both is free; on Starter and above Sichta keeps the generated versions current as the catalog changes, so re-pasting is the only manual step. Its scanner separately checks what /llms.txt actually returns on your domain — the default file and a customised one do not look alike, and the check reads the content, not just the status code.
llms.txt vs. llms-full.txt
The llmstxt.org proposal also describes a bigger sibling: llms-full.txt, which inlines the actual content of the linked pages instead of pointing at them — one giant file a model can ingest whole. For documentation sites this is attractive: the entire docs fit in one request. For stores it rarely makes sense. A catalog's full content is large, changes daily, and the parts an agent needs most (price, availability) are precisely the ones that go stale fastest in a static dump. The practical pattern for commerce is: a compact llms.txt as the index, live product pages with solid structured data as the source of truth, and — if you want to give agents explicit rules of engagement — an agents.md alongside. If you are wondering why any of this matters commercially, our overview of agentic commerce in 2026 connects the dots.
The five-point checklist
- Yours, not the default:
https://yourstore.com/llms.txtreturns HTTP 200 with plain text starting with an H1 — and the content is your store's index, not the platform's generic one. - Accurate: every product line matches a live product; no dead links, no retired prices.
- Complete where it counts: summary, products (or a sitemap pointer), collections, all three policy links.
- Consistent: nothing in the file contradicts robots.txt, the sitemap or the pages themselves.
- Maintained: a process — human or automated — updates it when the catalog changes.
You can read the file yourself in ten seconds with a browser. For the rest, Sichta's free scan checks llms.txt as one of its 26 deterministic checks and generates a richer file than the platform default. No promises about what assistants will do with it — just the certainty that when they look, there is something worth finding.
One scan from now, you'll know.
Run the free scan and see exactly how ready your store is for AI shopping agents.
Scan my store — free