Skip to content

Organic SEO · Crawler Access

Is Cloudflare blocking the crawlers you actually want?

Check the live response, the rule that acted and the platform's own evidence before you change security.

Start by proving where access stops.

Cloudflare may be part of the problem. It may also be doing exactly what you asked it to do.

Before you change a firewall rule, separate four questions:

QuestionWhat the evidence can showWhat it cannot show
Can the named crawler request the page?Whether the request was allowed, blocked, challenged or timed outWhether the platform will keep returning
Can it receive the useful content?Whether the response contains the page rather than a login or challengeWhether the platform will index or retrieve it
Can the platform index or retrieve it?A platform-specific eligibility or observed stateWhether the page will appear for a particular question
Did the page produce a business result?A measured call, appointment, enquiry, demo or orderWhether crawler access caused that result

A normal browser view proves that a person using that browser received the page. It does not prove Googlebot, Bingbot, OAI-SearchBot or another named crawler received the same response.

Google’s technical requirements make the boundary clear. Googlebot access, an HTTP 200 response and indexable content make a page eligible for indexing. They do not guarantee that Google will index it.

The first job is smaller than “fix AI visibility.” Find the first place where a named, legitimate request stops receiving the public page.

Identify the crawler and its purpose first.

Do not begin with “allow AI bots.” Begin with what you want the platform to do.

A crawler may collect pages for search. A user-triggered fetcher may open a page because someone asked a question. A training crawler may collect material for model development. Those are different uses, and the operators publish different controls for them.

The table below reflects primary platform documentation checked on 2026-08-21. Bot names, IP ranges and product rules can change. Recheck the linked source before changing a live firewall.

PlatformNamed agentDocumented purposePractical test boundary
GoogleGooglebotCommon crawler used for Google products including SearchVerify Google origin, then use Search Console URL Inspection for the page
Microsoft BingBingbotMain crawler used to discover and process pages for BingVerify the IP with Bing’s tool, then inspect the URL in Bing Webmaster Tools
OpenAIOAI-SearchBotMakes sites eligible to surface in ChatGPT search resultsCheck its robots group and current published IP ranges
OpenAIGPTBotCrawls material that may be used for model trainingMake a separate training-policy decision; do not treat it as the search bot
OpenAIChatGPT-UserMay fetch a page after a user’s actionIt is not the automatic search crawler and OpenAI says robots rules may not apply to these user actions
AnthropicClaude-SearchBotNavigates the web to improve Claude search resultsTest separately from training and user-directed retrieval
AnthropicClaudeBotCollects public material that may contribute to model trainingMake a separate training-policy decision
AnthropicClaude-UserMay retrieve a page at a user’s directionTest the live response without assuming it behaves like Claude-SearchBot
PerplexityPerplexityBotPerplexity’s documented crawlerMatch its current official IP data and user agent when testing a WAF rule
PerplexityPerplexity-UserPerplexity’s documented user agentTest separately with its current official IP data

OpenAI’s crawler documentation explicitly says its settings are independent. Anthropic’s crawler documentation also separates training, search and user-directed retrieval. Perplexity publishes a crawler and WAF guide for its two named agents.

This is why one broad “AI bot” toggle cannot answer every access question.

Read the robots file that crawlers actually receive.

Open the exact live hostname at /robots.txt. Save the response with the UTC date, HTTP status and response body.

Do not rely only on the file in your CMS or origin server. Cloudflare’s managed robots setting can prepend managed instructions to an existing origin file or create a response when the origin has no file. The crawler acts on the public response it receives.

For the named crawler, record:

  • the matching User-agent group;
  • every applicable Allow and Disallow rule;
  • whether a general group and a specific group conflict;
  • whether Cloudflare’s managed setting is on;
  • whether the file is different across the apex domain, www host or another subdomain;
  • whether the page also sends noindex in HTML or an X-Robots-Tag header.

Robots is not a password. Google’s robots.txt guidance says it manages crawler access and load; it is not a secure way to hide a page. Different crawlers may also support or interpret instructions differently.

There is another common trap. A crawler usually needs to receive a page to read its noindex instruction. Blocking the URL in robots while expecting the platform to process page-level noindex can prevent that instruction from being seen.

Use authentication for material that must remain private. Use robots and platform-specific controls for public content-use preferences.

Check every Cloudflare control that can act.

Cloudflare is not one switch. Several products can inspect or change the same request.

