All articles

AI Crawler Access & robots.txt: Technical Guide to GPTBot, ClaudeBot, and PerplexityBot Indexation

How AI search engines like ChatGPT, Claude and Perplexity crawl the web, how RFC 9309 rules work, and how to configure robots.txt to maximize citation frequency while protecting sensitive endpoints.

By J. Pannu · · 8 min read

Technical network architecture schematic showing AI search crawlers routing through an RFC 9309 robots.txt protocol gateway

Executive summary

TL;DR: AI answer engines can only cite pages their crawlers are allowed to fetch. Allow the search and retrieval bots (OAI-SearchBot, ChatGPT-User, PerplexityBot, Claude's crawlers, Googlebot, Bingbot, Applebot) in robots.txt, decide separately whether to allow model-training bots (GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot), keep private paths disallowed, and confirm your CDN or firewall is not silently blocking them.

  • robots.txt is governed by IETF RFC 9309; the longest matching rule wins.
  • Training access and real-time retrieval access are controlled by different user agents.
  • Edge firewalls often block AI bots even when robots.txt allows them, so test with real requests.

The two-tier crawling pipeline

AI systems reach your content in two distinct ways:

  1. Bulk pre-training ingestion. Crawlers such as GPTBot, ClaudeBot, Google-Extended and CCBot collect large volumes of public text that may be used to train future models. Blocking them affects what a model "knows" long term, not whether you appear in today's answers.
  2. Real-time retrieval (RAG). When a user asks a question, search-oriented agents such as OAI-SearchBot, ChatGPT-User and PerplexityBot fetch live pages, extract passages and cite them. Blocking these removes you from cited answers directly.

Retrieval is where visibility is won. As Aggarwal et al. write in the Princeton GEO study, generative engines "synthesize information from multiple sources" and adding citations, quotations and statistics can boost source visibility "by up to 40%" in generative responses. None of that applies if the retrieval crawler cannot read the page.

The 2026/2027 AI crawler directory

User agentOperatorPurposeEffect of blocking
OAI-SearchBotOpenAIIndexes pages for ChatGPT search resultsNot shown or cited in ChatGPT search
ChatGPT-UserOpenAIFetches pages on demand for user requestsChatGPT cannot open your pages live
GPTBotOpenAICollects content for model trainingExcluded from future training data
ClaudeBotAnthropicCollects content for model trainingExcluded from Claude training data
anthropic-aiAnthropicLegacy Anthropic token still honoured by some sitesKept for backwards compatibility
PerplexityBotPerplexityIndexes pages for Perplexity answersNot surfaced or cited in Perplexity
Google-ExtendedGoogleControl token for Gemini training and groundingContent not used for Gemini models; Search unaffected
GooglebotGoogleGoogle Search and AI Overviews indexRemoved from Search and AI Overviews
Applebot-ExtendedAppleControl token for Apple model trainingNot used for Apple Intelligence training
ApplebotAppleSiri and Spotlight search indexNot shown in Siri/Spotlight results
CCBotCommon CrawlOpen web corpus used by many model buildersExcluded from Common Crawl datasets
BingbotMicrosoftBing index powering Copilot and other enginesRemoved from Bing and Copilot answers

Operators update their lists; check each vendor's official crawler documentation before making changes.

How RFC 9309 evaluates robots.txt

  • Group selection: a crawler obeys the group whose User-agent line best matches its product token; if none match, it uses the * group. Groups are not combined.
  • Longest match wins: RFC 9309 Section 2.2.2 states that "the most specific match found MUST be used. The most specific match is the match that has the most octets."
  • Tie-breaker: "If an allow rule and a disallow rule are equivalent, then the allow rule SHOULD be used."
  • Case sensitivity: Section 2.2.1 says crawlers "MUST use case-insensitive matching to find the group that matches the product token". Paths, however, are case-sensitive: /Admin and /admin are different rules.
  • Special characters: * matches any sequence and $ anchors the end of a path.

Production-ready robots.txt templates

Architecture A: open generative ingestion

Maximises both citations and training presence.

User-agent: *
Allow: /
Disallow: /admin/
Disallow: /dashboard/
Disallow: /api/
Disallow: /*?session=

Sitemap: https://YOUR-DOMAIN.COM/sitemap.xml

Architecture B: selective search ingestion

Allows real-time retrieval and search, but opts out of model training.

User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: PerplexityBot
User-agent: Googlebot
User-agent: Bingbot
User-agent: Applebot
Allow: /
Disallow: /admin/
Disallow: /api/

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: anthropic-ai
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
Disallow: /

User-agent: *
Allow: /
Disallow: /admin/
Disallow: /api/

Sitemap: https://YOUR-DOMAIN.COM/sitemap.xml

Copy and edit all placeholder text in CAPITALS in the code blocks before implementing.

CDN and edge firewall troubleshooting

A permissive robots.txt means nothing if the edge returns 403. Cloudflare's managed "Block AI bots" / AI Scrapers and Crawlers setting and bot-fight modes can block AI agents by default. Review Security → Bots, and allow verified bots you want to reach your site.

Run synthetic checks for each user agent:

curl -I -A "Mozilla/5.0 (compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot)" https://YOUR-DOMAIN.COM/
curl -I -A "Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)" https://YOUR-DOMAIN.COM/
curl -I -A "Mozilla/5.0 (compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" https://YOUR-DOMAIN.COM/
curl -s https://YOUR-DOMAIN.COM/robots.txt

Expect 200. A 403, 429 or challenge page means the firewall is blocking. User-agent spoofing tests only the rule path; real bots are verified by IP ranges the vendors publish, so also check firewall logs.

Common antipatterns to avoid

  • A leftover Disallow: / under User-agent: * from a staging site.
  • Blocking OAI-SearchBot or PerplexityBot while trying only to opt out of training.
  • Expecting a bot to merge rules from its named group and the * group.
  • Serving robots.txt with a 5xx error; RFC 9309 tells crawlers to treat it as fully disallowed.
  • Rendering key content only with client-side JavaScript that AI fetchers do not execute.
  • Relying on robots.txt to hide private data; use authentication instead.

Scholarly and standards citations

  1. Koster, M., Illyes, G., Zeller, H., Sassman, L. (2022). RFC 9309: Robots Exclusion Protocol. IETF.
  2. Aggarwal, P. et al. (2023). GEO: Generative Engine Optimization. Princeton University / arXiv:2311.09735.
  3. OpenAI. Overview of OpenAI crawlers.
  4. Google. Google crawlers and fetchers.
  5. Perplexity. Perplexity crawlers.
  6. Apple. About Applebot.

Frequently asked questions

Which AI crawlers should I allow in robots.txt?

To be cited in AI answers, allow the search and retrieval bots: OAI-SearchBot, ChatGPT-User, PerplexityBot, Googlebot, Bingbot and Applebot. Training bots such as GPTBot, ClaudeBot, Google-Extended, Applebot-Extended and CCBot can be allowed or blocked separately.

Does blocking GPTBot remove my site from ChatGPT search?

No. GPTBot collects training data. ChatGPT search uses OAI-SearchBot and live fetches use ChatGPT-User, so those must be allowed for your pages to be cited.

How does RFC 9309 decide between Allow and Disallow rules?

The most specific rule, meaning the longest matching path, wins. If an Allow and a Disallow rule are equally long, the Allow rule should be used.

Is robots.txt case-sensitive?

User-agent names are matched case-insensitively, but paths are case-sensitive, so /Admin and /admin are different rules.

Why are AI bots blocked even though robots.txt allows them?

A CDN or firewall, such as Cloudflare's AI bot blocking setting, can reject the request before robots.txt is read. Test with curl using each bot's user agent and check for a 200 response.

About the author

J. Pannu · Founder

Full-stack online marketing professional. Simultaneously placed multiple websites in the top, most visited sites in the world.

#geo#robots.txt#ai search#crawlability#gptbot#perplexitybot#claudebot

Keep reading