Sichta · Guides
llms.txt for Shopify: the complete guide
Published August 1, 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
Here Shopify makes things slightly awkward: you cannot simply drop a file into your store's root directory, because there is no root directory you control. Three approaches work.
Option 1: hosted file plus redirect (fully manual)
Write the file by hand, upload it under Content → Files (which gives it a CDN URL) or host it anywhere else, then create a URL redirect from /llms.txt to that location under Online Store → Navigation → URL redirects. This works because Shopify redirects fire on paths that would otherwise 404, and /llms.txt is not a reserved Shopify path. The upside is full control and zero dependencies. The downside is staleness: every new product, price change or renamed collection makes the file a little more wrong, and nothing warns you.
Option 2: a repurposed page template
Some merchants create a page template that renders plain text via Liquid and redirect /llms.txt to it. This can pull live catalog data, but it fights the platform — content-type headers, Liquid loops over large catalogs, pagination limits — and tends to break quietly during theme updates. Workable for small catalogs and technical merchants; fragile for everyone else.
Option 3: generated and kept current by an app
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 — serves it through an app proxy, and sets up the root redirect for you in one click. When the catalog changes, the file follows it, and Sichta's scanner separately verifies that /llms.txt actually resolves on your domain, whichever method produced it. On paid plans a companion agents.md is generated and maintained too.
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
- Reachable:
https://yourstore.com/llms.txtreturns HTTP 200 with plain text, starting with an H1. - 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 verify the first point yourself in ten seconds with a browser. For the rest, Sichta's free scan checks llms.txt as one of its 24 deterministic checks and generates the file if you don't have one. No promises about what assistants will do with it — just the certainty that when they look, there is something worth finding.
Sixty seconds 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