Read your robots.txt the way a crawler does
Step 1: Open the live file
Go to
https://yourstore.com/robots.txtin a browser, or fetch it from a terminal so you see the status code too. A200means crawlers read the rules. A404means they may crawl everything. A5xxmeans they must assume everything is disallowed.Terminal: status code and file curl -s -w "\nHTTP %{http_code}\n" https://yourstore.com/robots.txtStep 2: Repeat it on every host you sell from
robots.txt only covers the host it is served from. If you use
shop.example.com, awwwhost or a separate checkout or help-center domain, each has its own file. Anthropic, for example, asks site owners to add rules for every subdomain they want to opt out.Step 3: Find the group that applies to each crawler
A group starts with one or more
User-agentlines. A crawler looks for a group naming its token. Names are case-insensitive, sogptbotmatchesGPTBot. If several groups name the same crawler, RFC 9309 says to merge them. Only a crawler with no group of its own usesUser-agent: *.Step 4: Apply the most specific rule
Inside the group, the rule with the longest matching path must be used. If an
Allowand aDisallowrule match equally, RFC 9309 says theAllowrule should be used. Paths are case-sensitive, soDisallow: /Productsdoes not block/products.Example: what GPTBot and OAI-SearchBot may fetch User-agent: * Disallow: /cart Disallow: /checkout User-agent: GPTBot Disallow: / # GPTBot: blocked everywhere (its own group). # OAI-SearchBot: no group of its own, so it follows *. # /products/blue-tee allowed # /cart disallowed
The AI crawlers to look for
These are the tokens the companies document today. Training crawlers collect pages for model training. Search crawlers build the index an AI assistant answers from. User-triggered fetchers open a page because a person asked.
| Token | Company | Purpose | Follows robots.txt |
|---|---|---|---|
GPTBot | OpenAI | Model training | Yes |
OAI-SearchBot | OpenAI | ChatGPT search | Yes |
ChatGPT-User | OpenAI | Pages a person asks ChatGPT to open | OpenAI says rules may not apply |
ClaudeBot | Anthropic | Model training | Yes |
Claude-SearchBot | Anthropic | Search quality | Yes |
Claude-User | Anthropic | Pages a person asks Claude to open | Anthropic says its bots honor robots.txt |
PerplexityBot | Perplexity | Perplexity search | Yes |
Perplexity-User | Perplexity | Pages a person asks Perplexity to open | Generally ignores robots.txt |
Googlebot | Google Search, including its AI features | Yes | |
Storebot-Google | All Google Shopping surfaces | Yes | |
Google-Extended | Control token for Gemini training and grounding; no crawler of its own | Read from Googlebot's crawl | |
Applebot | Apple | Siri, Spotlight and Safari search; may also be used for training | Yes; follows Googlebot rules if Applebot has none |
Applebot-Extended | Apple | Control token for Apple model training | Read from Applebot's crawl |
meta-externalagent | Meta | Training and indexing | Yes |
meta-webindexer | Meta | Meta AI search | Yes |
meta-externalfetcher | Meta | Links a person shares or asks Meta AI to open | Meta says it may bypass robots.txt |
Amazonbot | Amazon | Amazon products and services; may train Amazon AI models | Yes |
bingbot | Microsoft | Bing search and Copilot | Yes |
Check what your firewall or CDN does
robots.txt is a request that well-behaved crawlers honor. Your CDN, firewall or hosting platform can still answer an AI crawler with a challenge page or a 403, whatever robots.txt says. This is the block store owners most often don't know they have.
Step 1: Look at the bot settings in your CDN
On Cloudflare, check the AI crawler and bot settings, then the security events for AI crawlers. Our guide on whether Cloudflare blocks AI agents lists where each setting lives.
Step 2: Search your access logs for AI crawlers
If you run your own server or can export CDN logs, count the status codes each AI crawler received. Many
403or429responses mean a block or a rate limit.Terminal: status codes per AI crawler (combined log format) grep -Eio 'gptbot|oai-searchbot|chatgpt-user|claudebot|claude-user|claude-searchbot|perplexitybot|perplexity-user' access.log \ | sort | uniq -c grep -Ei 'oai-searchbot' access.log | awk '{print $9}' | sort | uniq -cStep 3: Don't trust a spoofed user agent test
Sending a request from your laptop with a GPTBot user agent only tests rules that match on the user agent. Bot protection checks the real crawler's IP ranges, and the companies publish them for that reason. A fake GPTBot may be blocked while the real one gets through, or the other way round.
Check it automatically
The AI crawler checker and Aiscovery's site check read your live robots.txt and show what it declares for each AI company's crawler, including the groups that override *. They report declared policy only: Aiscovery never pretends to be an AI crawler, so a firewall block needs the log check above.
On a platform where you can't see the server, start with the platform guide. On Shopify, robots.txt comes from a theme template; see how to allow ChatGPT and other AI agents on a Shopify store.
Keep going
- AI crawler checkerPaste your store URL and see what robots.txt declares for each AI crawler.
- Aiscovery on ShopifyWhere robots.txt and bot rules come from on a Shopify store.
- Our checkerHow AiscoveryAudit identifies itself and how to allow or block it.
- Request a demoSee the site check and an AI agent test run on your own store.