LayerWhat to inspectEvidence to preserve
AI Crawl ControlNamed crawler action and unsuccessful requestsCrawler, category, request count, robots state and configured action
WAF custom and managed rulesBlock, challenge, skip or custom responseRule ID, action, hostname, path and CF-Ray
Bot productsVerified-bot state, bot action and product configurationDetection/classification evidence and action
Rate limiting and DDoS controls429, 503, connection close or mitigationThreshold, rule source, time window and response
Cloudflare AccessLogin or authorization requirementProtected application/path and intended privacy state
Workers or transform rulesRedirect, rewritten robots file, header or bodyWorker/rule name and before/after response
Origin applicationServer, plugin or application blockOrigin log, origin status and application rule

Start with AI Crawl Control if it is available for the proxied zone. Its crawler table can show activity and the chosen action. Cloudflare warns that an “unsuccessful request” may come from another rule or response error, not only an AI Crawl Control block.

Then inspect WAF, bot, rate-limit and Access evidence for the same time and path. Cloudflare’s product-order documentation says AI Crawl Control crawler blocks run through WAF custom rules before Cloudflare bot solutions. That means changing a later bot setting may not repair an earlier block.

Cloudflare Access is different again. It is an identity-aware boundary for protected applications. If a private portal requires authorization, an unauthenticated crawler should not receive it. The right decision may be to keep that route closed and make a separate public information page clear and accessible.

Do not switch off Cloudflare for the whole site to see whether the problem disappears. That removes useful protection and gives you poor evidence about which control acted.

Compare the status, body, headers and rendered page.

An HTTP status is important, but it is not the whole response.

EvidenceWhat it may meanWhat to check next
403Access was refusedWhich edge or origin rule returned it?
429A rate limit actedWas the named legitimate crawler verified and was the limit temporary?
503The service is temporarily unavailableIs it a planned crawler response, an overload or a challenge behavior?
TimeoutNo usable response completedDid the request reach Cloudflare and the origin?
302 to loginAuthentication intercepted the public requestIs that path meant to be public?
200 with a challenge pageThe request did not receive the useful contentWhich security product issued the challenge?
200 with the real pageThe request passed this access testContinue to platform-native index or retrieval evidence

Google’s CDN crawling guidance distinguishes hard errors from soft blocks such as a human-verification page. A crawler receiving an HTTP 200 challenge has not received the same useful page as a normal visitor.

Save the redirect chain, response body marker, content type, robots headers and CF-Ray. In Cloudflare, compare the edge response with the origin response. If the edge returned 403 and the origin never received the request, investigate the edge rule. If both returned 200 but the rendered page is empty, investigate rendering and resource access.

Cloudflare Security Events helps identify acted-on requests, but it may use sampled data and one HTTP request can create several events. An absent event is not proof that no request occurred. Security Analytics or request logs may provide a broader view, depending on the plan.

For Google, inspect the tested page and rendered view in Search Console. Confirm that the main content appears—not a blank page, login, block message or challenge.

Verify identity without trusting the bot name.

Anyone can put Googlebot, Bingbot or an AI crawler name in a user-agent header. Do not create a security exception from that string alone.

Use the verification method the operator currently supports:

  • Google documents reverse-and-forward DNS checks and publishes IP data for different crawler and fetcher classes.
  • Bing provides a Verify Bingbot tool and warns that user-agent strings are easy to spoof.
  • OpenAI publishes separate current IP files for OAI-SearchBot, GPTBot and ChatGPT-User.
  • Anthropic publishes crawler IP information and says the list identifies Anthropic-origin requests.
  • Perplexity recommends combining the named user agent with its current official IP sources in a WAF rule.

Cloudflare’s verified-bot documentation adds another useful signal, but still record the behavior or purpose you intend to allow.

Any exception should be narrow: verified identity, intended hostname, necessary public paths, expected request methods and the purpose you accept. Preserve rate limiting, WAF protection and authentication for everything outside that scope.

Test Google, Bing and each AI platform separately.

There is no single test for “all search and AI.” Use the platform’s own evidence when it provides one.

PlatformAccess evidencePlatform-native evidenceHonest conclusion
Google SearchVerified Google request, live robots response, HTTP/render result and Cloudflare logsSearch Console URL Inspection, Page Indexing and Crawl StatsGooglebot access observed or blocked at a named time; indexing remains a separate decision
BingVerified Bingbot request, robots response, HTTP/render result and logsBing Webmaster Tools URL Inspection and crawl informationBingbot access observed or blocked; Bing still selects what enters its index
OpenAIRelevant bot group, current published IP evidence, HTTP response and edge/origin logsOperator crawler documentation and repeated product observations where appropriateOAI-SearchBot, GPTBot or ChatGPT-User tested for its documented purpose only
AnthropicRelevant bot group, supported IP evidence, HTTP response and logsOperator crawler documentation and repeated product observations where appropriateClaudeBot, Claude-SearchBot or Claude-User tested separately
PerplexityRelevant agent, current official IP evidence, HTTP response and logsOperator crawler documentation and repeated product observations where appropriatePerplexityBot or Perplexity-User tested separately

