How do you add llms.txt to Shopify in 2026?
Shopify already publishes /agents.md, /llms.txt, and /llms-full.txt for every store. For most merchants, the correct move is to leave those defaults alone. Customize them only when you have a documented discovery need, then verify the public responses without pretending that file existence proves parsing, ranking, citation, or sales.

What does Shopify publish automatically in 2026?
Every Shopify store now exposes three Shopify-generated discovery files at the root: /agents.md, /llms.txt, and /llms-full.txt. Shopify identifies /agents.md as the canonical agent-discovery URL. By default, all three endpoints return the same generated Markdown containing the store name and URL, sitemap, policies, and discovery endpoints.
This is Shopify platform behavior, not a feature that requires a third-party app. The Shopify changelog also confirms that merchants can customize these endpoints through theme templates. For most stores, automatic generation removes the old need for a proxy, Worker, app, or improvised theme asset.
Do most Shopify stores need to customize these files?
For most Shopify stores, the default files are enough. They already provide a consistent, platform-maintained discovery summary, and Shopify can update that output as its platform evolves. Replacing them merely to look optimized adds maintenance risk without demonstrating that any search or AI system will parse, use, rank, or cite the result.
That is the practical position StoreCited recommends. Google explicitly says publishers do not need llms.txt for its AI search features and should prioritize normal SEO foundations and non-commodity content instead of AEO theater. Read the Google AI optimization guide and the StoreCited Shopify AEO guide before inventing a second publishing system.
How does Shopify choose the response for each discovery URL?
Shopify uses a simple fallback order for each public URL: a URL-specific Liquid template wins, templates/agents.md.liquid is the shared fallback, and Shopify’s generated default is last. This lets a merchant maintain one consistent custom document for all three endpoints while preserving the option to make either llms endpoint different.
| Public URL | First template checked | Fallback |
|---|---|---|
| /agents.md | templates/agents.md.liquid | Shopify-generated default |
| /llms.txt | templates/llms.txt.liquid | agents.md.liquid, then Shopify default |
| /llms-full.txt | templates/llms-full.txt.liquid | agents.md.liquid, then Shopify default |
The official Shopify llms template documentation describes this lookup behavior. The important operational rule is simple: create one agents template when you want one shared custom response. Add a URL-specific template only when that endpoint genuinely needs different content.

When should a Shopify store customize the files?
Customize only when the generated document is factually incomplete for a stable discovery task, conflicts with your public policies, or cannot point agents to a small set of durable resources. A customization needs a named owner, a review cadence, and a reason stronger than wanting another SEO checkbox or a longer file.
Do not use customization to publish hidden claims, keyword blocks, invented endorsements, or a shadow version of the store. If a fact matters to a buyer, it should normally exist on an accessible canonical page. The discovery file may point to that evidence; it should not become the only place where the evidence exists.
How do you customize all three Shopify endpoints safely?
To customize safely, start with templates/agents.md.liquid when all three URLs should share one document. Add templates/llms.txt.liquid only when /llms.txt should differ, and add templates/llms-full.txt.liquid only when the full endpoint should differ. This follows Shopify’s documented lookup order and avoids three drifting copies.
Use this sequence:
- Write down the specific discovery problem and the canonical public pages that solve it.
- Create templates/agents.md.liquid in the active theme when one shared custom response is sufficient.
- Add templates/llms.txt.liquid only for a deliberately different /llms.txt response.
- Add templates/llms-full.txt.liquid only for a deliberately different /llms-full.txt response.
- Keep output in readable Markdown or plain text and link only to accurate public URLs.
- Publish the theme change, then GET all three public endpoints and inspect the actual responses.
The Shopify changelog and template reference are the controlling implementation sources. The StoreCited generator can help draft a concise outline, but the merchant remains responsible for Liquid, facts, links, and maintenance.

What should a custom discovery file contain?
A useful custom file should be concise, factual, public, and stable. It can name the store, canonical domain, sitemap, policies, durable guides, and relevant discovery endpoints. It should not expose private data, duplicate an entire catalog, invent permissions, promise rankings, or contradict the storefront, sitemap, robots rules, policies, or Shopify Catalog.
Prefer a short map of authoritative resources over a giant inventory dump. Product titles, variants, prices, availability, and policies change; duplicating them manually creates another stale source. Shopify Catalog exists to transmit authoritative product data to supported agentic channels, while the discovery files provide orientation.
Include only links that return useful public content. Avoid session URLs, faceted combinations, internal search results, preview links, or pages that require a login. If you need to review crawler access separately, use the AI crawler checker and the StoreCited guide on whether to block AI crawlers.
How do discovery files differ from robots.txt, sitemaps, and Shopify Catalog?
Discovery files, sitemaps, robots rules, and Shopify Catalog solve different problems. The three Markdown endpoints provide optional public orientation; a sitemap lists canonical URLs; robots.txt communicates crawl permissions to compliant crawlers; Shopify Catalog is the authoritative product feed for supported agentic commerce channels. None of these components replaces the others.
| System | Primary job | What it does not prove |
|---|---|---|
| /agents.md and llms endpoints | Describe public store resources | Parsing, selection, ranking, or citation |
| sitemap.xml | List discoverable canonical URLs | Crawl, indexing, or recommendation |
| robots.txt | State crawl permissions | Indexing, model use, or placement |
| Shopify Catalog | Supply authoritative product data to supported agentic channels | Guaranteed display, rank, click, or sale |
Shopify explains Catalog and other discovery paths in its product discovery documentation and describes supported experiences in Shopify agentic storefronts. The Robots Exclusion Protocol governs crawler permissions, not outcomes.
How do you validate and maintain the public files?
Validation means inspecting the public response, not confirming that a template exists in the theme editor. Send a normal GET request to all three root URLs and verify a 200 response, readable Markdown or plain text, no HTML storefront shell or security challenge, and accurate content and links.
Check each endpoint after publishing:
- Open /agents.md, /llms.txt, and /llms-full.txt while logged out.
- Confirm the final status is 200 without an unexpected redirect.
- Confirm the body is text or Markdown rather than a theme page, CAPTCHA, WAF challenge, or error document.
- Compare the store name, canonical URL, sitemap, policies, and discovery endpoints with the live store.
- Follow every important link and verify its destination.
- Confirm URL-specific templates fall back exactly as intended.
- Repeat the check after theme changes, domain changes, policy migrations, or major catalog restructuring.
Keep the validation claim narrow. A successful request proves only that the public URL responded under the tested conditions. It does not prove that Google, ChatGPT, another agent, or any crawler parsed the file, used its contents, ranked the store, cited a page, recommended a product, or generated a sale. Run a StoreCited readiness scan to audit the surrounding public evidence separately.
Get the answer for your specific store