Shopify has no native llms.txt support. Three install paths — Liquid template, App Store app, or hosted snippet — with tradeoffs. The complete 2026 guide.
The first thing to know about adding llms.txt to Shopify is that Shopify will not let you do it the obvious way. You cannot drop a file called llms.txt into your theme assets and have it serve at yourstore.com/llms.txt. The platform routes the root path through the storefront renderer, asset URLs live under /cdn/shop/..., and there's no admin checkbox for "expose this file at the domain root." That's the Shopify-specific challenge nobody mentions in the generic llms.txt tutorials.
This guide walks the three install paths that actually work on Shopify in 2026 — Liquid template routing, a Shopify App Store install, and a hosted snippet — with the tradeoffs of each and a decision tree at the end. If you haven't read the foundational explainer yet, start with what llms.txt actually is and why AI clients fetch it. This post assumes you already know the format and want to ship it on a Shopify store.
Vanilla static sites are easy: write the markdown, put it in /public/llms.txt, redeploy. Shopify makes this harder for four reasons:
/ and any direct path to a theme template. There's no concept of "static files at the domain root" the way Vercel or Netlify have a public folder.https://cdn.shopify.com/s/files/... — not from your own domain. That breaks the /llms.txt contract entirely..txt files by default. Even if you create a page with handle llms-txt, Shopify wraps it in your theme's HTML chrome unless you use an alternate template with the right content-type handling.Each of the three install paths below works around these constraints in a different way.
Before picking an install path, decide what goes in the file. The llms.txt spec is opinionated about structure but agnostic about content. For a Shopify store, the high-value sections are:
For a store with 500+ SKUs: do not list every product. AI clients truncate past 30k tokens. The file size to aim for is 30-80KB of markdown — enough to cover your top collections and best sellers with room for policies and content pages.
The most-controlled, least-convenient option. You create an alternate template, route a page to it, and write Liquid that emits markdown.
Step one: in your theme, create a new template file templates/page.llms-txt.liquid. The page. prefix is required so Shopify treats it as a page alternate template. Inside it, strip the theme's HTML chrome and emit markdown directly:
{%- layout none -%}
# {{ shop.name }}
> {{ shop.description | default: 'Online store powered by Shopify.' }}
## Collections
{%- for collection in collections limit: 15 -%}
- [{{ collection.title }}]({{ shop.url }}{{ collection.url }}): {{ collection.description | strip_html | truncate: 140 }}
{%- endfor -%}
## Featured products
{%- for product in collections.frontpage.products limit: 30 -%}
- [{{ product.title }}]({{ shop.url }}{{ product.url }}): {{ product.description | strip_html | truncate: 160 }}
{%- endfor -%}
## Policies
- [Shipping]({{ shop.url }}/policies/shipping-policy)
- [Returns]({{ shop.url }}/policies/refund-policy)
- [Privacy]({{ shop.url }}/policies/privacy-policy)
- [Contact]({{ shop.url }}/pages/contact)
Step two: in Shopify admin, go to Online Store → Pages → Add page. Title it "LLMs Text", set the handle to llms-txt, and in the Theme template dropdown select page.llms-txt. Save.
Step three: the page now renders at yourstore.com/pages/llms-txt — but that's the wrong URL. AI clients look at /llms.txt. You need a redirect. In admin go to Online Store → Navigation → URL Redirects → Create URL redirect and add: From: /llms.txt → To: /pages/llms-txt.
Step four: verify with curl -I https://yourstore.com/llms.txt. You'll get a 301 to /pages/llms-txt and then a 200 with the markdown body. Some AI clients follow the redirect cleanly; others log it as a non-canonical fetch. It works, but it's not pretty.
Downsides: the content-type comes back as text/html, not text/markdown, because Shopify forces it. The redirect adds a hop. And every time your top products change, you're at the mercy of how collections.frontpage is sorted — which most merchants never curate.
As of mid-2026 there's a small but growing category of "AI SEO" and "llms.txt for Shopify" apps. Search the Shopify App Store for "llms.txt" and you'll find a handful. The good ones do three things: generate the file from your catalog, expose it at the root domain via App Proxy or DNS-level routing, and re-generate on a schedule.
Pricing in this category sits at $5-15/mo for the basic generator tier. What you're paying for is removing the Liquid + redirect hassle and getting automatic re-generation when you add or remove products.
What to look for when picking one:
/llms.txt with correct content-type. Some apps serve at /apps/llms-txt through the App Proxy, which works but isn't the canonical URL agents check.The honest take: these apps work for stores that want one-click and accept what the app ships. They're not the right tool if you need fine-grained control over the file contents or per-bot analytics — for those you'll outgrow the app within a quarter.
The third path is to skip both the Liquid template and the Shopify app entirely. Crawlytics crawls your Shopify sitemap (Shopify generates /sitemap.xml automatically for every store), scores each URL on six signals — depth, recency, word count, sitemap priority, meta description, category — groups them into sections, and writes llms.txt plus llms-full.txt to stable URLs.
You add one snippet to your theme's theme.liquid head or via a small URL redirect, the files regenerate nightly, and you get a dashboard showing which AI bots fetched the files and which products they read most.
The mechanical advantage on Shopify specifically: you don't fight the platform routing. The file is served from Crawlytics infrastructure at a stable URL, and a single redirect from /llms.txt points at it. No App Proxy. No Liquid template. No theme edits beyond the redirect. Works identically on Basic, Shopify, Advanced, and Shopify Plus.
The other advantage is per-bot analytics. The bot-tracking playbook shows you how to grep your logs for GPTBot, ChatGPT-User, ClaudeBot, Claude-User, and the rest — but on Shopify you typically don't have access to raw access logs. Crawlytics logs the fetches at the file level instead, which is the data you actually want.
| Your situation | Pick | Why |
|---|---|---|
| Small catalog (under 200 SKUs), in-house developer, want full control | Liquid hand-roll | Free, full editorial control, you don't need the regeneration cadence |
| Medium catalog (200-2000 SKUs), no developer, want one-click | App Store app | Tradeoff: small recurring fee for zero implementation effort |
| Large catalog (2000+ SKUs), frequent product changes, Shopify Plus | Hosted snippet | Daily regen, per-bot analytics, no platform-routing headaches at scale |
| Headless Shopify (Hydrogen, Remix, Next.js storefront) | Hosted snippet or build-step generation | Liquid path doesn't apply; you have a real public folder so either works |
| You want to know which bots are fetching your file | Hosted snippet | Shopify doesn't expose raw access logs; you need file-level analytics |
After install, verify with three checks:
curl -I https://yourstore.com/llms.txt should return 200 (or a single 301 to your final URL, then 200). No redirect chains. No 404. No password challenge.curl https://yourstore.com/llms.txt | head -30 should show the H1, blockquote, and the first section of links. If you see HTML, your alternate template isn't stripping the theme chrome.https://yourstore.com/ — not /collections/.... Relative URLs break for agents that don't infer your origin.For a deeper check on whether your store is AI-ready beyond just llms.txt, the free Agent-Ready Grader runs the full checklist in 10 seconds and flags missing meta, broken robots rules, and crawl blockers.
Will adding llms.txt slow down my Shopify storefront? No. The file is fetched out-of-band by AI bots, not by storefront visitors. It doesn't load on product or collection pages. There's no JavaScript involved.
Does Shopify automatically expose products in llms.txt? No. As of mid-2026 Shopify generates sitemap.xml and robots.txt automatically but has no native llms.txt support. You have to install one of the three paths above.
Do I need a Shopify app or can I do it from the theme editor? You can do it from the theme editor — that's Path 1 above (Liquid alternate template plus a URL redirect). It works but requires editing Liquid and accepting a 301 hop. An app removes both.
Will llms.txt help my Shopify SEO rankings? Not in the classic Google sense. Google has not confirmed it reads llms.txt as a ranking signal. It helps with AI search — ChatGPT, Claude, Perplexity, AI Overviews — which are increasingly where product research starts. The AEO framework covers this in depth.
How does llms.txt interact with Shopify Markets (multi-region)? Each Market has its own subdomain or subdirectory. You need a separate llms.txt per Market because product availability, currency, and policy URLs all differ. A hosted snippet handles this with multi-site support; the Liquid path requires duplicating the template across each Markets theme.
Written by Crawlytics Team. Crawlytics tracks AI bots, generates llms.txt, and powers WebMCP commerce, all from one snippet on any stack. See how it works →
This page is part of Crawlytics.app. View all pages: llms.txt · llms-full.txt