AI crawler access checker

See exactly what your robots.txt says to each AI crawler, and which line says it.

Give a full page URL to check that page, or a bare domain to check the site root. Free, no sign-up, the full result is shown.

What this checks, and what it cannot see

The checker fetches /robots.txt from the origin you give it, parses it into user-agent groups, and evaluates each crawler in the table below against the path you supplied. Every verdict quotes the exact line that produced it, with its line number, so you can go and change that line.

Matching follows the Robots Exclusion Protocol as published in RFC 9309, which is what the major crawlers implement:

  • A crawler obeys the group whose User-agent token matches its own name, case-insensitively. If no group names it, it falls back to the User-agent: * group. If there is no wildcard group either, nothing restricts it.
  • Within the group that applies, the longest matching path rule wins — not the first one. Disallow: / followed by Allow: /blog/ leaves /blog/ reachable, because the allow rule is longer and more specific.
  • On an exact length tie, Allow beats Disallow.
  • * matches any run of characters and a trailing $ anchors the end of the path. An empty Disallow: value is an explicit permit-everything, not a block.

This reports what robots.txt says. It is not proof a crawler can reach you. A firewall rule, a bot-management product, a geographic block, a login wall or an aggressive rate limiter can all refuse a request that robots.txt permits — and none of that is visible from the outside. Equally, robots.txt is a request, not an enforcement mechanism: a crawler that ignores it is not stopped by it. The only way to know which crawlers actually fetched your pages is to read your own server logs.

There is no score here, deliberately. Turning seventeen independent allow/block facts into one number out of a hundred would need a weighting we would have to invent, and the invented part would be the part you acted on. Each row states the crawler, the verdict and the line responsible.

The crawlers this tool evaluates

Each of these is a product token its operator documents publicly. Tokens nobody documents are not included, because a verdict about a user-agent string no crawler actually sends is worthless. The right column separates the two things people conflate: whether blocking a crawler keeps your pages out of model training, and whether it keeps them out of the answers users see today.

User-agent tokenOperatorWhat blocking it costs
GPTBotOpenAICrawls pages that may be used to train OpenAI's models. Blocking it does not remove you from answers users see today.
OAI-SearchBotOpenAIBuilds the index behind ChatGPT search results. Not used for training. Blocking it can remove you from answers users see.
ChatGPT-UserOpenAIFetches a page on demand when a ChatGPT user's question requires it. Blocking it can remove you from answers users see.
ClaudeBotAnthropicCrawls pages that may be used to train Anthropic's models. Blocking it does not remove you from answers users see today.
Claude-SearchBotAnthropicIndexes pages so Claude can cite them in search results. Blocking it can remove you from answers users see.
Claude-UserAnthropicFetches a page on demand in response to a Claude user's request. Blocking it can remove you from answers users see.
PerplexityBotPerplexityIndexes pages so Perplexity can link and cite them in answers. Blocking it can remove you from answers users see.
Perplexity-UserPerplexityVisits a page on demand when a Perplexity user follows a result. Blocking it can remove you from answers users see.
Google-ExtendedGoogleControls use of the page for Gemini training and grounding. Does not affect Google Search indexing. Blocking it does not remove you from answers users see today.
GooglebotGoogleThe Google Search crawler. AI Overviews are built from the Search index, so blocking it removes the page from both. Blocking it can remove you from answers users see.
BingbotMicrosoftThe Bing crawler. Copilot answers draw on the Bing index, so blocking it removes the page from both. Blocking it can remove you from answers users see.
ApplebotApplePowers Siri and Spotlight Suggestions. Blocking it can remove you from answers users see.
Applebot-ExtendedAppleControls use of the page for training Apple's foundation models. Does not affect Siri results. Blocking it does not remove you from answers users see today.
meta-externalagentMetaCrawls pages that may be used to train Meta's models. Blocking it does not remove you from answers users see today.
AmazonbotAmazonCrawls pages to answer questions through Alexa. Blocking it can remove you from answers users see.
BytespiderByteDanceCrawls pages that may be used to train ByteDance's models. Blocking it does not remove you from answers users see today.
CCBotCommon CrawlBuilds the open Common Crawl corpus, which many model builders train on. Blocking it does not remove you from answers users see today.

