Growth Marketing
Marketing Wiki

AI Crawler Setup Guide — Writing robots.txt for GPTBot, ClaudeBot, PerplexityBot, and Google-Extended

5 min read
GPTBot·ClaudeBot 등 AI 크롤러 robots.txt 설정법을 다룬 가이드 대표 이미지입니다.

How you handle AI crawlers like GPTBot, ClaudeBot, and PerplexityBot in robots.txt determines whether your content can be cited in ChatGPT, Claude, and Perplexity answers. The core principle is “separate by purpose.” Blocking search-and-citation crawlers (OAI-SearchBot, PerplexityBot, Claude-SearchBot) excludes your site from those AI search answers entirely, so allowing them is the default; training crawlers (GPTBot, ClaudeBot, CCBot) and Google-Extended can be selectively blocked based on your content strategy. The identification table and robots.txt examples below have all been verified directly against each provider’s official documentation.

Why do AI crawler settings matter? — Blocking means disqualification from AI citations

Content that generative AI references in an answer enters through two channels: data collected during the model’s training phase, and pages retrieved and read in real time when a question is answered. Either way, it all starts with whether an AI crawler can access your site.

AI crawler configuration is the entry ticket to AI citation, leading from access permission through candidate retrieval, chunk evaluation, and answer citation.
Block search-and-citation crawlers in robots.txt, and even great content struggles to become a candidate for AI answers.

This isn’t speculation — it’s behavior the providers state explicitly. OpenAI’s official crawler documentation states that sites blocking (opting out of) OAI-SearchBot will not appear in ChatGPT search answers. Perplexity similarly recommends allowing PerplexityBot to appear in search results. In other words, blocking a search-and-citation crawler isn’t just “data protection” — it’s voluntary disqualification from the AI search channel.

The control in the opposite direction is just as clear. According to OpenAI’s documentation, disallowing GPTBot is treated as a statement of intent that says “don’t use this site’s content for training.” Google’s official crawler documentation states that blocking Google-Extended only prevents use in Gemini model training and grounding, and has no effect on inclusion in or ranking within Google Search. Because the tokens are separated by purpose, you can apply selective settings instead of a blanket block.

The problem is the inertia of “just block all AI bots,” a reflex that took hold early in the generative AI era. Blocking without distinguishing training crawlers from search crawlers protects your data, but it also means giving up your visibility in the AI search era entirely. GEO research accepted at KDD 2024 reported that visibility within generative-engine answers can be boosted by up to 40% — but the entire premise of that optimization is “the crawler can access your content” in the first place. Content that can’t be read isn’t even eligible for optimization.

As covered in how South Korea’s search market share is shifting, domestic information-discovery channels are being rapidly reshaped too, and if AI engine optimization (AIEO) is the response, crawler settings are step one. Getting cited in an AI answer isn’t a device for driving up total traffic — it’s a device for making your brand appear in response to a specific question asked right before a purchase decision. There’s no reason to leave that seat empty for the one customer who becomes revenue.

Identification table for major AI crawlers — user-agent, provider, purpose

The table below was compiled by directly checking the official documentation of OpenAI, Anthropic, Perplexity, Google, and Common Crawl (as of June 2026). Bots that couldn’t be confirmed through official documentation aren’t included. Use the user-agent tokens below exactly as written in robots.txt.

User-agent token Provider Purpose Respects robots.txt Official documentation
GPTBot OpenAI Collects content to train foundation models Yes OpenAI bot documentation
OAI-SearchBot OpenAI Surfaces and links content in ChatGPT search results Yes OpenAI bot documentation
ChatGPT-User OpenAI Visits a page on a user’s direct request (not automated crawling) May not apply OpenAI bot documentation
ClaudeBot Anthropic Collects web content to improve generative AI models and safety Yes Anthropic crawler documentation
Claude-SearchBot Anthropic Improves the quality of search results Yes Anthropic crawler documentation
Claude-User Anthropic Accesses a web page when a user asks a question Yes Anthropic crawler documentation
PerplexityBot Perplexity Surfaces and links content in Perplexity search results (not used for model training) Yes Perplexity crawler documentation
Perplexity-User Perplexity Accesses a page to support a user action Generally does not apply Perplexity crawler documentation
Google-Extended Google A control token for whether Gemini can use content for training/grounding (not a separate crawler) Yes (control token) Google crawler documentation
CCBot Common Crawl (nonprofit) Builds an open web archive — a source corpus for many LLMs’ training data Yes Common Crawl documentation

