How to block AI crawlers and stay in AI search
Short answer: block the training crawlers in robots.txt, leave the search and citation crawlers alone, and use a server rule for the few that do not read the file. The rules below are built from our crawler registry, verified 19 September 2026.
Which AI crawlers should you block?
“AI crawler” covers four different jobs, and only one of them is what most people mean. Training crawlers collect text for future models. Search and citation crawlers fetch pages so an assistant can quote and link you today. Blocking the first group costs no traffic. Blocking the second takes you out of ChatGPT, Claude and Perplexity answers, with no error anywhere to tell you. Which ones to allow walks through the choice by kind of site.
This is not a hypothetical mistake. In our scan of the Tranco top 1,000, OAI-SearchBot was denied in robots.txt on 8.2% of sites. If those sites had been aiming at training alone, that number would be close to zero.
The robots.txt that blocks AI training and keeps AI search
One group can name several user agents, and each crawler obeys the most specific group that names it. So the training tokens share one Disallow, and the citation crawlers get an explicit Allow that keeps them in if somebody later adds a wildcard block:
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: MistralAI-Training
User-agent: CCBot
Disallow: /
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: meta-webindexer
User-agent: MistralAI-Index
User-agent: DuckAssistBot
Allow: /Some of those tokens, like Google-Extended and Applebot-Extended, have no crawler behind them. The operator reads the rule while crawling under its ordinary name, so the line works even though nothing in your logs will ever carry that token.
To pick token by token instead, the generator writes the file from the same registry. To check a file you already have, paste it into the checker.
Which AI crawlers ignore robots.txt?
Bytespider is the one our registry marks as “widely reported not to”. A Disallow line for it states what you want and controls nothing, so the block has to happen where the request arrives. On nginx:
if ($http_user_agent ~* "(Bytespider)") {
return 403;
}A user agent is a claim, so this stops the requests that announce themselves and nothing else. That is still most of them. Detecting AI crawlers in your logs covers telling a real crawler from one borrowing its name.
The user-triggered fetchers are a separate case. When a person pastes your URL into an assistant, several operators say the fetch may not follow robots.txt, because a person asked for that one page. If a page must not be read by anyone who has its link, it needs a login, not a robots.txt rule.
The crawlers you cannot split
Some operators use one token for search and training at once, with no separate training token, so there is no rule that refuses one job and keeps the other:
- Amazonbot: Out of Alexa answers AND Amazon AI training, because one token controls both; there is no way to split them.
The rules above leave it allowed, because blocking costs real visibility. Add it to the Disallow group only if keeping out of training is worth that to you. Apple is the counterexample: Applebot does both jobs, but Applebot-Extended, in the block above, takes the training half on its own.
Should you block AI crawlers in Cloudflare instead?
Only if you check what the switch covers. CDN-level AI blocking acts before robots.txt is read, it is not visible in your file, and it tends to reach search and citation crawlers as well as training ones. In our study, 5.6% of sites refused a citation crawler that their own robots.txt allowed. What Cloudflare blocks by default now is worth reading before you rely on it.
Does blocking AI crawlers remove content they already have?
No. A block stops future fetches. Text already collected, or already in an open archive like Common Crawl, stays where it is. That is the reason to decide early, and also the reason not to panic: a rule added today does its job from today.
Check that the block does what you meant
A robots.txt can be correct and a CDN can still disagree with it, in either direction. The scan requests your home page as each AI crawler and shows which ones were refused, and by which layer.
We request your robots.txt and homepage. We read your sitemap only when robots.txt hides pages from a crawler and we need to measure how much is affected. No other page.
Crawlers in this guide
- GPTBot: Model training, run by OpenAI
- ClaudeBot: Model training, run by Anthropic
- CCBot: Open training corpus, run by Common Crawl
- Google-Extended: Model training, run by Google
- Bytespider: Model training, run by ByteDance
- OAI-SearchBot: Search & citations, run by OpenAI
Where to go next
- Which AI crawlers should you allow?
The tokens have four jobs. Which ones you want depends on what you are trying to achieve, and the costly mistake is blocking the citation crawler when you meant to block the training one. - Is Cloudflare blocking AI crawlers?
A correct robots.txt can still leave a site inaccessible. Here is what to look for when Cloudflare is in the way. - How to detect GPTBot, ClaudeBot and AI bots
A user agent is a claim, not an identity. How to find each AI crawler in your logs and check it against the operator's own IP list.