groundy
Infrastructure & Runtime

Should You Rethink Blocking AI Crawlers After the Cloudflare-OpenAI Deal?

Split blanket AI crawler blocks into three per-agent decisions. Verify OpenAI bots via IP ranges. Treat Cloudflare pilot indexing claims as vendor-reported and unverified.

Published 6 references
Two translucent green miniature dinosaurs flank a curved barrier with three hinged gates. A squat dinosaur faces a closed gate; a long-necked dinosaur stands behind the open middle gate. Hard shadows fall across an ivory background.
On this page10 sections

Yes, the rethink is warranted, but the useful answer is not “unblock AI crawlers.” It is “split your blanket block into three separate decisions.” OpenAI runs three distinct user-agents with different jobs: GPTBot collects training data, OAI-SearchBot feeds ChatGPT’s search answers, and ChatGPT-User fetches pages live when a person in ChatGPT asks for them. A blanket Disallow: / against “AI bots” conflates all three, and the consequence of blocking OAI-SearchBot (disappearing from ChatGPT search answers) is very different from the consequence of blocking GPTBot (opting out of training). The immediate reason to revisit the policy now is the Cloudflare-OpenAI joint research pilot, launched in July 2026, which Cloudflare says has used a cohort of roughly 1% of its network (pilot announcement) to get “hundreds of millions of new web pages” discovered and indexed into ChatGPT.

One discipline up front, because it shapes everything below: every performance figure attached to that pilot is Cloudflare-reported, drawn from a small participating cohort, with no independent replication and no measured link between ChatGPT discovery and actual site visits. Several pilot features are stated goals or tests, not shipped capabilities. Where the pilot’s claims matter to a decision, I label them that way. What any site owner can verify independently, the per-agent behavior of OpenAI’s crawlers and the IP-verification workflow, is the load-bearing part of this article.

What the pilot actually is, and what it is not

Cloudflare’s own framing is plain: “Cloudflare and OpenAI launched a research pilot in July 2026 with those interests in mind. We wanted to find out whether signals from Cloudflare’s network could help ChatGPT users discover new content more efficiently.” The reported early result is that the cohort, about 1% of Cloudflare’s total network (per Cloudflare’s announcement), “has enabled OpenAI to discover and index hundreds of millions of new web pages.”

Read that sentence carefully and it tells you both why the pilot matters and why it should not settle your policy by itself. It matters because if roughly one percent of one CDN’s network produced that volume of newly indexed pages, then ChatGPT’s search index was missing a lot of the web, and sites that blocked AI crawlers during the 2023-2025 blocking wave, in which reputable news sites disallowing at least one AI agent rose from 23% in September 2023 to nearly 60% by May 2025 (a WWW 2026 robots.txt study), were plausibly absent from a discovery channel that is now sending real referral traffic. It should not settle policy because the number is a vendor self-report from a small, self-selected cohort. There is no independent audit of the indexing figure in the available evidence, and nothing in it measures whether those newly discovered pages received visits.

Two pilot components are roadmap, not shipped guarantees, and should be treated as such:

  • Change signals. Cloudflare says these “tell them when a page is worth another visit, and when it isn’t,” with the stated goal of “reducing the work that takes” so that “for Cloudflare customers, that means less unnecessary load.” The same paragraph concedes that “finding new pages can initially increase crawling.” Load reduction is a goal, not a measured outcome.
  • Harmful-page flagging. The pilot is testing signals that flag individual harmful pages, the example given is a single compromised page carrying an attacker-planted fake login form, so that page can be excluded from the index without penalizing the whole domain. This is a pilot test. Do not plan around it as a shipped safety feature.

The practical consequence for non-participants: nothing in the pilot changes what an arbitrary site can do today. The levers available to everyone, per-user-agent robots.txt rules and IP-range verification, existed before July 2026. What the pilot changes is the cost side of the ledger: blocking AI crawlers is no longer obviously costless if ChatGPT search is a discovery channel your audience uses.

Three user-agents, three decisions

The most consequential fact, and one many blanket-block authors never learned, is that blocking GPTBot does not remove you from ChatGPT answers. As the crawler guide puts it, “Blocking GPTBot in robots.txt opts your content out of model training, but it does not remove you from ChatGPT answers that retrieve pages live, because that retrieval runs under OAI-SearchBot and ChatGPT-User.”

The three agents map to three separate decisions:

User-agentWhat it doesConsequence of blockingVerification file
GPTBotCrawls for model training dataOpts out of training only; does not affect ChatGPT answershttps://openai.com/gptbot.json
OAI-SearchBotIndexes pages for ChatGPT searchSite “will not be shown in ChatGPT search answers,” per OpenAI documentationhttps://openai.com/searchbot.json
ChatGPT-UserFetches a page live when a user asksLive retrieval breaks for user-triggered requestshttps://openai.com/chatgpt-user.json

