← All guides

llms.txt for online stores: what it is, and whether you need one

17 September 2026 · 7 min read

A growing share of the people looking at your products are not looking at them. An assistant is reading the page for them, summarising it, comparing it to three other shops and reporting back. The llms.txt proposal is one answer to that: a plain markdown file at the root of a domain that tells a machine reader what the site is and where the useful parts are, instead of making it reconstruct that from navigation menus and scripts.

It is a convention, not a standard anybody is obliged to follow — worth saying at the start, because the honest version of this topic is shorter than the sales pitch. Here is what the file actually specifies, who already has one without knowing it, and what to put in yours if you do not.

Check first: on Shopify, you already have one

Open yourstore.com/llms.txt in a browser. If you are on Shopify, a file is already there — the platform generates it, and it does considerably more than list products. Checked on live storefronts in September 2026, it opens with “Agent Instructions” for the shop and then points agents at two things: the Shop skill, Shopify's own interface for assistants that buy on a shopper's behalf, and the store's Universal Commerce Protocol endpoints — a discovery document at /.well-known/ucp and an MCP endpoint the agent can call to search the catalogue, build a cart and start a checkout.

That matters for a practical reason: UCP is not a Shopify side project. It is co-developed by Google, Shopify, Stripe, Etsy, Walmart, Target, Microsoft and others, and covers search, cart, identity, checkout and order tracking. A hand-made llms.txt listing your products cannot compete with a file that ends in a working checkout — so if you are on Shopify, the right move is to leave it alone. Anyone selling you an llms.txt for a Shopify store is selling you something the platform already gives you, in a weaker form.

If your store is not on Shopify

WooCommerce, Magento, PrestaShop, OpenCart and hand-built stores have nothing of the sort, and — unlike a Shopify store, where you cannot put arbitrary files at the domain root — you can simply publish one. That is the case where writing an llms.txt is worth the half hour.

What the file has to look like

The proposal is strict about the shape and relaxed about everything else:

For a shop, the sections are your own top-level categories and the links are the products:

# Bergfuchs Outdoor

> Bergfuchs Outdoor is an online store. This file lists its 1,430 products across
> 12 categories, priced in EUR, each linking to its own page on the store.
> Prices and availability are those of the last catalogue update.

## Shoes

- [Trailrunner Alpin 42](https://shop.de/p/alpin): 119.95 EUR, reduced from 149.90,
  in stock, Bergfuchs, size 42, red, GTIN 4006381333931
- [Wandersocke Merino](https://shop.de/p/socke): 19.90 EUR, out of stock, Bergfuchs

The notes after the colon are the part that earns its place. An assistant matching a shopper's question against your catalogue is matching on price, availability, brand, size, colour and the barcode — the same attributes that decide whether a product feed works, which is not a coincidence. If your catalogue is thin on those, an llms.txt will not rescue it; the barcode guide is the better place to start.

Keep out-of-stock products in, marked as such. The question being asked is usually “does this shop sell X”, and an omission answers it with a silent no.

Where the file goes

At the root of the domain: https://yourstore.com/llms.txt. The proposal also allows one at any path, covering the pages beneath it — but the root is what a reader looks for first. On WordPress or WooCommerce that means next to wp-config.php, not in the uploads folder. On a static host, next to index.html. If your catalogue changes often, point that path at a generated file rather than uploading a new copy by hand, or it will be wrong within a week — a stale file is worse than none, because it is quoted with confidence.

The proposal also suggests linking it from your pages with <link rel="describedby" href="/llms.txt">, which costs nothing and helps a reader that landed on a product page find the map.

What it will not do

It is not a ranking trick, and nobody has promised it is read: llms.txt is a proposal with growing adoption, not a standard any search engine or model provider has committed to. Treat it as cheap insurance, not a channel.

It is also not a product feed, and does not replace one. Google Shopping, Meta, Microsoft and ChatGPT's shopping surfaces read structured feeds with required attributes and their own validation — an llms.txt is a document for a general reader, not a catalogue an ad platform can ingest. Getting products into ChatGPT is a feed job, and what a product feed is covers the rest. If you do one of the two, do the feed.

How FeedRobin handles it

For stores we connect by URL or CSV export, llms.txt is one of the channels: your catalogue is rendered into the shape above, grouped by your own top-level categories, refreshed with the rest of your feeds, and served at a link you can download or point your web root at. Sale prices are shown as reductions only when the price actually went down, out-of-stock products stay in and say so, and nothing in the file mentions us — it is published under your name, on your domain.

We do not offer it for Shopify stores, for the reason in the second section: Shopify already serves one that goes further than ours could. If you are on WooCommerce, the WooCommerce feed guide covers the feed side of the same catalogue, and the free feed check will tell you whether the attributes an assistant matches on are actually there.

Sources

The llms.txt proposal (file location, required structure, the Optional convention, the describedby relation), the Universal Commerce Protocol (backers, scope, endpoints) and Shopify's Shop skill. The description of what a Shopify storefront serves at /llms.txt is from reading live storefronts on 17 September 2026 — check your own rather than taking ours for it.

Read next

Get your products into ChatGPT: the OpenAI product feed, step by stepChatGPT now recommends real products with live prices. How merchant enrollment works, what OpenAI's feed spec requires (JSONL, nine mandatory fields), and why your catalogue disappears about two weeks after you stop uploading.
7 min
What is a product feed — and why every store advertising online needs oneThe file behind every Google Shopping ad, Instagram product tag and price-comparator listing: what a product feed contains, who reads it, and what happens when it's wrong.
5 min
WooCommerce Google Shopping feed: the complete setup guideWooCommerce doesn't generate a Google Shopping feed out of the box. How to create one, the Woo-specific traps — variable products, VAT prices, stale feeds — and how to keep it synced.
7 min
Not sure what's wrong with your feed?Paste your feed URL and FeedRobin checks every product for missing barcodes, images, descriptions and more — free, no account needed.
Check my feed — it's free