hushwork
1168 wordsDrafted by the Hushwork engine · human-reviewedupdated

llms.txt for Shopify: What It Is, How to Add It

The Markdown spec explained, plus the root-file problem every Shopify tutorial skips

A Markdown reading guide, not a crawler directive

llms.txt is a proposed standard, published at llmstxt.org, for a single Markdown file served at the root of your domain — /llms.txt. Its job is to hand an AI assistant a curated map of your site: which pages matter, what each one covers, and where to find them.

The format is plain Markdown with a fixed shape. It opens with an # H1 line naming the site, followed by a > blockquote summarizing what the site is in a sentence or two. After that come ## section headings — "Buying guides", "Collections", "Policies" — each containing a list of links in the form [page title](url): one-line description.

That is the whole spec. There are no directives, no user-agent blocks, no permissions. If you have written a robots.txt file before, set that mental model aside: llms.txt is closer to a well-organized reading list you would hand a new employee than to a set of crawler rules. It describes; it never controls.

Why the proposal exists

Large language models work inside a context window — a hard limit on how much text they can consider at once. Even with live web access, an assistant answering "what pour-over kettle should I buy" cannot read your whole store. It fetches a handful of pages, and it has to guess which ones.

Guessing goes badly on ecommerce sites. Navigation menus, cart pages, tag archives, and tracking-parameter duplicates crowd out the pages that actually answer questions. A curated map beats crawling precisely because you, the merchant, already know your twelve best pages — the buying guides, the comparison pages, the policies shoppers ask about.

Be honest with yourself about the payoff, though. Adoption is uneven: some assistants fetch llms.txt, others ignore it entirely, and none of the major ones commit publicly to honoring it. The case for adding one is that it costs an hour, can only help, and signals nothing bad. The case against expecting miracles is everything else — the heavier levers are covered in how AI assistants pick products to recommend.

What llms.txt cannot do

The filename invites confusion, so it is worth being blunt about what llms.txt is not.

  • It is not access control. There is no Allow or Disallow syntax anywhere in the spec. You cannot use llms.txt to block GPTBot, ClaudeBot, or any other crawler — that remains the job of robots.txt, which on Shopify you edit through the robots.txt.liquid theme template.
  • It does not replace your sitemap. A sitemap enumerates everything; llms.txt curates. They serve different readers and coexist happily.
  • It carries no guarantee. Publishing one does not make ChatGPT recommend your grinders. It makes your best pages easier to find for any assistant that chooses to look.

If you find a tutorial showing llms.txt with User-agent lines or Allow/Disallow rules, the author has confused it with robots.txt. The article is wrong, and following it produces a file no assistant can parse as the spec intends — a symptom worth checking for if you inherited one from a previous agency.

A worked example for a coffee gear store

Here is a realistic llms.txt for a store selling specialty coffee equipment, built line by line.

  1. Start with the H1 name: # Tamp & Bloom
  2. Add the blockquote summary: > Specialty coffee gear for home baristas: burr grinders, pour-over kits, brew scales, and repair parts, with hands-on brewing guides.
  3. Open your first section: ## Buying guides
  4. List the pages that answer purchase questions, one per line, each with a description: - [Choosing a burr grinder](https://tampandbloom.com/blogs/guides/burr-grinder): flat vs conical burrs, grind range, and what changes above $200
  5. Add a products section, ## Collections, with entries like - [Pour-over kits](https://tampandbloom.com/collections/pour-over): complete setups from $45 to $180
  6. Close with ## Policies linking your shipping, returns, and warranty pages — the questions assistants get asked constantly.

Ten to twenty links is plenty. The one-line descriptions matter as much as the URLs: they are what tells a model whether a page is worth fetching for the question at hand, so write them like honest catalog copy, not slogans.

The Shopify catch

Now the part most tutorials get wrong: Shopify gives you no way to serve a file at your domain root yourself. The llms.txt convention depends on living at yourstore.com/llms.txt, and that URL is not yours to create.

Uploading through the admin does not work. Files added under Settings → Files are served from Shopify's CDN at a cdn.shopify.com address, not from your domain root — an assistant requesting /llms.txt on your domain will never find them, whatever the file is named.

The theme layer does not help either. Shopify supports a robots.txt.liquid template because robots.txt is special-cased in the platform; there is no equivalent template for llms.txt or any other arbitrary root file. Shopify's URL structure — /products/, /collections/, /pages/, /blogs/ — is fixed, and nothing you do in the theme editor adds a new root path.

That leaves exactly two realistic routes: an app that serves the file for you, or hosting it somewhere off-root and accepting that assistants will not know to look there.

Your two realistic options

Option one is an app. Shopify apps can respond to requests on your storefront, and some maintain a root-served llms.txt as part of a broader content or SEO service. This is the only way to get the file at the canonical location, so the decision rule is simple: if an app you already use for content or AI-search work maintains llms.txt as a feature, turn it on. Paying for an app that does nothing else is hard to justify at current adoption levels.

Option two is hosting it off-root — as a Shopify page, on a subdomain you control, or in a public repository. This costs nothing but sacrifices the discovery convention: assistants that support llms.txt check the domain root, and nothing tells them to look at /pages/llms instead. Off-root, the file becomes documentation you can point to, not a signal that gets found on its own.

Whichever route you take, curation is the actual work. A 400-line dump of every product URL is a worse sitemap, not a reading guide — keep it short enough that every entry earns its place.

Where llms.txt fits in your AI search effort

Treat llms.txt as the cheapest line item in a longer plan, not the plan itself. Assistants weight answer-shaped pages, structured data, and third-party citations far more heavily than any single file — a curated map only pays off once there are pages worth mapping. If you are sequencing that work, our generative engine optimization guide lays out a 30-day order of operations.

Once the file exists, maintenance is light but real. Review it when you publish a significant guide, retire a collection, or change a policy page URL — a map that points at 404s is worse than no map at all. A quarterly calendar reminder covers it for most stores, and the review takes minutes once the structure is in place.

If you host content through Hushwork, this particular chore disappears: it automatically maintains an llms.txt covering the content feeds it hosts on your own domain, updating the file as pages publish and retire.

Frequently asked questions

Does llms.txt replace robots.txt?

No. robots.txt controls crawler access — which user agents may fetch which paths — and on Shopify it is edited through the robots.txt.liquid template. llms.txt controls nothing; it is a curated Markdown reading list for assistants that choose to consult it. You can sensibly have both, and neither affects the other.

Which AI assistants actually read llms.txt?

Adoption is uneven and mostly undocumented. Some assistants fetch the file when it exists; none of the major ones — ChatGPT, Gemini, Copilot, Perplexity, Claude — publicly commit to honoring it. Treat it as a low-cost bet with genuine but unguaranteed upside, not as a supported integration with any specific assistant.

Can I upload llms.txt through Shopify's Files section?

You can upload it, but it will not work. Files uploaded in the Shopify admin are served from Shopify's CDN at a cdn.shopify.com URL, not from your domain root. An assistant requesting yourstore.com/llms.txt gets a 404. Root-level serving requires an app, because Shopify reserves the domain root.

What belongs in an llms.txt file?

Your best ten to twenty pages: buying guides, comparison pages, key collections, and the policy pages shoppers ask about, each with a one-line description. Leave out cart, account, and tag-archive URLs. The test for each entry: would an assistant answering a customer question genuinely benefit from reading this page?

Keep reading