The middle row is the one that should drive the rethink. Per OpenAI’s documentation as cited in the guide, opting out of OAI-SearchBot removes a site from ChatGPT search answers, while ChatGPT-User “is not used for crawling the web in an automatic fashion,” so it is a per-request fetch rather than a systematic crawl. That means the three rows carry very different cost and benefit profiles. Blocking GPTBot is a content-rights decision about training. Blocking OAI-SearchBot is a visibility decision. Blocking ChatGPT-User is a user-experience decision: when someone in ChatGPT asks about your page and the assistant cannot fetch it, the answer they get will not be grounded in your content.

A team that set one blanket rule in 2025 made all three decisions at once, probably intending only the first.

The allow-and-verify framework

Robots.txt is a declaration, not a control. The strongest adversarial finding in the evidence is that the whole mechanism is unreliable: a WWW 2026 study of robots.txt gatekeeping, citing Kim et al. (2025), reports that AI bots “show moderate compliance with robots.txt, with some non-compliance due to spoofing.” The gatekeeping study itself does not verify crawler behavior; the compliance finding belongs to the large-scale measurement work it cites. Moderate compliance still means some operators ignore your directives, and spoofing still means a client can present a user-agent string it has not earned. Any policy that matters to you needs an enforcement layer, which for OpenAI’s crawlers means IP-range verification.

OpenAI publishes per-agent JSON files listing the IP ranges its crawlers use: gptbot.json for GPTBot, searchbot.json for OAI-SearchBot, and chatgpt-user.json for ChatGPT-User. The workflow that follows:

  1. Write per-agent robots.txt rules. Allow or disallow each user-agent separately instead of one blanket group. Keep GPTBot blocked if training opt-out is still your position; allow OAI-SearchBot if ChatGPT search visibility matters; decide ChatGPT-User based on whether you want live user-triggered fetches to succeed.
  2. Verify requests at the edge against the IP files. Accept requests claiming an OpenAI user-agent only from the published ranges; treat everything else as spoofing and apply your default bot policy. The GPTBot file listed 21 IPv4 CIDR ranges when fetched on 20 July 2026, which is a snapshot, not a constant. Refresh the files on a schedule rather than hardcoding the ranges.
  3. Log per-agent fetch rates separately. You cannot manage crawl load you cannot see. The load question below depends on knowing which agent is hitting you and how often.

This is the part of the framework with no dependence on the Cloudflare pilot. Whether or not you sit behind Cloudflare, and whether or not the pilot’s numbers hold up, per-agent rules plus IP verification is the only configuration that matches how OpenAI’s crawlers actually behave.

How much crawl load does unblocking reopen?

The legitimate fear behind blanket blocks was load, and unblocking does reopen that question. The best available baseline figure is not about OpenAI at all: a crawling-algorithm paper cites a 2021 Cloudflare estimate that “up to 53% of the crawling traffic of major search engines is redundant… in the sense that the crawler visits an unchanged version of a web page.” Treat that as context for what crawler behavior looks like absent freshness signals, not as a measurement of OAI-SearchBot. It is a five-year-old estimate about major search engines, and applying it directly to OpenAI’s crawlers would be an inference the evidence does not support.

What the evidence does support is the direction of the tradeoff. Cloudflare concedes in its own post that “finding new pages can initially increase crawling as those pages are evaluated and indexed.” So if you unblock OAI-SearchBot after a long block, expect an initial crawl burst while your pages are discovered and indexed. The pilot’s answer to this is change signals: Cloudflare’s network tells OpenAI’s crawlers when a page is worth another visit and when it is not, with the stated goal of cutting redundant revisits and reducing customer load. That is the roadmap half of the story. It is a sensible mechanism, redundant revisits are exactly where the waste lives, but the load reduction is a goal with early results reported by the vendor, not a guarantee extended to sites outside the pilot.

If you are not on Cloudflare or not in the cohort, the burden of freshness signaling is yours: accurate Last-Modified headers or sitemap timestamps are the conventional tools, and their effectiveness with OpenAI’s crawlers specifically is not established in the evidence here. What is established is the recommendation to watch your own logs. Set the policy, then measure per-agent request volume over the following weeks, and keep the option of re-tightening if the load reality does not match the roadmap claim.

Does discovery turn into visits?

This is the section where honesty about measurement matters most, because the strongest reason to unblock, referral traffic from ChatGPT, is also the least quantified.

A log-based study of ChatGPT referral traffic using glasp.co data defines ChatGPT referrals as “sessions whose sessionSource contains chatgpt,” and notes that other AI engines together contributed under 1% of AI-referred sessions in the study window (arXiv:2606.04362). Two implications follow. First, on this one studied domain, ChatGPT was effectively the whole measured AI-referral channel; the authors flag single-domain, single-engine external validity as untested, so treat that as a strong signal rather than a settled fact about the web. Even so, it is a reason OAI-SearchBot policy carries weight that policy toward smaller engines does not. Second, the measurement method itself tells you the number you see in analytics is a floor, not a total. The metric counts only sessions whose sessionSource contains chatgpt, so any visit arriving without that attribution is invisible to it. A dashboard zero means no sessions carried that attribution; the metric cannot speak for visits that lack it.

