A brass peephole set in a wooden door with a paper log sheet hanging beneath it

How to make sure AI crawlers can access and read your site

Technical SEO & AI Search

A crawler can be allowed in robots.txt and still receive a 403 from your firewall. It can receive a 200 response and still see an empty JavaScript shell. And a request that only claims to be OAI-SearchBot does not prove the genuine OpenAI crawler reached your site.

A proper AI crawler access audit therefore needs three kinds of evidence: what your policy says, what your infrastructure returns, and what genuine crawler activity proves.

By Rahul Saini, Author at Search Counsel Co. Last updated August 2026.

Quick answer: How do I test AI crawler access?

Check five layers: robots.txt permission, CDN/WAF access, HTTP response, initial HTML, and real server logs. For search visibility, test the search/retrieval bots separately from training crawlers—for example OAI-SearchBot vs GPTBot, Claude-SearchBot vs ClaudeBot, PerplexityBot, and Googlebot.

1

Permission
robots.txt

2

Access
CDN / WAF

3

Response
HTTP

4

Readability
Raw HTML

5

Verification
Logs

Core principle: robots.txt permission does not prove network access. Network access does not prove readable content. Readable content does not prove the genuine vendor crawler requested the page. And successful crawling does not guarantee an AI citation.

How to Check AI Crawler Access in 5 Steps

  1. Check robots.txt. Confirm whether the exact crawler and URL path are allowed.
  2. Check your CDN or firewall. Look for 403s, challenges, rate limiting or bot-management blocks.
  3. Check the final HTTP response. Confirm that the public URL resolves cleanly.
  4. Check the initial HTML. Make sure important text and links exist before client-side JavaScript runs.
  5. Check real logs. Verify genuine crawler activity using server/WAF logs and current vendor verification information.

Fastest diagnosis: if robots.txt says Allow but the crawler receives 403, focus on infrastructure. If the crawler receives 200 but useful text is absent from raw HTML, focus on rendering. If both look correct but you have no real crawler activity, investigate discovery and verified-bot access.

Which AI Crawlers Actually Matter?

Do not treat every AI bot as the same type of crawler. Search/discovery, training and user-triggered retrieval can be separate controls.

Platform Search / discovery Training / model development User-triggered fetch
OpenAI OAI-SearchBot GPTBot ChatGPT-User
Anthropic Claude-SearchBot ClaudeBot Claude-User
Perplexity PerplexityBot Separate from PerplexityBot Perplexity-User
Google Search Googlebot Google-Extended controls certain separate AI uses Depends on product/workflow

For the full policy-level setup, including training-vs-retrieval decisions and robots directives, use the AI crawler and robots.txt guide. This page focuses on whether the important URL can actually be reached and read.

The SearchCounselCo AI Crawler Evidence Ladder

Different tests provide different levels of confidence. Do not call all of them “verified crawler access.”

Evidence level What it proves What it does not prove
1. robots.txt policy What compliant crawlers are instructed to do That the server will actually serve the URL
2. Simulated User-Agent request How your stack responds to a request claiming that identity That the genuine vendor crawler can access the page
3. Readable raw HTML Useful content exists in the returned response That the vendor actually requested it
4. Verified crawler log The genuine crawler requested the URL and received a response That the content will be indexed or cited
5. Search/citation observation Your content actually surfaced in an observed AI-search result Every internal crawl or retrieval mechanism used

AI Crawler Access Troubleshooting Matrix

What you see Likely issue Check next Action
robots.txt says Allow, bot gets 403 WAF/CDN/security block Security events and verified-bot rules Correct the infrastructure rule
Bot gets 429 Rate limiting Bot-management policy Adjust crawler rate rule if access is desired
Bot receives 200 but important text is absent Client-side rendering Raw HTML SSR, SSG or appropriate prerendering
OAI-SearchBot blocked ChatGPT Search crawler is opted out robots + WAF Allow it if Search visibility is desired
GPTBot blocked, OAI-SearchBot allowed Training disabled, Search allowed Confirm policy is intentional No change required if intentional
curl gets 200 but real crawler gets 403 IP/verified-bot rule difference Real WAF/server logs Fix verified crawler access
AI can summarize URL but no crawler log appears User fetch, cache or another retrieval path may be involved Agent type and logs Do not infer a specific crawler from the summary alone

“Crawlers Are Not Allowed to Access This Page”: What Does It Mean?

This message does not identify one universal problem. It usually means an automated fetch was denied somewhere in the access path.

Possible cause How to identify it
robots.txt Disallow Check the exact crawler group and requested path
WAF/firewall block Look for 403/security events
Rate limit Look for 429 responses
Authentication Check 401/login redirects
Challenge page Compare returned HTML with the expected page
JavaScript shell 200 response but important content missing from raw HTML

