AI Visibility Tracking ToolFree checker

Why do AI crawler checkers give different results for my site?

99Visibility Research · Updated October 21, 2026 · 5 min read

Short answer

AI crawler checkers disagree because your firewall or CDN decides whether to block based on where a request comes from, which user agent it claims, and how fast it arrives. A checker sends its own request from its own network with a borrowed user agent. That is not the real crawler. One test can pass while OAI-SearchBot or PerplexityBot gets a 403. Server logs showing verified bots are the only reliable confirmation.

Key takeaways

  • A crawler checker borrows the bot's user agent but sends the request from its own IP address, so your firewall may treat it differently from the real bot.
  • Firewalls and CDNs score requests on IP origin, user agent and rate, which is why datacenter and residential tests often disagree.
  • OpenAI says ChatGPT search eligibility needs both an allowed OAI-SearchBot in robots.txt and a host or CDN that accepts traffic from its published IP ranges.
  • Treat any checker result as a lead to investigate, then confirm with server logs filtered to verified bots.

The short answer: each test is a different request

A crawler checker cannot be the crawler. It fetches your page from its own server and sets the user agent string to something like OAI-SearchBot. Your firewall then makes a decision about that one request.

The real OAI-SearchBot arrives from OpenAI's own IP ranges, at its own pace, with its own history on your network. Your firewall makes a separate decision about it. Those two decisions can differ.

So when two tools disagree, both may be reporting accurately. One tool's network got through. The other's got challenged or blocked. Neither result tells you for certain what the real bot saw.

This matters because the failure is silent. OpenAI's help page notes that bot protection systems "can mistakenly block legitimate crawlers, often returning 403 Forbidden errors." Your robots.txt can say allow while your edge says no, and no dashboard flags it. Our guide to CDN and firewall blocking of AI crawlers covers the mechanism in more depth.

What your firewall actually looks at

Bot management tools judge requests on several signals at once. Three explain most checker disagreements.

IP origin

A request from a cloud datacenter looks different from one on a home broadband line. Many firewall rules score datacenter traffic as higher risk. A checker running in a datacenter may get challenged, while a test from your laptop passes. The reverse also happens when a rule allowlists known crawler ranges but the checker's range is not on it.

User agent

Some rules match the user agent string directly, for example a blanket block on anything containing GPTBot or ClaudeBot. A checker that sends the right string will trip that rule. A checker that sends a generic browser string will not.

Request rate

A checker sends a handful of requests. A real crawler may send many over a short window. Rate limits that never fire during a test can return 429 to the real bot. JavaScript challenges and CAPTCHAs behave the same way: OpenAI notes that because its crawlers are automated, "these checks may block access." See whether CAPTCHAs and bot challenges block AI crawlers for that case.

This is the same pattern behind why AI visibility tools disagree more broadly: different inputs, different outputs.

Why a spoofed user agent is not the real crawler

Anyone can type OAI-SearchBot into a request header. That is why serious bot management does not trust the user agent alone.

Cloudflare's documentation describes verified bots as those identified by a cryptographic Web Bot Auth signature, a published IP list with a stable user agent, or reverse DNS. A checker that spoofs the string has none of these. A well-configured firewall may block the spoof and let the genuine crawler through. A poorly configured one may do the opposite.

OpenAI publishes its search crawler's IP ranges at openai.com/searchbot.json and states that eligibility requires two things: allow OAI-SearchBot in robots.txt, and confirm your host or CDN allows traffic from those published IP addresses. The second half is what a spoofed test cannot reproduce. OpenAI also warns against relying on IP allowlisting alone, so validating on user agent plus verified bot status is the safer configuration.

Edge cases that make results swing

