Free tool · no signup · reads robots.txt only

AI Crawler Checker — Which AI Bots Can Reach You, and What Each Block Costs

Blocking GPTBot does not remove you from ChatGPT Search. That job belongs to OAI-SearchBot, a different user-agent with its own robots.txt rule — and the same split runs through ClaudeBot vs Claude-SearchBot and PerplexityBot vs Perplexity-User. Paste a URL and this checker reads the site's robots.txt, then reports all 23 tokens grouped by the job each one does, with the exact line that matched. Opting out of training and staying in AI answers is possible, but only if each bot gets its own User-agent group.

Fetches /robots.txt once and parses it. Nothing is stored, no request is sent as any bot, and a rule the site serves only to real crawler IPs will not appear here.

What this AI crawler checker checks

The tool inspects the one file that governs crawler access — your robots.txt — and reports it precisely. It does not send a live request as each bot, so a result reads “Allowed by robots.txt”, never “AI can definitely reach your site”.

  • robots.txt reachability and HTTP status
  • Crawler-specific User-agent groups
  • The most specific rule per bot (Allow / Disallow, longest-match)
  • Blanket User-agent: * rules that catch AI bots with no rule of their own
  • Sitemap declarations in robots.txt
  • Live per-bot user-agent request (planned)
  • Meta robots / X-Robots-Tag headers (planned)
  • Cloudflare / WAF bot rules and 403s (planned)
  • llms.txt structure (now live — llms.txt Validator)

A site can pass this robots.txt check and still block AI bots at the firewall. If you suspect a WAF block, verify separately.

Supported AI crawlers and what blocking each one affects

Twenty-three tokens, grouped by the job the vendor documents for each. The strings are copied from vendor documentation rather than from other people's blocklists, which is where most of the misspelled agents in the wild come from — a rule written for GPTbot or Perplexity-Bot matches nothing at all.

CrawlerCompanyCategoryWhat blocking may affect
AI search / discovery
OAI-SearchBot OpenAI AI search / discovery Eligibility to appear as a linked source in ChatGPT Search.
PerplexityBot Perplexity AI search / discovery Eligibility to appear as a Perplexity answer source.
Claude-SearchBot Anthropic AI search / discovery Eligibility to be cited by Claude web search.
DuckAssistBot DuckDuckGo AI search / discovery Inclusion in DuckAssist answers.
YouBot You.com AI search / discovery Inclusion in You.com AI answers.
User-triggered fetch
ChatGPT-User OpenAI User-triggered fetch ChatGPT’s ability to open your page on a user’s request.
Claude-User Anthropic User-triggered fetch Claude’s ability to open your page on a user’s request.
Perplexity-User Perplexity User-triggered fetch Perplexity opening your page on a user’s request.
Meta-ExternalFetcher Meta User-triggered fetch Meta AI opening a link a user shared.
Model training
GPTBot OpenAI Model training Whether your content is used to train OpenAI models.
Google-Extended Google Model training Whether your content trains Gemini — not Google Search or AI Overviews.
ClaudeBot Anthropic Model training Anthropic’s general crawl of your site.
anthropic-ailegacy Anthropic Model training Legacy Anthropic crawling (mostly historical).
CCBot Common Crawl Model training Inclusion in the Common Crawl dataset used by many models.
Google-CloudVertexBot Google Model training Vertex AI customer agents fetching your pages.
Applebot-Extended Apple Model training Whether your content trains Apple Intelligence.
Meta-ExternalAgent Meta Model training Whether your content trains Meta’s models.
Bytespider ByteDance Model training ByteDance model training and crawl load.
cohere-ai Cohere Model training Whether your content trains Cohere models.
Traditional search
Googlebot Google Traditional search Google Search AND AI Overviews together — rarely advisable.
Bingbot Microsoft Traditional search Bing, Copilot, and indirectly ChatGPT Search.
Applebot Apple Traditional search Siri and Spotlight suggestions.
Amazonbot Amazon Traditional search Alexa answers and Amazon indexing.

AI search crawlers vs AI training crawlers