The fastest way to diagnose the error is to identify the first layer where the expected behavior changes.

Are AI Crawlers Like GPTBot Blocked by Default?

Not simply because they are AI crawlers.

Under the Robots Exclusion Protocol, if an applicable user-agent group exists but no rule matches the requested path, that path is allowed. If no applicable group exists, the crawler follows the standard fallback behavior rather than being automatically blocked merely because it is an AI bot.

But robots.txt is only one layer. A CDN, WAF, hosting provider or bot-management system can still block automated crawlers by default even when robots.txt contains no Disallow rule.

Check robots.txt for the Exact Crawler and URL Path

Start with:

https://example.com/robots.txt

Then identify the applicable user-agent group and the rule matching the URL you actually care about.

Do not test only the homepage

robots.txt rules can differ by path.

User-agent: OAI-SearchBot
Allow: /blog/
Disallow: /

In this example, testing only:

https://example.com/

does not answer whether:

https://example.com/blog/guide/

is crawlable.

RFC 9309 uses the most specific matching path rule. Where equally specific Allow and Disallow rules match, Allow should be used.

For a complete AI crawler policy setup, see robots.txt for the AI era.

What If robots.txt Returns 404, 403 or 500?

The response from robots.txt itself matters.

robots.txt result Protocol-level interpretation
200 Parse and follow the returned rules
4xx unavailable response The crawler may treat robots.txt as unavailable and access resources
5xx / network failure A crawler may initially assume complete disallow while the robots file is unreachable

Vendor implementation details can vary, so use RFC 9309 as the protocol baseline and current platform documentation for crawler-specific behavior.

Check Your WAF, CDN and Cloudflare Rules

robots.txt tells compliant crawlers what they are allowed to request. Your security stack decides whether the request physically reaches the content.

Review:

  • custom WAF rules,
  • bot-management rules,
  • rate limiting,
  • managed challenges,
  • IP/ASN blocks,
  • country restrictions,
  • origin firewall rules.

Cloudflare has two different crawler-control layers

Cloudflare can affect AI crawlers through both robots policy and actual edge enforcement.

Layer What it does
Managed robots.txt Can add or serve crawler directives at the edge
AI Crawl Control / WAF Can enforce actual access rules and expose crawler-specific analytics

Important Cloudflare edge case: if the robots.txt file you see live contains rules that are not present in your origin file, check whether Cloudflare’s managed robots feature is modifying the served response.

Check the HTTP Response

Response Meaning Check
200 Successful response Move to raw HTML
301 / 308 Permanent redirect Confirm final destination
403 Access forbidden WAF/firewall/verified-bot rules
404 URL missing URL/discovery/redirect
429 Rate limited Bot-management rate policy
5xx Server/origin failure Hosting/application reliability

If redirects or crawl errors are widespread, continue with the crawl error guide and URL and redirect workflow.

Check Whether Important Content Exists in the Initial HTML

A 200 response can still be almost useless to a crawler that does not execute client-side JavaScript.

Example:

<body>
<div id=”app”></div>
<script src=”/app.js”></script>
</body>

A browser may turn that into a complete page after JavaScript runs. A non-rendering crawler may receive only the shell.

Fast raw HTML tests

  • Use View Page Source.
  • Search for the main H1.
  • Search for a unique sentence from the first paragraph.
  • Search for key product/service text.
  • Search for important internal links.

For the deeper rendering implementation, use the JavaScript SEO guide.

Verify Genuine AI Crawler Activity in Server or WAF Logs

A simulated curl request is useful, but it is not the strongest evidence.

Look for:

  • User-Agent,
  • requested URL,
  • timestamp,
  • HTTP status,
  • IP address where available,
  • security action,
  • response time.

Where the vendor publishes official crawler ranges or verification information, use the current vendor source rather than copying an old static IP list into your firewall.

Simulation example

curl -I -A “OAI-SearchBot” https://example.com/page/

Label it correctly: this is a simulated OAI-SearchBot request. User-Agent strings can be spoofed. Do not call it verified OpenAI access unless genuine crawler activity is confirmed.

OpenAI, Claude, Perplexity and Google: Important Differences

OpenAI: OAI-SearchBot vs GPTBot

OAI-SearchBot is associated with surfacing websites in ChatGPT Search, while GPTBot is the separate crawler used for content that may be used in foundation-model development.

A publisher can therefore allow Search while blocking training if that matches its policy.

After changing OpenAI robots rules: OpenAI currently says its Search systems may take roughly 24 hours to adjust to robots.txt changes. A failed re-test five minutes after an update does not necessarily mean the change failed.

