Training vs. retrieval AI crawlers: which ones you can safely block

Updated Published 8 min read

In short

AI crawlers do three different jobs. Training crawlers such as GPTBot, ClaudeBot and CCBot collect content to train models — blocking them has no effect on AI search. Retrieval crawlers such as OAI-SearchBot, Claude-SearchBot and PerplexityBot build the index assistants search when answering live questions, so blocking them removes you from those answers. User-agent fetchers such as ChatGPT-User fetch a page because a person asked for it.

Key points

  • Blocking GPTBot keeps your content out of OpenAI model training and does not affect whether ChatGPT can find and cite you; that is OAI-SearchBot's job.
  • Google-Extended is a permission token, not a crawler. Blocking it affects Gemini training and AI grounding, and has no effect on Google Search indexing or ranking.
  • A robots.txt group naming a specific crawler replaces the User-agent: * group rather than adding to it, so a blanket Disallow does not apply to any agent you named elsewhere.
  • Blocking a user-requested fetcher such as ChatGPT-User means a reader who explicitly asked to read your page is told it cannot be fetched.
  • To opt out of training while staying in AI answers, disallow the training agents by name and say nothing about the retrieval ones — silence is permission.

A site owner reads that AI companies are training on the open web, decides they would rather not participate, and adds a few lines to robots.txt. Six months later they notice they have disappeared from ChatGPT's answers while their competitors are being cited.

That outcome is not a policy decision going wrong. It is one crawler being mistaken for another. This guide is about telling them apart.

Three jobs, not one

"AI crawler" describes at least three different things, and the consequence of blocking one has nothing to do with the consequence of blocking another.

Training crawlers

These collect content that may be used to train models. GPTBot (OpenAI), ClaudeBot (Anthropic), CCBot (Common Crawl, whose public dataset many models train on), Bytespider, meta-externalagent and Amazonbot are in this group.

Blocking them removes your content from training data and has no effect on whether an assistant can find you today. Whether you want to is a genuine editorial and commercial judgement, and there is an honest case on both sides. It is also the decision most people think they are making when they write an AI crawler rule.

Retrieval crawlers

These fetch and index pages so an assistant can search them when answering a live question. OAI-SearchBot (OpenAI), Claude-SearchBot (Anthropic) and PerplexityBot (Perplexity) are in this group.

Blocking one removes you from that assistant's answers. Not from its training data — from the live results. This is almost never what someone intends, and it is the failure this guide exists to prevent.

User-requested fetchers

The category most guides omit. ChatGPT-User, Claude-User and Perplexity-User fetch a specific page because a human pasted a link or asked the assistant to go read it. There is no crawl and no index — it is one fetch, on demand, for someone who explicitly asked.

Blocking one means a reader who wanted your page is told it cannot be read. It is the closest equivalent to refusing a visitor who followed a link, and it is very rarely a considered choice.

The pairs that get confused

AgentVendorBlocking it means
GPTBotOpenAIExcluded from model training. No effect on ChatGPT search.
OAI-SearchBotOpenAIRemoved from ChatGPT's live search results.
ChatGPT-UserOpenAIA user who asks ChatGPT to read your link is refused.
ClaudeBotAnthropicExcluded from model training.
Claude-SearchBotAnthropicRemoved from Claude's live retrieval.
PerplexityBotPerplexityRemoved from Perplexity results.
Google-ExtendedGoogleExcluded from Gemini training and AI grounding. No effect on Google Search.
CCBotCommon CrawlExcluded from a dataset many models train on.

Read the OpenAI rows together. GPTBot and OAI-SearchBot differ by one word and produce opposite outcomes. The same is true of ClaudeBot and Claude-SearchBot.

Google-Extended is not a crawler

Worth its own section, because it is the most expensive misunderstanding here.

Google-Extended does not fetch anything. It is a permission token that controls whether content Googlebot has already crawled may be used for Gemini training and for grounding AI answers, per Google's crawler documentation. Googlebot is a separate agent and handles Search.

Disallowing Google-Extended does not affect your Google Search indexing, ranking or traffic. If you have avoided it out of fear of a ranking penalty, that fear is misplaced. Applebot-Extended works the same way for Apple: plain Applebot continues to power Siri and Spotlight.

The robots.txt rule that surprises people

Even with the right agents identified, robots.txt has one precedence rule that inverts results:

A group naming a specific crawler is used instead of the User-agent: * group, not in addition to it.

So this file does not block GPTBot:

User-agent: *
Disallow: /

User-agent: GPTBot
Allow: /

GPTBot reads its own group, finds Allow: /, and crawls the site. The blanket rule never applies to it. This works in both directions, and it is why "I added a global disallow, surely that covers everything" is often wrong.

Two more rules worth knowing:

  • The longest matching path wins, regardless of line order, with Allow taking ties. Disallow: / plus Allow: /blog/ blocks the site but permits the blog.
  • Consecutive User-agent: lines share the rules beneath them, so several agents listed back to back are governed by one block.

What to actually write

If the intent is "don't train on my work, but do cite me" — which is what most people mean — disallow the training agents by name and say nothing at all about the retrieval ones:

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: CCBot
User-agent: Bytespider
User-agent: meta-externalagent
Disallow: /

The silence is deliberate. Adding Allow: / for OAI-SearchBot achieves nothing on its own — absence of a rule is already permission — and an unnecessary Allow can narrow a wildcard rule defined elsewhere in the file. Emit denials only.

If instead you want out of AI entirely, including the answers, block both groups and accept the trade knowingly. That is a legitimate position; it should just be the one you chose.

Checking what you actually have

Robots.txt files accumulate. Rules get added by plugins, security tools and previous developers, and the interaction between a wildcard group and a named one is not obvious by reading. Our AI Crawler & robots.txt Checker fetches a site's file, applies the same precedence rules real crawlers use, and reports each agent with the line that decided it — grouped by what the block actually costs.

Being reachable is the floor, not the ceiling

Getting this right does not get you cited. It removes one reason not to be. A page that every crawler can reach still needs a passage worth lifting — which is a different problem, covered in how answer engines choose which sources to quote.

Reachability is worth fixing first only because it is binary: no amount of good writing survives a Disallow.

Sources

Technical claims in this guide are drawn from the primary documentation and specifications below, each confirmed live on the date shown.

  1. OpenAI Crawlers and User Agents OpenAI. Accessed .
  2. Does Anthropic crawl data from the web, and how can site owners block the crawler? Anthropic. Accessed .
  3. PerplexityBot Perplexity. Accessed .
  4. Google crawlers — Google-Extended Google Search Central. Accessed .
  5. Introduction to robots.txt Google Search Central. Accessed .

FAQ

Does blocking GPTBot remove me from ChatGPT?
No. GPTBot collects content for model training. ChatGPT's live search uses a different crawler, OAI-SearchBot, and blocking GPTBot has no effect on it. If you have disappeared from ChatGPT's answers, check whether a rule is also catching OAI-SearchBot.
Will blocking Google-Extended hurt my Google Search rankings?
No. Google-Extended is a permission token controlling whether your content is used for Gemini training and AI grounding, not a crawler that fetches pages. Google Search indexing is handled by Googlebot and is unaffected. You can disallow Google-Extended and continue to rank normally.
What is the difference between ClaudeBot and Claude-SearchBot?
ClaudeBot collects content for Anthropic's model training. Claude-SearchBot indexes pages for Claude's live retrieval, so blocking it removes you from the results Claude surfaces when answering a question. Claude-User is a third agent that fetches a single page because a user asked Claude to read it.
Is there one rule that blocks all AI training without affecting AI search?
There is no single wildcard for it, because the agents are named individually and vendors add new ones. The practical approach is to disallow the known training agents by name — GPTBot, ClaudeBot, Google-Extended, CCBot, Bytespider, meta-externalagent — and leave the retrieval agents unmentioned, since absence of a rule is permission. Re-check the list periodically, because it changes.
Do AI crawlers actually obey robots.txt?
The major vendors document that their crawlers respect it, and publish the tokens to use. Compliance is voluntary in the sense that robots.txt is not enforced by anything technical, so a rule is a request rather than a block. If you need a guarantee rather than a convention, that is a server-level or WAF-level decision, not a robots.txt one.
I have no robots.txt. What does that mean for AI crawlers?
Everything is allowed. Absence of a rule is permission, so a site with no robots.txt permits every crawler, training and retrieval alike. That is only a problem if you wanted to exclude something.

Check any URL against everything in this guide — crawler access, extractability, attribution and structured data — in a few seconds.

Run the free checker
Go multilingual free
Open source · your data stays yours
Start free