What is the difference between an AI search crawler and an AI training crawler? An AI search crawler — such as OAI-SearchBot, PerplexityBot or Claude-SearchBot — indexes your pages so an AI engine can find, quote and link them when answering a question. These are the bots that make you eligible to be cited. An AI training crawler — such as GPTBot, Google-Extended or CCBot — collects content to train a model’s underlying knowledge, not to cite you in real time. Blocking a training crawler is a content-rights decision that keeps your pages out of training data; it does not remove you from AI search answers. Blocking a search crawler, by contrast, directly removes you from that engine’s cited sources.

Why AI bots may be blocked — and how to fix it

If a crawler you want is blocked, work through the likely causes in order. Most silent blocks are one of these.

  1. robots.txt Disallow. A rule like Disallow: / under the bot’s User-agent group. Fix: add an Allow: / or remove the Disallow for that agent.
  2. Blanket User-agent: * Disallow. A site-wide block catches every AI bot without its own rule. Fix: add explicit Allow groups for the AI bots you want.
  3. HTTP 401 / 403. Not a robots issue — a WAF, CDN or auth layer is rejecting the bot. Fix: allow the user-agent or its verified IP ranges in your firewall.
  4. Cloudflare / WAF “block AI bots”. A managed rule blocks AI crawlers regardless of robots.txt. Fix: exempt the AI search bots you want in the WAF, not just in robots.txt.
  5. Rate limiting. Aggressive limits return 429s and the bot backs off. Fix: raise limits for verified crawler IPs.
  6. Server errors (5xx). A bot cannot index a page that keeps failing. Fix: resolve the errors and confirm a stable 200.
  7. X-Robots-Tag / meta robots noindex. The page is crawlable but marked not-indexable. Fix: remove noindex where you want the page eligible.
  8. Redirect loops or unreachable robots.txt. If /robots.txt 5xxs or loops, some bots treat the site as disallowed. Fix: return a clean 200 or 404 for /robots.txt.

How to allow or block AI crawlers in robots.txt

Four starting points, each stating who it is for. Give every bot its own User-agent group: rules do not merge across groups, so a bot named in its own group stops reading the wildcard one entirely — which is how a single Allow: / for OAI-SearchBot silently cancels the site-wide block someone added above it. robots.txt is advisory either way. Compliant crawlers honour it, it is not firewall-level enforcement, and it removes nothing from an index.

Allow all AI crawlers (default-open)

For a site that wants maximum reach and has no content-licensing concern.

User-agent: *
Allow: /
Block AI training, allow AI search & user fetch

For a publisher opting out of model training while staying quotable in AI answers.

User-agent: GPTBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: Applebot-Extended
Disallow: /

User-agent: Meta-ExternalAgent
Disallow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Claude-SearchBot
Allow: /
Block a single training crawler (GPTBot)

When the objection is to OpenAI training specifically, not to AI search.

User-agent: GPTBot
Disallow: /
Explicitly allow ChatGPT Search & fetch

When a site-wide Disallow already exists and ChatGPT needs an exemption from it.

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

robots.txt vs llms.txt

robots.txtllms.txt
PurposeTell crawlers which paths they may requestPoint AI tools to your key content in Markdown
EnforceabilityAdvisory — honoured by compliant bots, not a firewallAdvisory guidance — not an access-control mechanism
Who reads itSearch and AI crawlers that follow the standardAI tools that choose to support it (not universal)
Main useControl crawl access per user-agentHelp AI understand and surface your best pages
LimitationsDoes not prevent indexing; ignored by non-compliant botsEmerging convention; no ranking or access guarantee

Neither file blocks a non-compliant bot, and neither removes a URL from an index. For indexing control, use noindex. Validate your own file with the llms.txt Validator.

Does crawler access guarantee AI visibility?

No, and the gap is bigger than it looks. robots.txt is the only layer this tool can read, and it is the layer least likely to be the real blocker. Above it sit four failures it cannot see: a WAF or bot-management rule that answers the crawler with 403 while your browser gets 200; a page whose content arrives only after JavaScript runs, so the fetch succeeds and returns nothing usable; a noindex that keeps a crawlable page out of the index; and rate limits that turn a crawl into a string of 429s. Clear all five and you are eligible to be retrieved, which is still not the same as being chosen. Retrieval ranks passages against a question, so the page also has to answer one.

AI crawler checker — FAQ

How do I check whether GPTBot can access my website?

