AI Crawler Access Check

The access check answers one question per AI crawler: can it fetch your site? It reads your robots.txt rules for each crawler, requests your page as that crawler to see what your firewall or CDN does, and looks for tags that stop your content being quoted. Everything it reports is subtractive: something that blocks a crawler, never a tweak that promises a boost.

Where it runs

  • Crawlability (/dashboard/crawlability): the AI crawler access card, and Access over time with Run and save a check. Site health is also on this page.
  • Dashboard: the AI crawler access card.
  • Every audit runs the check alongside the AI platforms and feeds the crawler-access recommendations.

The check is on every plan. It needs the brand's website URL and is rate-limited per user per hour; the error says how long to wait.

Crawlers checked

User agentVendorProductRoleFirewall probe
OAI-SearchBotOpenAIChatGPT searchretrievalYes
GPTBotOpenAIOpenAI model trainingtrainingYes
ChatGPT-UserOpenAIChatGPT on-demand browsingretrievalYes
ClaudeBotAnthropicClaude model trainingtrainingYes
Claude-SearchBotAnthropicClaude searchretrievalYes
Claude-UserAnthropicClaude on-demand browsingretrievalYes
PerplexityBotPerplexityPerplexity search indexretrievalYes
Perplexity-UserPerplexityPerplexity on-demand browsingretrievalYes
GooglebotGoogleGoogle Search, AI Overviews, AI ModebothYes
Google-ExtendedGoogleGemini and Vertex AI training/groundingtrainingrobots.txt only
BingbotMicrosoftBing, Copilot, ChatGPT browsingbothYes
Applebot-ExtendedAppleApple foundation model trainingtrainingrobots.txt only
Meta-WebIndexerMetaMeta AI searchretrievalYes
Meta-ExternalAgentMetaMeta AI training and indexingbothYes
BytespiderByteDanceByteDance/TikTok model trainingtrainingYes
CCBotCommon CrawlCommon Crawl corpus (used by many LLM trainers)trainingYes
AmazonbotAmazonAlexa answers and Amazon servicesbothYes
DuckAssistBotDuckDuckGoDuckAssist answersretrievalYes

Role retrieval fetches pages to answer a user now; training collects data for future models; both does both. Blocking a training crawler does not remove you from that vendor's live answers, and allowing one does not get you cited.

What is tested

robots.txt

Each crawler's rules are evaluated for the page's path. A robots.txt that returns 5xx or cannot be fetched counts as blocking every crawler. One that returns 404 or 410, or 401 or 403, counts as no rules.

Firewall and CDN

The page is requested once per crawler with that crawler's user agent, plus once as a normal browser for control. A crawler counts as blocked on HTTP 401, 403, 429 or 503, or on a bot-challenge page from Cloudflare, Akamai, Imperva or Vercel. Requests run a few at a time with a per-request and an overall timeout; crawlers not reached in time are reported "Not run".

Suppression

Meta robots tags (robots, googlebot, googlebot-news, bingbot), the X-Robots-Tag header and data-nosnippet. Severity: noindex or none critical; nosnippet and max-snippet:0 high; a short max-snippet medium.

Output

FieldMeaning
robots.perAgentPer crawler: Allowed, Blocked or No rule.
waf.perAgent, waf.controlPer crawler: the status or challenge vendor, Timed out, or Not run. The browser control's result.
suppressionEach suppression finding with its severity.
disagreementsCrawlers robots.txt allows but the firewall blocks, while the browser control got through. The finding no other tool reports.
summaryRetrieval crawlers reachable out of the total, blocked by robots.txt, blocked by firewall, a blanket disallow, and whether the control was blocked.

The card shows these as "N of M retrieval crawlers can reach you", a per-crawler table (Crawler, Vendor, Role, robots.txt, Firewall, If blocked) and an Accidental suppression list.

Limits of the check

  • A pass is not proof. The request carries the crawler's user agent but not its IP addresses, so a firewall that allowlists by IP can treat the real crawler differently.
  • If the control request is refused, firewall verdicts are not crawler-specific until that is fixed. The card says so.
  • robots.txt is necessary, not sufficient. Some user-triggered fetchers say they may not follow it, which is why the firewall test exists.

Score not moving after a site change? Score not improving after your changes starts with this check.