Three categories by purpose — what to block, what to allow

  • Training crawlers — GPTBot, ClaudeBot, CCBot: the content they collect is used for model training. Blocking them operates independently of AI search visibility. In particular, Common Crawl’s open archive has been used as a source corpus for large language model training, as confirmed in the GPT-3 paper.
  • Search-and-citation crawlers — OAI-SearchBot, PerplexityBot, Claude-SearchBot: these collect content specifically to surface and link your site in AI search answers. Blocking them means disqualification from that AI search channel.
  • User-agent fetchers — ChatGPT-User, Claude-User, Perplexity-User: these open a page on the spot when a user asks a question. OpenAI states that “because this is a user-initiated action, robots.txt rules may not apply,” and Perplexity states that Perplexity-User generally does not follow robots.txt. Because these behave more like an actual human visit, there’s little practical benefit to blocking them.

Google-Extended is a special case that doesn’t fit any of the three categories above. It doesn’t visit as a separate user-agent — it only controls whether content already collected by Google’s existing crawlers can be used for Gemini training and grounding (supplying the model with content from the search index at answer time).

AI crawlers should be configured by splitting them into training, search-and-citation, user-agent fetcher, and the Google-Extended control token.
Treat every AI bot as the same kind of risk, and you end up blocking the exact crawlers you need for search visibility.

Full user-agent strings for identifying crawlers in server logs

Because version numbers can change, it’s safer in practice to match on the token itself — like “GPTBot” — as a partial string match.

GPTBot         Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.3; +https://openai.com/gptbot
OAI-SearchBot  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.3; +https://openai.com/searchbot
ChatGPT-User   Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot
PerplexityBot  Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)
CCBot          CCBot/2.0 (https://commoncrawl.org/faq/)

Note: Google-Extended never appears in server logs (it has no user-agent string of its own). The three Anthropic bots are identified by the tokens ClaudeBot, Claude-SearchBot, and Claude-User.

Three robots.txt configuration patterns — copy-paste-ready code

robots.txt is a text file placed at your domain root (e.g., https://example.com/robots.txt), and as Google’s official guidance puts it, it’s a “request” — whether a crawler follows it is up to the crawler. How you edit it varies by platform: WordPress sites typically manage it through an SEO plugin, while headless or static sites manage it as a root-level static file. See our comparison guide to 6 CMS platforms for the differences by CMS.

Pattern 1 — Allow everything: maximize AI visibility

# Allow everything, including AI crawlers (no block rules = allowed by default)
User-agent: *
Allow: /

Sitemap: https://example.com/sitemap.xml

Crawling is already allowed by default when there are no block rules, but declaring it explicitly leaves a clear record of intent. This suits most B2B blogs and guide-style sites where the whole point is to reach prospects through content.

robots.txt pattern 1 declares Allow / and a Sitemap for all user-agents to maximize AI visibility.
For sites where public content is the sales touchpoint, allow-everything is the simplest default.

Pattern 2 — Selective allow: block only sensitive paths

# Training crawlers: block only the paths you want to protect, allow the rest
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
Disallow: /downloads/
Disallow: /members/

# Search-and-citation crawlers: allow everything
User-agent: OAI-SearchBot
User-agent: PerplexityBot
User-agent: Claude-SearchBot
Allow: /

Sitemap: https://example.com/sitemap.xml

Stacking multiple user-agent lines in a single group applies the same rules to all of them. This is a balanced setup that protects only your lead-generation downloads, paid reports, and members-only directories from training collection, while keeping your public content open for citation.

robots.txt pattern 2 blocks download and members-only paths for training bots while allowing search-and-citation bots.
Selective allow strikes a balance between protecting data and keeping AI search visibility.

Pattern 3 — Block training only: keep citation open, protect your data

# Fully block training crawlers
User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: Google-Extended
Disallow: /

# No rule for search-and-citation crawlers (e.g., OAI-SearchBot) = allowed
Sitemap: https://example.com/sitemap.xml

This setup refuses to supply training data while keeping AI search visibility intact. Two things to keep in mind: first, blocking Google-Extended blocks grounding along with training, which can affect your citation chances in Gemini answers. Second, OpenAI notes that robots.txt changes can take up to about 24 hours to take effect, so don’t assume crawling right after an edit is a violation of your new rules.

robots.txt pattern 3 blocks GPTBot, ClaudeBot, CCBot, and Google-Extended while leaving search-and-citation bots unrestricted.
Even if you refuse to supply training data, leaving search-and-citation bots open preserves your chances of appearing in AI answers.

Allow or block — decision criteria from a content-marketing perspective

The setup itself takes five minutes. The hard part is the decision. There are two axes to weigh: what you gain from citation visibility (your brand appearing in AI answers, plus branded search and verified-intent traffic) versus what you might lose by supplying data for training (your content being absorbed into the model’s internal knowledge and potentially reproduced without attribution).

Site type Recommended pattern Rationale
B2B content marketing / blog Pattern 1–2 AI citation is itself a prospect touchpoint. Little proprietary data needs protecting
Media / paid subscription content Pattern 3 The content itself is the product, so training absorption is a direct loss. Keep citation visibility through search bots
Commerce / product catalog Pattern 1 Product information benefits from more exposure. Prepare for AI recommendation and shopping answers
SaaS product documentation Pattern 1 When AI cites your docs to answer questions, it lowers support costs and creates a touchpoint with people evaluating your product
Proprietary research / paid data Pattern 2–3 Block the directory holding your core asset, keep only marketing content open

More important than the type table are three questions to ask about your own content.

  1. Who sees this content if it gets cited? A user who asks AI a specific question is likely somewhere in the comparison-and-verification stage of the customer journey. And AI, in the end, also picks trustworthy sources to cite — which is exactly why E-E-A-T criteria matter for AI citation, not just search.
  2. What do you lose if this content gets used for training? Generic how-to content loses little by being absorbed into training, but proprietary data or research you invested real money to produce loses its differentiation the moment it’s absorbed into a model.
  3. Who fills the seat you leave empty? Blocking search-and-citation crawlers doesn’t stop AI from answering. It just means the citation slot in that answer goes to a competitor who allowed it in.

Growth’s recommended default is clear. For B2B, content-driven sites, that’s Pattern 2: allow all search-and-citation crawlers, and block training crawlers only from the paths holding your core assets. It’s not about traffic volume — it’s a choice to put your brand in the seat that answers the question asked right before a purchase.

How to verify your settings are actually applied — testing and server logs

1) Check the robots.txt response and syntax

curl -s https://example.com/robots.txt

First, confirm the file returns a 200 response and that the rules you intended appear exactly as written. You can check how Google specifically parses your file in Search Console’s robots.txt report, and the broader crawling-and-indexing checklist is covered in our complete technical SEO guide.

2) Identify AI crawler traffic in your server logs