Paste the domain above. The checker fetches /robots.txt, then resolves the rule that actually applies to GPTBot: its own User-agent group if the file has one, otherwise the wildcard group — never both, because a bot named in its own group stops reading the wildcard entirely. You get the verdict and the exact line that produced it. GPTBot is the training crawler, so a block here is a content-licensing decision, not a search decision.

What is the difference between GPTBot and OAI-SearchBot?

Different jobs, separate rules. GPTBot collects pages to train OpenAI models. OAI-SearchBot builds the index ChatGPT Search draws on when it answers with links. Blocking GPTBot keeps your text out of training and changes nothing about whether ChatGPT can cite you; blocking OAI-SearchBot removes you from the source pool. Sites that meant to do the first and wrote one blanket rule did the second by accident.

Can ChatGPT access a site that blocks GPTBot?

Yes, and this is the most useful thing on this page. ChatGPT Search reaches pages through OAI-SearchBot for indexing and ChatGPT-User for a live fetch during a conversation. Allow those two, disallow GPTBot, and you have opted out of training while staying fully quotable.

What is ChatGPT-User?

The user-triggered fetcher. It loads one specific page at the moment someone asks about that URL or the model browses on their behalf — it does not crawl your site in bulk. Block it and ChatGPT cannot open your page live in a conversation, even for someone who pasted the link themselves.

What is the difference between PerplexityBot and Perplexity-User?

The same indexing-versus-live-fetch split OpenAI uses. PerplexityBot builds the answer index; Perplexity-User fetches a page on demand when a user points at it. Blocking the first removes you from Perplexity's indexed sources. Blocking only the second leaves you indexed but unreachable in the moment.

Does Google-Extended control Google Search or AI Overviews?

Neither. Google-Extended is a training toggle for Gemini and Vertex AI. Googlebot crawls, ranks and feeds AI Overviews regardless of what you set for Google-Extended — so disallowing it costs you nothing in search and buys you nothing in AI answers. Treat it as a rights decision, not a visibility lever.

How do I allow ClaudeBot in robots.txt?

Give it a group with User-agent: ClaudeBot and either no matching Disallow or an explicit Allow: /. One caveat that catches people: Anthropic runs three agents — ClaudeBot for general crawling, Claude-SearchBot for the search index, Claude-User for live fetches. A rule for ClaudeBot alone leaves the other two on whatever the wildcard group says.

Can Cloudflare block AI crawlers?

Yes, and independently of robots.txt. Cloudflare and other CDN or WAF layers can challenge or reject bots by user-agent, ASN or managed "block AI bots" rulesets. That is why this tool reports "Allowed by robots.txt" and never "AI can reach your site" — the two are different claims, and the second one this check cannot make.

Why does an AI bot receive a 403 response?

Almost never from robots.txt, which asks politely and returns nothing. A 403 comes from a firewall, CDN bot management, a rate limiter, or a server rule rejecting the user-agent or IP range. If your robots.txt passes here and bots still see 403s, the fix is in your WAF configuration, not in this file.

How do I block AI training bots but allow AI search bots?

Disallow the training agents — GPTBot, Google-Extended, CCBot, Applebot-Extended, Meta-ExternalAgent — and allow the retrieval ones: OAI-SearchBot, PerplexityBot, Claude-SearchBot, ChatGPT-User, Claude-User. Give every one its own User-agent group. Rules do not merge across groups, so this only works when each agent is named explicitly. There is a copy-paste version above.

Can robots.txt prevent indexing?

No, and the mistake is expensive. robots.txt controls crawling; a disallowed URL can still be indexed as a bare link if other pages point at it, and it will look worse for having no content. To keep a page out of an index you need noindex in a meta robots tag or an X-Robots-Tag header — which the crawler has to be allowed to fetch in order to read.

How often should I recheck AI crawler access?

On every deploy that touches robots.txt, after any CDN or WAF change, and after a platform migration — those are where silent blocks come from. Beyond that, quarterly is enough to catch the user-agents vendors add without announcement; the registry behind this tool is re-read against vendor documentation on the same cadence.

This checks one layer. The audit checks all five.

The free AI Visibility Audit runs 47 checks across crawler access, llms.txt, JSON-LD, metadata, content extractability, brand-as-entity signals and current AI visibility, then emails a 0–100 score with the three fixes that move it most.

Run the free AI Visibility Audit