A few conditions produce results that look random until you know to check them.

  • robots.txt itself is blocked. Anthropic warns that IP blocking "impedes our ability to read your robots.txt file." A checker may read your page fine while the crawler cannot read the file that grants it permission. Run a robots.txt reachability check separately.
  • IPv6-only origins. OpenAI's published crawler IP files list IPv4 prefixes only. If the path a bot takes resolves only over IPv6, it cannot connect, whatever robots.txt says.
  • CDN default changes. From 2026-09-15, Cloudflare began blocking Training and Agent crawler categories by default on pages that display ads, for new domains, new sites on existing accounts and existing free-tier customers. Search crawlers stay allowed by default. A test from before that date may no longer reflect your setup.
  • Plugins and app-level rules. Security plugins can block on user agent before the CDN is involved. See whether WordPress security plugins block AI crawlers.
  • User-triggered fetchers. Perplexity says Perplexity-User "generally ignores robots.txt rules," and OpenAI says robots.txt "may not apply" to ChatGPT-User. These behave differently from index crawlers, so lumping them together confuses results.

What to do next: confirm with verified bot logs

Use checkers to find suspects, then confirm with evidence from your own server. Here is the order that works.

  1. Run a checker from more than one network. Compare a datacenter test with a residential one. If they differ, your firewall is scoring on IP origin. The free firewall AI bot test is a starting point.
  2. Record status codes, not just pass or fail. A 200 with a challenge page in the HTML is a failure. A 403 points at bot mitigation. A 429 points at rate limiting.
  3. Pull your origin or CDN logs. Filter to requests claiming to be OAI-SearchBot, PerplexityBot, Claude-SearchBot, bingbot and Meta-WebIndexer. Our guide to seeing which AI bots crawl your site walks through it.
  4. Verify the bots. Match source IPs against the operator's published ranges or reverse DNS. Discard spoofed hits.
  5. Read the status codes the verified bots received. This is the ground truth. If real OAI-SearchBot requests get 403, fix the rule that blocks them.

Fixing access removes a block. It does not guarantee any engine will retrieve or cite you, since that happens at later stages nobody outside the operator controls. If you want a per-crawler snapshot first, the AI Crawler Checker requests a page as each AI crawler and shows which ones the firewall turns away. Treat its result like any checker: a lead to confirm in your logs.

Frequently asked questions

Should I test from a datacenter or a residential connection?

Both. Real AI crawlers come from the operator's own IP ranges, which are datacenter addresses, so a datacenter test is closer to their experience. A residential test shows what a normal visitor sees. If the two disagree, your firewall is scoring requests on IP origin. That tells you which rule to inspect, but only your logs show what the verified crawler actually received.

If a checker says my site passed, am I safe?

Not necessarily. A pass means that tool's request got through from that tool's network at that moment. The real crawler arrives from different IPs, at a different rate, and may hit rate limits or challenges the checker never triggered. Treat a pass as encouraging, then confirm in server logs that verified OAI-SearchBot or PerplexityBot requests receive 200 responses with real page content.

Why do results change from one day to the next?

Bot management rules adapt. Rate limits reset, reputation scores shift, and CDN providers change defaults, as Cloudflare did on 2026-09-15 for Training and Agent crawlers on ad-displaying pages. Your own team or a plugin update can also change rules. Run checks after any security, CDN or hosting change, and keep a dated record so you can tell when access broke.

Does allowing GPTBot fix ChatGPT search access?

No. OpenAI documents GPTBot as a training crawler and OAI-SearchBot as the crawler for ChatGPT search, and says each setting is independent of the others. If a checker only tests GPTBot, it tells you nothing about search eligibility. Make sure your tests and your firewall rules cover OAI-SearchBot specifically, along with the published IP ranges OpenAI lists for it.

Sources

  1. Searching the web with ChatGPT
  2. Overview of OpenAI Crawlers
  3. OpenAI
  4. Bots · Cloudflare bot solutions docs
  5. Does Anthropic crawl data from the web, and how can site owners block the crawler?
  6. Perplexity Crawlers - Perplexity

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.

Keep reading