Once you’ve made a setting, you need to measure it. From a data science standpoint, access logs are primary data showing actual AI crawler demand. Tallying requests by token lets you quantify exactly which crawler is visiting how often, and which pages it’s pulling.

Tallying requests by AI crawler token in server logs lets you verify block compliance, search demand, and growth in user-agent-fetcher requests.
After configuring robots.txt, use server logs to confirm actual crawler access is changing the way you intended.
# Tally requests by AI crawler from your access log
grep -oE "GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-SearchBot|Claude-User|PerplexityBot|Perplexity-User|CCBot" access.log | sort | uniq -c | sort -rn

Tracking this on a weekly basis reveals three things: whether requests from a blocked training bot have actually dropped (compliance verification), which content the search bots collect most often (a signal of AI search demand), and the trend in ChatGPT-User and Perplexity-User requests — which is direct evidence that real users are viewing your pages by way of AI.

3) Filter out spoofed user-agent traffic

A user-agent string can be faked by anyone. That’s why each provider publishes its official IP ranges as JSON. OpenAI provides gptbot.json and searchbot.json, Perplexity provides perplexitybot.json, and Common Crawl can be verified via reverse DNS at crawl.commoncrawl.org. Cross-checking the IPs in your logs against the official ranges lets you filter out spoofed bots. As Cloudflare’s analysis notes, identifying bots that fake their user-agent through behavior-based machine learning is a more realistic line of defense, and blocking bots that ignore robots.txt entirely is a job for your WAF/CDN layer.

Detecting spoofed AI crawler traffic requires checking user-agent, IP and reverse DNS, request patterns, and policy compliance together.
Identifying AI crawlers reliably takes more than string matching — you need to check IP, DNS, and request patterns together.

Configuring AI crawlers is just the starting line for GEO (generative engine optimization) — actually earning citations requires content structure, entity signals, and citability design to follow through on it. Growth’s GEO/AIEO service designs the whole process, from diagnosing crawler accessibility to securing citations in AI answers. Start by exploring Growth’s GEO/AIEO service or reaching out through our consultation form.

Frequently Asked Questions

No. GPTBot is for model training, while ChatGPT search visibility is handled by OAI-SearchBot. Blocking only GPTBot lets you refuse training data while keeping your ChatGPT search visibility intact. However, if you also block OAI-SearchBot, you’ll be excluded from ChatGPT search answers, per OpenAI’s official guidance.

Does blocking Google-Extended hurt my Google Search ranking?

No. Google’s official documentation states that Google-Extended has no effect on inclusion in Google Search and isn’t used as a ranking signal. That said, it does block use in Gemini training and grounding together, so your citation chances in Gemini answers could be affected.

How soon does a robots.txt edit take effect?

It depends on how often each crawler refreshes its robots.txt cache. OpenAI notes that it can take up to about 24 hours to take effect. Since there’s no way to force it instantly, the accurate approach is to check your server logs for one to two days after the edit to confirm the actual change in behavior.

How do I block AI bots that ignore robots.txt?

Because robots.txt is a non-binding request, bots that ignore it have to be blocked at the server or CDN layer. Common approaches include firewall rules based on each provider’s official IP ranges, and behavior-based blocking like Cloudflare’s AI bot blocking feature. That said, keep in mind that blocking user-agent fetchers as well would also block real prospects who are viewing your pages by way of AI.