Anthropic: Claude-SearchBot vs ClaudeBot

Claude-SearchBot is the search-oriented crawler, while ClaudeBot is associated with automated crawling for model-development purposes. Treat those policies separately.

PerplexityBot

PerplexityBot is designed to surface and link websites in Perplexity search results. Perplexity also publishes current crawler information for sites that need to configure WAF access.

Googlebot vs Google-Extended

Claim Correct interpretation
Blocking Google-Extended blocks AI Overviews No
Googlebot controls normal Google Search crawling Yes
Google-Extended is a separate AI-use control Yes

Do AI Crawlers Execute JavaScript?

Do not assume every crawler behaves like Googlebot.

Vercel and MERJ measured several major AI crawlers—including OpenAI, Anthropic and Perplexity agents—and reported that those non-Google crawlers did not execute JavaScript in the tested dataset.

Some crawlers fetched JavaScript resources, but fetching a script is not the same as executing it and rendering the page.

Do not treat this as a permanent protocol guarantee. Crawler implementations can change. Use current vendor documentation and your own response/log testing for important decisions.

AI Crawler Access Audit Worksheet

Use one row per important crawler and URL.

Bot Purpose URL robots rule Simulated HTTP Raw HTML Real log hit? Verified identity? Action
OAI-SearchBot Search /important-page/

What to Check After Fixing AI Crawler Access

Do not expect an immediate citation because a 403 became a 200.

Monitor the sequence:

  1. Successful genuine crawler requests.
  2. Coverage of the URLs you actually care about.
  3. Readable server-delivered content.
  4. AI-search visibility, mentions or citations over time.
  5. Business value from any resulting traffic.

For the next measurement step, use how to track AI visibility.

robots.txt Says Allow—but AI Crawlers Still Fail?

The failure may be in your WAF, CDN, redirects, HTTP responses, JavaScript delivery, or crawler verification rather than your content itself.


Explore Technical SEO Services

AI Crawler Access FAQ

How do I check which AI bots can access my website?

Check the exact crawler and URL across robots.txt, WAF/CDN rules, HTTP response, raw HTML and server logs. Use genuine crawler verification where the vendor provides it.

How do I detect AI crawler blocking?

Look for a mismatch between policy and response. If robots.txt says Allow but the request gets 403, investigate WAF or CDN rules. A 429 suggests rate limiting. A 200 with missing content suggests a rendering/readability problem.

Are AI crawlers blocked by default?

Not automatically by robots.txt simply because they are AI crawlers. However, hosting, CDN and WAF products can apply separate automated-bot blocking defaults, so always test the actual infrastructure response.

What is the difference between OAI-SearchBot and GPTBot?

OAI-SearchBot is associated with ChatGPT Search discovery, while GPTBot is a separate crawler used for content that may be used in model development. Their robots policies can be controlled independently.

Can robots.txt allow a crawler while Cloudflare blocks it?

Yes. robots.txt expresses crawler policy, while Cloudflare or another WAF can enforce separate network-level access rules.

Is a curl User-Agent test enough to prove crawler access?

No. It is a simulation because User-Agent strings can be spoofed. Real verification should use server/WAF logs plus vendor-published verification information where available.

Does Google-Extended control AI Overviews?

No. Google says normal Googlebot crawling controls Search, including Google’s AI features in Search. Google-Extended is a separate control for certain other Google AI uses.

Do AI crawlers run JavaScript?

Measured research has found several major non-Google AI crawlers did not execute JavaScript in the tested dataset. Because implementations can change, test important content in raw HTML and verify current behavior.

Official Sources and Further Reading

Editorial note: AI crawler names, IP ranges, crawler behavior and WAF defaults can change. Recheck current vendor documentation before making security or access-control changes. A simulated User-Agent response is not equivalent to verified genuine crawler access, and crawlability does not guarantee AI-search citation or ranking.

Final Takeaway: Test Policy, Reachability and Real Evidence Separately

AI crawler access is not one yes-or-no setting.

First check what robots.txt says for the exact bot and URL path. Then test whether your infrastructure actually serves the request. Confirm that useful content exists in the returned HTML. Finally, verify genuine crawler activity in logs where possible.

Keep the distinctions clear:

  • robots permission is not physical access;
  • a simulated User-Agent is not verified crawler identity;
  • HTTP 200 is not proof of readable content;
  • readable content is not proof of citation;
  • GPTBot is not OAI-SearchBot;
  • ClaudeBot is not Claude-SearchBot;
  • Google-Extended is not Googlebot.

For complete policy configuration, continue with the AI crawler and robots.txt guide. For rendering problems, use the JavaScript SEO guide. After crawl access is working, continue with AI visibility tracking.

Scroll to Top