Should I block AI crawlers I don't recognize?
99Visibility Research · Updated October 21, 2026 · 6 min read
Short answer
Not by reflex. First look up the operator's documentation and classify the bot as a training crawler, a search crawler or a user-triggered fetcher. Blocking a training crawler only opts you out of model training. Blocking a search crawler removes you from that engine's answers. If no operator documents the bot, treat it as unverified. robots.txt may not stop it, so enforce the block at your firewall or CDN.
Key takeaways
- Classify an unfamiliar bot as training, search or user-triggered before you decide, using the operator's own crawler documentation.
- Major operators run separate bots for each job, and OpenAI states that each robots.txt setting is independent of the others.
- Blocking a search crawler costs you eligibility in that engine's answers, while blocking a training crawler does not.
- Cloudflare says it is unclear whether newer or less transparent crawlers respect robots.txt, so real enforcement may need the firewall.
- A user agent string can be faked, so verify a bot by IP range or reverse DNS before trusting or blocking it by name.
Classify the bot before you block it
The right decision depends on what the bot does, not on whether you recognize its name. Most large AI operators split crawling into three jobs, and each job has a different consequence when you block it.
- Training crawlers collect pages that may be used to train models. Blocking one opts your content out of training. It does not remove you from that company's live search answers.
- Search crawlers build the index an AI engine retrieves from at answer time. Blocking one removes your pages from that engine's answers.
- User-triggered fetchers load a page because a person asked the assistant to. Several operators say robots.txt may not apply to these at all.
OpenAI is the clearest example. Its bots page says GPTBot crawls content that may be used for training, while OAI-SearchBot surfaces sites in ChatGPT search, and "each setting is independent of the others." Sites opted out of OAI-SearchBot "will not be shown in ChatGPT search answers." So a blanket block on every AI-sounding name can quietly cost you search eligibility you wanted to keep.
The decision rule is simple. Find the operator, read its documentation, and match the bot to one of the three jobs. Then block or allow on purpose. If you want the wider strategic question first, see whether to let AI crawlers access your site at all.
How to classify an unfamiliar user agent
Work through these steps when a new name shows up in your server logs.
- Read the full user agent string. Most legitimate bots include a product token and often a URL pointing to the operator's crawler page.
- Find the operator's documentation. Search the operator's own developer or help site, not a third-party list. The digests of OpenAI's crawler documentation, Perplexity's crawler documentation and Anthropic's ClaudeBot, Claude-SearchBot and Claude-User cover the most common names.
- Assign the job. Training, search or user-triggered. If the documentation does not say, record it as unknown.
- Check whether it publishes IP ranges or supports reverse DNS. OpenAI, for example, publishes OAI-SearchBot ranges at openai.com/searchbot.json.
Here is how the documented bots sort, as of October 2026:
| Operator | Training | Search | User-triggered |
|---|---|---|---|
| OpenAI | GPTBot | OAI-SearchBot | ChatGPT-User |
| Anthropic | ClaudeBot | Claude-SearchBot | Claude-User |
| Perplexity | (none documented) | PerplexityBot | Perplexity-User |
| Meta | Meta-ExternalAgent | Meta-WebIndexer | Meta-ExternalFetcher |
Perplexity states PerplexityBot is not used to crawl content for AI foundation models. Meta says allowing Meta-WebIndexer "helps us cite and link to your content in Meta AI's responses." That is one of the few first-party statements tying crawler access to citation.
Why robots.txt may not be enough
robots.txt is a request. It works only when the crawler chooses to honor it. Cloudflare, which sees bot traffic at network scale, says site owners "might be unsure whether these bots even respect robots.txt rules, especially newer or less transparent crawlers." That is a plain admission that compliance is not measured.
The documented operators add their own exceptions. OpenAI says robots.txt rules "may not apply" to ChatGPT-User because a user starts the action. Perplexity says Perplexity-User "generally ignores robots.txt rules." Meta documents that Meta-ExternalFetcher may bypass them too. These are fetchers acting for a person, which the guide on user-triggered AI fetchers covers in more depth.
What it means: if you truly need a bot kept out, write the robots.txt rule and also enforce it at the firewall or CDN. Block by verified identity where possible, not just by name.
The reverse risk is real too. A firewall can block a bot your robots.txt allows. OpenAI says eligibility for ChatGPT search requires allowing OAI-SearchBot and confirming your host or CDN allows its published IP addresses. As of September 15, 2026, Cloudflare blocks Training and Agent crawler categories by default on ad-displaying pages for new domains and existing free-tier customers. You can lose access without editing anything.
Edge cases worth thinking through
The name is real but the bot is not
Anyone can send a request claiming to be GPTBot or PerplexityBot. Blocking or allowing purely by user agent string trusts the claim. Cloudflare's verified-bot criteria rely on a cryptographic signature, a published IP list with a stable user agent, or reverse DNS. The playbook on verifying real AI crawlers versus spoofed user agents walks through the checks.
No documentation exists
If you cannot find an operator page, you cannot know the bot's job or whether it honors your rules. Treat it as unverified. Blocking it at the firewall is a reasonable default, because there is no documented benefit you would be giving up.
The bot is not named in your robots.txt
An unlisted bot falls under your User-agent: * group. Read what happens when robots.txt doesn't mention an AI bot before assuming it is blocked or allowed.
Known names with thin documentation
Some crawlers, such as Bytespider, appear often in logs but sit outside the main operators' documentation. Decide on the same rule: no clear job, no clear benefit, enforce at the edge if you want it out.
What to do next
Keep the decision deliberate and per bot. A short robots.txt that separates training from search looks like this:
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
Then work through this list:
- Pull a week of server or CDN logs and list every bot user agent.
- Classify each one from the operator's documentation. Mark undocumented bots as unverified.
- Write per-bot robots.txt rules for the documented ones, keeping the search crawlers you want.
- Enforce blocks on unverified bots at the firewall, using IP ranges or reverse DNS where available.
- Confirm the search crawlers you allowed actually get a 200 response, not a 403 or a challenge page.
Step 5 is where most sites never look. The AI Crawler Checker requests a page as each AI crawler and shows which ones your firewall turns away. Allowing a crawler buys eligibility only. It does not guarantee you will be retrieved or cited.
Frequently asked questions
Which AI bots are safe to block?
Training crawlers are the lowest-cost block. GPTBot, ClaudeBot and Meta-ExternalAgent are documented as training crawlers, and blocking them opts your content out of training without removing you from those companies' search answers. Blocking search crawlers such as OAI-SearchBot, PerplexityBot or Claude-SearchBot removes you from those engines' answers, so block them only if you accept that trade.
Does blocking GPTBot remove me from ChatGPT search?
No. OpenAI states that each crawler setting is independent. GPTBot governs training use only. OAI-SearchBot controls whether your site can appear in ChatGPT search answers. You can disallow GPTBot and allow OAI-SearchBot in the same robots.txt file, and many sites do exactly that to opt out of training while keeping search eligibility.
How do I tell if a bot is spoofing a real AI crawler's name?
Check the request's source, not just its user agent. Compare the IP address against the operator's published ranges, such as OpenAI's searchbot.json file, or run a reverse DNS lookup where the operator supports it. A request claiming to be a known crawler from an IP outside those ranges is very likely an impostor. OpenAI also warns against relying on IP lists alone.
Will my firewall block AI crawlers I meant to allow?
It can. Bot-management and WAF rules sometimes block legitimate crawlers with a 403 or a challenge page, even when robots.txt allows them. Cloudflare's default change on September 15, 2026 blocks Training and Agent categories on ad-displaying pages for some accounts. The only way to know is to request your pages as each crawler and check the response.
Sources
This page is AI-assisted. It was written from a verified evidence base and checked against our editorial policy. Engine behaviour changes often; facts are as of October 21, 2026.