Agent ReadyAI shopping agent readiness

llms.txt explained

Part of the Agent Ready guides. Plain advice, no signup needed.

llms.txt is a small Markdown file placed at the root of your site, at yourstore.com/llms.txt. It summarizes your store for language models: what you sell, which pages matter, how buying works, and where the policies live. Think of it as the store tour you would give a new sales assistant on their first day, written down in a format machines can read in one fetch.

The file is a convention, not a formal standard. It was proposed to give models a compact overview instead of forcing them to piece one together from dozens of crawled pages. Assistants may read it when it exists and work without it when it does not. Publishing one costs little and removes guesswork for every model that looks for it.

What it is not matters too. It does not replace product schema, which describes individual products. It does not replace your sitemap, which lists URLs. It does not replace your product feed, which carries live prices and stock. It sits above those: a short human written brief that tells a model what the store is and where to look next.

What to put in it

Five blocks cover nearly every store. First, one paragraph saying what the store sells and who it serves. Second, a list of the main category pages with links, so the model can walk the catalog. Third, a buying notes block: shipping areas, delivery times, return window, and payment methods in plain sentences. Fourth, links to the policy pages, contact page, and FAQ. Fifth, an API or feed pointer if you offer one, such as a product feed URL or a stockists page.

Keep the whole file short enough to read in one go. A few hundred words is the target. A model that opens your file should finish it and know exactly which page to visit for any follow up question. If the file grows past a thousand words, split the detail onto linked pages and keep the file as the map, not the territory.

A complete example

Below is a full file for a fictional outdoor goods store. Copy the shape, replace every fact with your own, and delete any block that does not apply to you. Note the style: short lines, plain words, real links, no slogans.

# Harbor Goods

Harbor Goods sells canvas bags, wool blankets, and enamel campware
for weekend campers in the United States. All products ship from
Portland, Oregon.

## Shop

- Bags: https://yourstore.com/collections/bags
- Blankets: https://yourstore.com/collections/blankets
- Campware: https://yourstore.com/collections/campware
- Gift cards: https://yourstore.com/products/gift-card

## Buying notes

- Orders ship within 2 business days by ground post.
- Standard delivery takes 3 to 5 business days inside the US.
- We ship to US addresses only.
- Returns are free within 30 days. Email support@yourstore.com for a label.
- We accept Visa, Mastercard, Amex, PayPal, and Shop Pay.

## Policies and help

- Shipping policy: https://yourstore.com/policies/shipping
- Returns: https://yourstore.com/policies/refunds
- Privacy: https://yourstore.com/policies/privacy
- Contact: https://yourstore.com/pages/contact
- FAQ: https://yourstore.com/pages/faq

## Feeds

- Product sitemap: https://yourstore.com/sitemap.xml

Writing rules that keep it useful

State facts a stranger could verify. Shipping times, return windows, payment methods, and contact addresses are facts. Claims about quality or popularity are not useful here and invite doubt. If a line would need proof in an argument, replace it with something checkable.

Link to canonical pages, never paste long content inline. The file should say that a shipping policy exists and link to it, not reproduce all twelve paragraphs. This keeps the file short and means you update policy text in one place. When a policy changes, the file stays correct because it only holds the link.

Write stable facts, not daily data. Prices, stock counts, and sale banners change too often for a file that models may cache. Put the durable facts in llms.txt and let feeds, schema, and pages carry the moving numbers. A file that says the return window is 30 days stays right for years. A file that lists this week prices is wrong by Monday.

Use plain Markdown only. Headings, short paragraphs, and bullet lists with links are the whole toolkit. Skip tables, images, embedded video, and JavaScript. The reader is a text parser, and every exotic element is a chance to be misread.

What never belongs in the file

Internal addresses, staff names, supplier costs, API keys, and anything you would not print on a flyer. The file is public by design: anyone can fetch it, including competitors and scrapers. Treat every line as published.

Login walled content summaries that promise what anonymous visitors cannot see. If the file describes member prices or wholesale terms, those offers must be reachable or clearly labeled as account only. A model that quotes a price no visitor can verify creates support tickets, not sales.