How to fix the failures this finds

  • Everything is blocked by a single Disallow: /. Usually a staging robots.txt that shipped to production. It is the most common and most expensive finding here, and it takes one line to undo.
  • The search crawler is blocked but the trainer is not. This is backwards for most sites. GPTBot, ClaudeBot and Google-Extended govern training. OAI-SearchBot, Claude-SearchBot, PerplexityBot, Googlebot and Bingbot govern whether you appear in answers now. If you want citations without contributing to training, permit the search crawlers and disallow the training ones — they are separate tokens for exactly this reason.
  • Rules written above the first User-agent line. They belong to no group and are ignored by every conforming crawler. The report lists them so you can move them under a group.
  • A blanket block with an Allow that is shorter than the block. Disallow: /docs/ with Allow: /d does not open anything: the disallow is longer, so it wins. Make the allow rule more specific than the rule it is meant to override.
  • Blocking by user-agent to stop scraping. It does not work — a scraper that ignores robots.txt is unaffected, and the only parties who honour it are the ones you might have wanted. Rate limiting and bot management are the tools for abuse; robots.txt is for stating intent to crawlers that comply.
  • No sitemap declared. Not an access failure, but a missed one. Add a Sitemap: line and check the file it points at with the sitemap validator.

Why crawler access decides everything downstream

Every other thing you do for AI search assumes the page can be fetched. Structured data, heading hierarchy, an llms.txt, a rewritten answer-first opening paragraph — none of it is read by a model that got a 403 or was told not to come. Access is not one factor among many; it is the gate in front of the rest.

It is also the failure that hides best. A blocked crawler does not file a complaint or show up as an error in your analytics. The page simply never appears in an answer, and the absence is indistinguishable from not being good enough to cite. That is why this check is worth running against production on a schedule rather than once, and why the file is worth diffing after any deploy that touches infrastructure.

Questions people ask about this check

Should I block the AI crawlers or allow them?

That depends on what you sell, and anyone giving you a single answer is not thinking about your business. If your pages are marketing for something you sell elsewhere, being read and cited is the entire point and blocking is self-harm. If your content is the product — a paid archive, a subscription publication — then the training crawlers take without returning traffic, and disallowing them while permitting the search crawlers is a coherent position. The tokens are separate so you can hold that position precisely.

The tool says allowed, but I am not being cited anywhere. Why?

Allowed means permitted, not fetched, and fetched does not mean cited. Between permission and a citation sit: whether the crawler ever came, whether your server actually served it a 200, whether the page answers a question anyone asks, and whether a model judged it the best available source. This tool clears the first gate only. What crawlers did next is a question your server logs answer.

Does blocking Google-Extended remove me from Google Search?

No. Google-Extended governs whether your content is used for Gemini training and grounding. Normal Search indexing is controlled by Googlebot. They are separate tokens with separate consequences, which is why this tool reports them as separate rows rather than rolling them into one "Google" verdict.

Why check a specific page URL rather than the domain?

Because robots.txt rules are path-scoped, and the interesting blocks are almost never at the root. A site can permit / and still disallow /blog/, /docs/ or anything with a query string. Paste the URL of the page you actually want cited and the verdicts are evaluated against that path.

Do you store the domains I check?

No. The file is fetched, parsed inside the request and the result returned to your browser. There is no account, no email field and no saved history. The shareable link simply re-runs the same check against the same URL.

Where to go next

See Where You Rank in AI Search Results

Get your free AI visibility report in 60 seconds. Track how often ChatGPT, Claude, and Google AI mention your brand—and discover exactly what your competitors are doing to outrank you.