A copy-paste robots.txt for Shopify stores that want AI visibility
Last reviewed
Short answer
Keep Shopify's default rules, explicitly allow the search and user-fetch agents (OAI-SearchBot, ChatGPT-User, PerplexityBot, Perplexity-User, Claude-SearchBot, Claude-User), and make training bots (GPTBot, ClaudeBot, Google-Extended) a deliberate allow or block rather than an accident. The template below does exactly that in a robots.txt.liquid file, and nothing else.
What this template does and refuses to do
It states an explicit Allow for every agent whose job is search indexing or fetching a page for a user, because those decide whether assistants can find and read your store. It groups the training crawlers separately so blocking them is one visible choice, not a side effect. And it keeps Shopify's generated defaults, which protect cart, checkout and search URLs.
It refuses to block by vibes. Most circulating blocklists were written for publishers, and a store's incentives run the other way. Every token here was read off the operator's own documentation, and each one has its own reference page.
The template
Create a template called robots.txt.liquid in your theme's code editor and paste this. The first line keeps every default rule Shopify generates, which is the part most hand-rolled files lose.
| Line | Why it is there |
|---|---|
| {% for group in robots.default_groups %} ... {% endfor %} | Renders Shopify's own defaults unchanged, including future updates |
| User-agent: OAI-SearchBot / Allow: / | OpenAI states sites opted out of it are not shown in ChatGPT search answers |
| User-agent: ChatGPT-User / Allow: / | Fetches your page when a shopper asks ChatGPT about it right now |
| User-agent: PerplexityBot / Allow: / | Indexes your store for Perplexity results |
| User-agent: Perplexity-User / Allow: / | Fetches for a live Perplexity user question |
| User-agent: Claude-SearchBot / Allow: / | Indexes for Claude search results |
| User-agent: Claude-User / Allow: / | Fetches for a live Claude user question |
| User-agent: GPTBot / Allow or Disallow: / | Training only. Your call, no visibility cost either way |
| User-agent: ClaudeBot / Allow or Disallow: / | Training only. Same call |
| User-agent: Google-Extended / Allow or Disallow: / | Gemini training and grounding only. Does not touch Google Search |
The Shopify mechanics, and the warning that comes with them
Shopify generates robots.txt automatically and there is no admin field for it. The override is the robots.txt.liquid template: Online Store, Themes, Edit code, add template, type robots.txt. Shopify's help page is blunt that this is an unsupported customisation, that Support will not help with it, and that incorrect use can result in loss of all traffic. Respect that warning by keeping the default_groups loop.
After saving, load yourstore.com/robots.txt and read what actually rendered. That rendered file is the truth, not the template, and reading it takes ten seconds.
- Online Store, then Themes, then Edit code
- Add a new template, type robots.txt, creating robots.txt.liquid
- Keep the default_groups loop first, add the agent groups after it
- Load /robots.txt and read the rendered output
- Give changes about 24 hours: OpenAI states robots.txt updates take roughly a day to register
Two caveats that keep this honest
Robots.txt is a request, not a wall. Compliant crawlers honour it, others do not, and OpenAI's docs state robots.txt rules may not apply to ChatGPT-User because those fetches are user-initiated. The file manages honest crawlers, which is most of what matters for visibility.
And robots.txt is not the only gate. A CDN or firewall can block a bot your robots.txt allows, silently. If your store sits behind your own Cloudflare zone, that audit is a separate ten minutes, and the September 15 default change makes it worth doing this week.
Frequently asked questions
Do I need this template if I have never touched robots.txt?
Probably not for the search agents, since Shopify's defaults do not block them. The template earns its place when you want the training decision made explicitly, or when a previous edit left rules you are not sure about. Reading your rendered /robots.txt first costs nothing.
Will allowing these bots slow my store down?
Not meaningfully. These crawlers fetch pages the way browsers do, Shopify's infrastructure absorbs crawl traffic as a matter of course, and the user-fetch agents only arrive when a real person asked about your store, which is traffic you want.
Should I block GPTBot?
It is a genuine choice with no wrong answer. Blocking it signals your content should not train OpenAI's models and does not remove you from ChatGPT search. We wrote the decision out separately, and the template works with either choice filled in.
I pasted a blocklist from a blog last year. How do I check what it did?
Load yourstore.com/robots.txt and compare each User-agent group against the reference table on our user-agents page. The usual damage is a publisher blocklist that caught OAI-SearchBot and the user-fetch agents, which removes you from AI answers for nothing in return.
Sources
Keep reading
Score your own catalog
Entitled grades every product against the rules on this page, explains each failure, and fixes them with AI you approve. The score is free forever.