Legal text copied at full length. Link to terms and privacy pages instead. The file is a guide to your site, not a second copy of it, and duplicated legal text drifts out of date.

How to publish it on Shopify

Shopify does not serve arbitrary root text files from settings, so use one of three routes. The simplest is a redirect free file through an app that serves root files, several SEO apps include this feature. The second is a page template that outputs plain text: create a page, assign a template that sets the content type to text/plain, and point your robots file or docs at the real URL. The third is serving it from a subdomain or docs host you control and linking to it from your main site. Whichever route you take, verify that yourstore.com/llms.txt returns the file with a 200 status and a text/plain content type.

Keep the file in sync with policy pages. When you change shipping or returns under Settings, Policies, update the matching lines in the file the same day. A two minute edit preserves the trust the file builds. Put a quarterly reminder on the calendar to reread it end to end.

How to publish it on WooCommerce

You control the server, so this takes five minutes. Create a file named llms.txt in the site root next to robots.txt and wp-config.php, paste your content, and fetch the URL to confirm a 200 response. If a security plugin blocks new root files, add an exception for this exact path. If you run a cache plugin, exclude the file from caching or set a short cache time so edits appear promptly.

Rank Math and Yoast do not manage this file for you, so it sits outside their editors. That is fine: a plain file needs no plugin. Note its location in your site documentation so a future redesign or migration carries it over instead of dropping it silently.

Multisite and multilingual stores need one file per hostname. Each domain or subdomain serves its own llms.txt describing its own catalog and policies. A single shared file that mixes languages or currencies will confuse more than it helps.

Point crawlers at it

Discovery for the file is manual today: models check the conventional path, and humans link to it. Help both. Reference it from your robots.txt with a comment line or from your help and FAQ pages with a plain link. Mention it on your contact page for good measure. There is no registry to submit it to, so links and convention are the whole distribution strategy.

Confirm it is reachable the way a model would reach it. Fetch it with curl from outside your network and check three things: status 200, content type text/plain or text/markdown, and body under a few kilobytes. Then fetch it with a trailing slash variant and confirm that either resolves or redirects cleanly rather than erroring.

Common mistakes

Writing marketing copy instead of facts. Superlatives about your brand do not help a model answer where to buy a tent. Replace every slogan with a checkable fact or delete the line.

Listing products instead of categories. Individual products belong in the catalog, the feed, and schema. The file should link to the ten category pages a shopper would browse, not the four hundred products they contain.

Letting it rot. A file that names a discontinued category, an old support address, or last year shipping times is worse than none, because models quote it. Review it whenever policies change and once per quarter regardless.

Hiding it behind a challenge. If your firewall serves a CAPTCHA or bot check on unknown paths, the file may be unreachable to the very readers it is written for. Allowlist the exact path in your bot manager and verify with an outside fetch.

Duplicating the file across domains with the wrong facts. Each storefront gets its own file with its own links, currency notes, and shipping areas. Copying one file across regions without editing the facts creates exactly the contradictions the file exists to prevent.

How it works with the rest of your setup

Think in layers. llms.txt tells the model what the store is and where things live. The sitemap lists every URL. Product schema describes each product in fixed fields. The feed carries live price and stock. Reviews add buyer evidence. Each layer has one job, and the file is the top layer: orientation, not data.

When an assistant answers a shopping question well about your store, all five layers usually contributed: the file pointed at the right category, the sitemap made the product findable, schema supplied price and stock, the feed confirmed them, and reviews added confidence. A gap in any layer weakens the answer. The file is the cheapest layer to fix, so fix it first, then work down the stack.

Want a second pair of eyes on the whole stack. Run the free Agent Ready audit to get a graded score and the exact fixes that matter most for your store. It takes under a minute and needs no signup.

Run free audit

Get a free AI-crawler audit of your store

Enter your email and store address and we will keep you posted on your score. After signup you can run the audit right away.

More guides: ChatGPT Shopping Shopify schema robots.txt for AI AI-crawler friendly Product schema llms.txt AI bot rules FAQ schema