Answers · AI crawlers
Does robots.txt stop AI crawlers, and how do I block AI training without leaving AI search?
Last updated
TL;DR: robots.txt is a request, not a lock. RFC 9309 says its rules 'are not a form of access authorization', but the big AI operators say their automatic crawlers follow it, and most use separate tokens for training and for search, so one file can say no to training and yes to AI search. Disallow GPTBot (OpenAI training), ClaudeBot (Anthropic training), Google-Extended (Gemini training and grounding; Google says it doesn't affect Google Search), Applebot-Extended (Apple's foundation models; it doesn't crawl, so Applebot search continues) and CCBot (Common Crawl). Leave OAI-SearchBot, Claude-SearchBot, PerplexityBot, Googlebot and Applebot allowed. Fetches a person asks an assistant to make follow different rules: OpenAI says robots.txt may not apply to ChatGPT-User, Perplexity says Perplexity-User generally ignores it, and Anthropic says disallowing Claude-User stops those fetches. For scrapers that ignore robots.txt or borrow a known bot's name, robots.txt does nothing; that takes a firewall rule checked against the operators' published IP lists.
What should I check, step by step?
1. Write one group per training token: User-agent: GPTBot, User-agent: ClaudeBot, User-agent: Google-Extended, User-agent: Applebot-Extended and User-agent: CCBot, each followed by Disallow: /. Several User-agent lines can share one group.
- Name the search crawlers you want in their own group with Allow: / (OAI-SearchBot, Claude-SearchBot, PerplexityBot). RFC 9309 says a crawler obeys the group that names it and uses the * group only when no group matches, so a strict * group won't block them once they have their own.
- Don't block Googlebot or Applebot unless you want to leave those search engines. Google says Google-Extended doesn't affect inclusion or ranking in Google Search, and Apple says pages that disallow Applebot-Extended can still be included in its search results.
- Decide about user-triggered fetchers on purpose. Disallowing Claude-User stops Claude's user-requested fetches. For ChatGPT-User and Perplexity-User, robots.txt may not hold, so block them at the firewall if you must, knowing assistant users then can't read or cite you.
- Put the file at the root of every host. Anthropic says to do this for each subdomain you want opted out, and robots.txt on www doesn't cover blog.example.com.
- Keep robots.txt reachable. Under RFC 9309, a 4xx lets crawlers access anything, and a 5xx means crawlers must assume everything is disallowed. Crawlers should re-read the file at least every 24 hours, and OpenAI and Perplexity say changes can take about 24 hours to apply.
- Don't use IP blocks to opt out of training. Anthropic says blocking its IPs may not work reliably as an opt-out, because then it can't read your robots.txt.
- For anything that ignores the file, enforce at the edge: verify a claimed bot by its operator's IP list or reverse DNS (OpenAI, Perplexity, Apple and Common Crawl publish these), then block or rate limit what fails.
What robots.txt can and can't do
RFC 9309 standardized the Robots Exclusion Protocol in 2022. It describes rules that crawlers are requested to honor and says they are not access authorization. Its security section adds that listing paths publicly makes them easier to find, so robots.txt is the wrong place to hide private pages.
- It works because the operators say they follow it. OpenAI says each of its settings is independent: disallowing GPTBot signals that content shouldn't be used to train its foundation models, and allowing OAI-SearchBot keeps you in ChatGPT search. Anthropic says its bots honor robots.txt and supports the non-standard Crawl-delay directive. Common Crawl says it knows of crawlers falsely calling themselves CCBot.
- An opt-out covers future collection. Anthropic, for example, says restricting ClaudeBot signals that the site's future materials should be left out of training datasets. It doesn't pull content back out of models already trained.
The tokens that only control use
Google-Extended and Applebot-Extended don't crawl. Google crawls with its existing user agents and reads Google-Extended only as a control token for Gemini training and grounding. Apple reads Applebot-Extended only to decide how data Applebot crawled may be used. You won't see either in your logs.
- Apple adds a second switch: the nosnippet meta tag keeps content out of the AI-generated world-knowledge answers in Siri and Search, which Applebot-Extended alone doesn't do.
- Google says it intends to support the AIPREF shared, machine-readable training preference signal (user-agent: __usage_ai-training) in early 2027.
How do I ask Rightshold about this (free, no key)?
Add the MCP server https://www.rightshold.com/mcp to Claude, Cursor, ChatGPT, Grok or VS Code, then ask: “What does example.com's robots.txt tell GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot and the AI search and user-fetch bots? Is training opted out while search stays allowed?”
{
"tool": "read_ai_policy",
"arguments": {
"domain": "example.com"
}
}- Free, no key, cached 6 hours. For 14 AI crawlers and user-fetch agents it reports the operator, the purpose (training, search or user fetch), whether the path is allowed and which group matched, plus Content-Signal lines, ai.txt, W3C TDMRep and whether llms.txt exists.
- Add path to check one section, such as {"domain": "example.com", "path": "/blog/"}.
- It reads your published signals only. It doesn't see who actually crawled you or whether they obeyed, and it doesn't block anything.
Rightshold reads a site's public robots.txt and AI-use signals on request. It does not enforce robots.txt, block crawlers, see your traffic or tell you whether an operator actually honored your rules, and these signals are not a license. Not legal advice.
What are the sources?
- RFC 9309: Robots Exclusion Protocol
- OpenAI: Overview of OpenAI crawlers (GPTBot, OAI-SearchBot, ChatGPT-User)
- Anthropic: Does Anthropic crawl data from the web, and how can site owners block the crawler?
- Google: Common crawlers (Google-Extended)
- Apple: About Applebot (Applebot-Extended)
- Perplexity: Perplexity crawlers
- Common Crawl: CCBot
Related
- How to tell ChatGPT-User and other AI assistant fetches from AI training crawlers in server logs
- How to verify which AI agent is hitting your site with Web Bot Auth
- Does a no-AI notice on your art do anything legally?
- How to make a website readable to AI agents with llms.txt and markdown pages
Not legal advice. JSON · Markdown · All answers
Get a free API key in one call
No card and no email needed. 100 free credits; the license and policy checks stay free without a key.
curl -s -X POST https://www.rightshold.com/v1/accounts/signup -H "Content-Type: application/json" -d '{"accept_terms":true}'
export RIGHTSHOLD_API_KEY=rs_... # the api_key from the reply (shown once)
curl -s https://www.rightshold.com/v1/licenses/check -H "Authorization: Bearer $RIGHTSHOLD_API_KEY" \
-H "Content-Type: application/json" -d '{"license":"MIT","intended_use":{"commercial_use":true}}'
