Issue reference
No llms.txt to guide agents
- LLMS_TXT_MISSING
- Find products
- —
- Low
What it means
tragent reports this at the “Find products” stage. The question there is “Can an agent find your products at all?” An agent has to reach your site and locate products by searching or browsing before anything else can happen.
What it does to an agent
Agents get through, but your store reads less clearly to them than it could. It is worth fixing once the higher-severity issues are gone.
llms.txt is a short Markdown file at the root of a site that tells language models what the business is and where the useful, machine-readable entry points are. It does not replace a sitemap or structured data; it is the page a model reads first when it has a few seconds and a small budget to decide what you sell.
Without it, a model summarises your home page, which is written for people and usually leads with a campaign. Chrome Lighthouse's agentic browsing audit checks for the file, so it is also one of the things your store is already being measured on.
How to fix it
Publish /llms.txt describing what you sell and where the machine-readable entry points are. Chrome Lighthouse's Agentic Browsing audit scores it, so merchants are already measured on this.
# Northwind Supply > Outdoor footwear and clothing, shipped from the UK to Europe and North America. ## Shop - [All products](https://shop.example/collections/all): the full catalogue - [Product feed](https://shop.example/feeds/products.xml): prices and stock, updated hourly ## Policies - [Shipping](https://shop.example/policies/shipping-policy) - [Returns](https://shop.example/policies/refund-policy)
On your platform
Shopify
A Shopify theme cannot place a file at the root of the domain. Upload llms.txt under Content › Files, copy its URL, then add a redirect from /llms.txt to it under Online Store › Navigation › URL redirects. Redirects apply to paths that would otherwise not exist, which /llms.txt does not.
WooCommerce
Upload llms.txt to the WordPress root, beside wp-config.php, over SFTP or your host's file manager. Some SEO plugins can generate one; if you use that, read what it produced, since generated files often list every blog post and no products.
Cloudflare
If your origin cannot serve a root file, a small Worker route on /llms.txt can return the Markdown with Content-Type text/markdown or text/plain.
export default {
async fetch() {
return new Response(LLMS_TXT, { headers: { "content-type": "text/plain; charset=utf-8" } });
},
};In practice
Keep the file short. A model reads it to decide where to look next, so it should fit on a screen: what you sell, where you ship, and five to fifteen links to the pages that answer shopping questions. Group the links under plain headings such as Shop, Policies and Help, and write one line after each link saying what is behind it.
Update it when the things it points at change: a new feed URL, a moved policy page, a market you stopped serving. Because it is plain Markdown at a fixed address, it is also a cheap place to state facts agents get wrong about you, such as the countries you ship to or that prices include VAT, as long as they are facts and not instructions.
Check the fix
- Open https://your-store/llms.txt and confirm it returns the Markdown with a 200, not your home page.
- Check the first line is an H1 with the business name and that the links are absolute.
- Run the scan; the llms.txt finding should be gone.
Run the check that reported LLMS_TXT_MISSING again after the change. The scan needs no account; an issue found during an AI shopping test needs that test run again.
npx @tragent/cli scan https://your-store.comCommon mistakes
- Returning the storefront's HTML for every unknown path, so /llms.txt answers 200 with a page instead of the file.
- Listing only marketing pages. Point at the catalogue, a feed, and the policies agents get asked about.
- Putting instructions to models in it. Describe the store; do not tell the reader what to do.