The harder limitation: no available study measures a link between being indexed in ChatGPT and receiving visits. The pilot reports pages indexed; the referral study reports sessions attributed; no source connects the two for a site that changes its blocking policy. So the discovery upside of unblocking OAI-SearchBot is real in principle and unquantified in practice. I would treat unblocking as a measured experiment rather than a bet: allow OAI-SearchBot, verify IPs, watch crawl load and ChatGPT-attributed sessions for a quarter, and remember that the attributed count is a floor.

Robots.txt is notice, not enforcement

Two findings together define how much weight your directives carry. The compliance side we covered: reported moderate compliance, some spoofing. The legal side is newer and worth knowing about. A paper accepted by Computer Law and Security Review, “The Liabilities of Robots.txt”, argues that civil doctrines offer a framework for regulating web robot behavior in common law jurisdictions: “Under certain conditions, ‘this http URL’ can give rise to a unilateral contract or serve as a form of notice sufficient to establish tortious liability, including trespass to chattels and negligence.”

The practical reading is not that robots.txt now reliably wins lawsuits; the paper argues a theory under certain conditions, it does not report a body of judgments. The practical reading is that your robots.txt file is increasingly treated as a documented statement of intent with potential legal weight. That cuts in both directions. A clearly written per-agent policy documents exactly what you opted out of and what you did not, which matters if a dispute ever arises over training use. It also means a sloppy blanket block may say something broader than you intended, for instance recording a refusal of search visibility you never meant to refuse.

The enforcement conclusion stands regardless: write precise per-agent directives for the record, and enforce with IP verification at the edge. The directive is the notice; the IP check is the control.

The decision, with conditions

If you blocked AI crawlers wholesale in 2025 or 2026, here is how I would re-decide it, and the conditions attached:

  • Keep GPTBot blocked if training opt-out remains your position. The pilot changes nothing about training consent. But recognize that this block alone never removed you from ChatGPT answers, and does not now.
  • Allow OAI-SearchBot if ChatGPT search visibility matters to you, and verify against searchbot.json. The pilot’s reported indexing scale suggests the discovery channel is real, while the discovery-to-traffic link is unmeasured, so treat the unblock as an experiment with a measurement plan, not a promised payoff. Expect an initial crawl increase; Cloudflare says as much.
  • Decide ChatGPT-User on user experience, not load. It is a per-request fetch, not a systematic crawl, so its load profile is small; blocking it mainly degrades what ChatGPT users see when they ask about your content.
  • Treat change-signal load reduction and harmful-page flagging as roadmap. Both are Cloudflare-reported goals or pilot tests. If you are a Cloudflare customer, ask whether you are in the cohort before assuming either applies to you. If you are not, plan your own freshness signaling and per-agent rate monitoring.
  • Enforce at the edge, not in the text file. Moderate robots.txt compliance plus spoofing means an allow list without IP verification is an invitation to spoofed crawlers and a policy without teeth either way.

What could change this verdict: independent replication of the pilot’s indexing and load numbers, evidence that ChatGPT discovery converts into measurable visits, or shipped (rather than tested) change-signal behavior for sites outside the cohort. None of that exists in the current evidence. Until it does, the defensible position is per-agent rules with verification, GPTBot decided on content-rights grounds, OAI-SearchBot unblocked as an instrumented experiment if discovery matters, and every pilot figure filed under “vendor-reported, small cohort, unverified.”

Frequently Asked Questions

Does blocking GPTBot remove a site from ChatGPT answers?

Blocking GPTBot in robots.txt opts your content out of model training, but it does not remove you from ChatGPT answers that retrieve pages live, because that retrieval runs under OAI-SearchBot and ChatGPT-User.

What happens to crawl load if a site unblocks OAI-SearchBot after a long block?

Cloudflare concedes in its own post that “finding new pages can initially increase crawling as those pages are evaluated and indexed.” So if you unblock OAI-SearchBot after a long block, expect an initial crawl burst while your pages are discovered and indexed.

References

Follow the links in the article for context. The supporting material is collected here for further reading.

  1. Cloudflare-OpenAI joint research pilotblog.cloudflare.comAccessed
  2. a WWW 2026 robots.txt studyarxiv.orgAccessed
  3. crawling-algorithm paperarxiv.orgAccessed
  4. arXiv:2606.04362arxiv.orgAccessed
  5. The Liabilities of Robots.txtarxiv.orgAccessed

Join the discussion

Share a useful perspective or ask a question about this article.

Discussion guidelinesComments privacy