AI crawlers allowed in robots.txt
Shopify serves robots.txt from a template. In your admin: Online Store → Themes → ⋯ → Edit code → Add a new template → robots.txt.liquid, then remove the crawler blocks it renders.
Site platforms
Shopify gave stores control of robots.txt in 2021, through a theme template rather than a settings field, and most stores have never touched it. The default is reasonable — it does not block the AI crawlers — so a failure on that check usually means somebody added a template, or an app did.
The gap on most stores is schema. Themes generate Product and BreadcrumbList markup automatically and nothing else, so the store has rich structured data about every item it sells and no statement at all about who the company is. That is the Organization check, and it is a paste into theme.liquid.
How we recognise it: an X-Shopify-Stage or X-ShopId response header, or assets on cdn.shopify.com. Run the free readiness check and the fixes it gives you are the Shopify ones below.
Online Store → Themes → ⋯ → Edit code. If there is no robots.txt.liquid, Shopify is serving its sensible default and you should leave it alone. Adding a template to "fix" a check that is already passing is how stores end up blocking crawlers by accident.
Inside the <head>, so it appears on every page. Your theme is already emitting Product schema per item; this is the one that says who is selling them.
layout/theme.liquid, inside <head>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": {{ shop.name | json }},
"url": {{ shop.url | json }},
"sameAs": [
"https://www.instagram.com/yourstore",
"https://www.linkedin.com/company/yourstore"
]
}
</script>Assistants answering "is X worth buying" reach for the terms as often as the price, and a store that keeps them in a modal or a footer accordion has nothing for the engine to cite. Real pages under /pages/ are cheap and they are what gets quoted.
CueScout runs eight checks on whether an answer engine can read a site at all. These are the ones whose answer is different on Shopify — the rest are the same everywhere.
Shopify serves robots.txt from a template. In your admin: Online Store → Themes → ⋯ → Edit code → Add a new template → robots.txt.liquid, then remove the crawler blocks it renders.
Shopify will not serve an arbitrary file from your root, so /llms.txt cannot be a file. Either put it behind a proxy on your own domain, or accept this one and spend the effort on the checks you can pass.
Add Organization JSON-LD with sameAs links to theme.liquid, inside <head>. Most themes already emit Product and BreadcrumbList schema and no Organization at all.
Your product pages carry the prices, but assistants also look for one page that explains what things cost. A plain page under /pages/pricing gives them a URL to cite.
These describe Shopify’s own settings, which move without warning us. Last checked against the product on 2026-08-14.
No. Everything is read from your public storefront over HTTP, so there is nothing to install and no permissions to grant.
It stops them being quoted, which is the same thing as not being recommended. Whether that trade is right for you is a real decision — but it is a decision, and most stores that have it are not aware they made one.
The search-grounded ones retrieve whatever page answers the question, and structured data helps them parse it. What they cite far more often, though, is a review or a roundup that mentions your product, which is not on your domain at all.
WordPress
The virtual robots.txt, the Yoast and Rank Math settings that produce sameAs, and where llms.txt goes.
Site platformsWix
The built-in robots.txt editor, the custom schema field, and the Velo-shaped rendering trap.
Site platformsSquarespace
Two checks Squarespace makes impossible, and the schema ones you can still pass through code injection.
The readiness check is free, needs no signup, and takes about half a minute. It works out what your site is built on and gives you the fixes written for it.