Google documents how to verify Google requests. It separates common crawlers, special crawlers and user-triggered fetchers because their roles and robots behavior can differ.

Bing’s crawler inventory identifies Bingbot as its main crawler and points owners to verification. Bing also explains that crawl access is not the only reason a page may be absent from its index.

For AI products, test the named crawler or fetcher the operator documents. Do not infer that passing OAI-SearchBot proves Claude-SearchBot access, or that allowing a training bot is required for search visibility.

Before changing crawler policy, use the robots.txt decision guide to separate public discovery, search use and training preferences. After access passes, the work moves to a different question: can the platform understand, select and use the page? The AI search mechanics guide explains that next layer. Mindflow’s AI Visibility service covers the broader commercial work.

Keep private information private.

Visibility work applies to public pages. It is not a reason to expose protected data.

Keep authentication and authorization on:

  • admin and staging systems;
  • patient portals and health records;
  • legal client files and privileged material;
  • SaaS customer workspaces, account data and internal documentation;
  • eCommerce order histories, payment areas and customer accounts;
  • home-service dispatch, customer records and internal operating systems.

Do not publish raw security logs in a report. They may contain IP addresses, private URLs, query strings, account identifiers or rule details. Preserve the evidence privately and publish only the conclusion needed for the decision.

If a commercial topic must be discoverable, create or improve a separate public page. A healthcare practice can publish a service explanation without exposing a patient portal. A SaaS company can publish product documentation without opening a customer’s workspace.

Cloudflare’s Access documentation describes Access as an identity-aware proxy. Treat that boundary as intentional unless the exact public path was included by mistake.

The public/private line changes by industry.

The diagnostic method stays consistent. The pages and protected records change.

IndustryPublic pages to keep reachableAreas that should remain protectedBuyer action the public path supports
Home ServicesService, service-area, financing and contact informationDispatch, customer addresses, job records and internal systemsQualified calls and booked work
HealthcareProvider, service, location and appointment informationPatient portals, records, forms with protected data and staff systemsAppropriate appointment requests
LegalPractice-area, attorney, location and consultation informationClient files, privileged communications and matter-management systemsQualified prospective-client enquiries
B2B SaaSProduct, use-case, integration, comparison and public documentationCustomer workspaces, account data, private APIs and internal docsDemos, trials and qualified pipeline actions
eCommerceCategory, product, delivery, return and policy informationCustomer accounts, payments, order histories and administrationCompleted orders and repeat purchase paths

Equal attention does not mean using the same allow rule everywhere. It means protecting the public discovery path and the private operating boundary in each industry.

Healthcare and legal teams may need additional privacy, security and professional review. That review should narrow the publishable surface, not turn robots.txt into a substitute for proper access control.

End with a dated answer and one safe next action.

Do not end the check with “looks fine.” Use a record another person can inspect.

CheckEvidence to recordConclusion or next action
Date and targetUTC time, scheme, hostname and exact pathMakes the result repeatable
Intended statePublic page or protected routeStop if the route should remain private
Crawler purposeSearch, user retrieval, training or unknownTest the relevant named agent only
IdentityUser agent plus current IP or supported DNS verificationDo not trust the name alone
Live robots responseStatus, matching group, directives and managed stateRepair only a proven conflict
Public HTTP responseStatus, redirects, body marker, headers and CF-RayLocate block, challenge, login or success
Cloudflare and originActing rule/product, edge status, origin receipt and origin statusFix the first layer that changed the response
Rendered contentMain content and important resources present or missingRepair rendering only when the useful page is absent
Native platform evidenceSearch Console, Bing tools or supported operator evidenceKeep platform conclusions separate
Final findingALLOWED, BLOCKED or UNKNOWN for this named testAccess evidence only; no indexing, citation, ranking or recommendation guarantee

If the evidence shows a block, change the smallest safe rule and run the same test again. If access passes, stop changing Cloudflare and investigate the next layer. If the evidence is incomplete, label the result unknown instead of guessing.

The broader technical SEO guide helps decide whether this is one contained fix or part of a larger problem. Mindflow’s Organic SEO service covers the full discovery path.

If you do not know where the response changes, request a Free Visibility Check. The check reviews a limited public sample and identifies the first visible issue worth investigating. It is not a full security audit, and it cannot promise indexing or appearance in an AI answer.

Primary sources