lintpage
~/llms-txt/shopify
§ Shopify

llms.txt on Shopify

Shopify does not let you put arbitrary files at the domain root, so /llms.txt is not directly writable. What you can actually do, and which workarounds are worth it.

Shopify serves theme assets from /cdn/ and controls the root itself. robots.txt is editable through a theme template; almost nothing else at the root is.

§ how to serve it

Serving /llms.txt from Shopify.

step 1

Understand what Shopify will and will not serve

Files you upload under Settings → Files are served from Shopify's CDN at a /cdn/shop/files/ path, not from your domain root. Theme assets are the same. Shopify reserves the root for URLs it controls, which is why there is no "upload this to the root" option anywhere in the admin. The one exception it has carved out is robots.txt, via the robots.txt.liquid template.

step 2

Check whether Shopify now serves one for you

Shopify has been adding AI-crawler features to the platform, and root-level file support is exactly the kind of thing that arrives without an announcement reaching store owners. Fetch the URL on your own store before building a workaround for a problem the platform may have solved.

bash
curl -sI https://your-store.myshopify.com/llms.txt | head -1
curl -sI https://your-custom-domain.com/llms.txt | head -1
step 3

Publish the index as a regular page instead

The workaround that stays within the platform: create a page in Online Store > Pages whose content is your index, and link it from your footer menu so people and crawlers can reach it. Shopify already lists published pages in the sitemap it generates, so there is nothing to add to sitemap.xml. Do not reach for robots.txt.liquid here either - robots.txt has no directive that points at a page like this, and a Sitemap: line only takes an XML sitemap. This is a standalone fallback, not a file at /llms.txt - no honest guide will tell you otherwise - and a client that fetches that exact path will not find it.

step 4

If you need the real path, put a proxy in front

A CDN or reverse proxy in front of your storefront - Cloudflare being the common one - can answer /llms.txt itself before the request reaches Shopify. A Cloudflare Worker or a bulk redirect rule does it in a few lines. This is a real infrastructure change with real failure modes, so it is worth it only if you have decided the exact path matters.

§ what goes wrong here

What Shopify gets wrong.

The failures below are specific to Shopify. A generic llms.txt guide will not mention any of them.

01

A Shopify app that claims to add llms.txt to the root

The Shopify-specific thing to be sceptical about. Apps cannot write to the root either - they have the same platform constraints you do. What an app can do is create a page on your store and present it as your llms.txt. Before installing one, ask what URL the file will actually be served from, and verify it with curl afterwards.

02

The .myshopify.com domain versus your custom domain

Anything you set up is reachable on both hostnames, and your .myshopify.com domain canonicalises to your custom domain. Test on the domain customers and crawlers actually use, or you will validate a URL nobody visits.

03

Theme updates overwriting robots.txt.liquid

robots.txt.liquid is a theme file. Changing themes, or updating one that ships its own copy, replaces it - silently, and with no indication that a customisation was lost. Keep your additions documented somewhere outside the theme.

04

Blocking AI crawlers in robots.txt while inviting them elsewhere

Shopify's robots.txt defaults change over time, and several AI user-agents have been added to platform-level blocks. If you publish an index for AI clients while robots.txt tells those same clients to stay out, the block is what they obey.

§ faq

Questions, answered.

Can you add an llms.txt file to Shopify?
Not directly at the domain root. Shopify controls root-level URLs and serves uploaded files from its CDN under /cdn/shop/files/, so there is no admin setting that puts a file at /llms.txt. The editable exception is robots.txt, through the robots.txt.liquid theme template. Everything else is a workaround - a page, or a proxy in front of the storefront.
Where does Shopify put files I upload in Settings → Files?
On Shopify's CDN, at a path like /cdn/shop/files/llms.txt with a version query string. That URL is public and stable enough to link to, but it is not your domain root, and nothing looking for /llms.txt will find it there.
Is there a Shopify app that adds llms.txt?
Apps run under the same platform constraints you do - none of them can write to the domain root. What they can do is publish your index as a page on the store, which is the same workaround you can set up by hand. That may be all you need, but check what URL the app actually produces before believing the listing, and verify it with curl.
Does Shopify block AI crawlers by default?
Shopify manages a default robots.txt for every store and has adjusted its AI-crawler rules over time, so the answer depends on when you look. Fetch your own /robots.txt and read it. If it disallows the AI user-agents while you are also publishing an index for them, the robots.txt rule is the one they will obey.
§ the part that matters

An llms.txt will not fix a site AI cannot read.

Before writing an index for AI clients, check that they can fetch your pages at all. LintPage runs 60 checks against a URL in about 30 seconds - free, no signup.

run a full scan →