Why robots.txt is not enough for ChatGPT page fetches
OpenAI says ChatGPT-User may ignore robots.txt when a person triggers the fetch. That changes access control, log analysis, and ChatGPT Search visibility.
robots.txt is not a reliable access-control layer for ChatGPT's user-triggered fetches. OpenAI now says its ChatGPT-User agent may not follow robots.txt when a person asks ChatGPT to visit a page. That matters because many teams have treated one text file as if it handled two different jobs: controlling AI visibility and preventing AI access. It does not. If a page truly must stay out, the control has to live at the server, CDN, firewall, or authentication layer. If the goal is ChatGPT Search visibility, the bot that matters is OAI-SearchBot, which is a different decision entirely.
This is a bigger shift than it looks. It forces SEO, content, and infrastructure teams to separate courtesy rules from enforceable rules, and it makes log analysis more important than assumptions. It also confirms something brands in AI search have been learning the hard way: visibility and access are no longer the same problem.
OpenAI's position is straightforward. ChatGPT-User is used when a ChatGPT user or a Custom GPT asks for a page, and because that action is user-initiated, robots.txt rules may not apply. OpenAI also says this agent is not used for automatic crawling and is not the bot that decides whether your content can appear in ChatGPT Search.
That distinction matters more than the headline. Many site owners see an OpenAI user-agent in their logs and assume it belongs to one system with one set of rules. In practice, OpenAI splits those jobs across different agents. One is tied to search inclusion, one is tied to training, and one can fetch pages in response to a user's request.
A simple example shows why this matters. Imagine a software company blocks ChatGPT-User in robots.txt because it wants tighter control over AI traffic. That step may not stop a user-triggered fetch. If the same company also blocks OAI-SearchBot, it may lose visibility in ChatGPT Search answers while still failing to create a hard barrier against fetches. That is the kind of tradeoff teams need to understand before they touch the file.
| OpenAI bot | Main role | How robots.txt fits | What it affects |
|---|---|---|---|
| OAI-SearchBot | Search discovery and inclusion | OpenAI says to use robots.txt for Search opt-outs | Whether pages can appear in ChatGPT Search answers |
| ChatGPT-User | User-triggered page fetches | OpenAI says robots.txt rules may not apply | Whether ChatGPT can fetch a page on behalf of a user |
| GPTBot | Training crawl | robots.txt can disallow training access | Whether content may be used for model training |
If you work on AI search, this also lines up with what we covered in our analysis of ChatGPT Search's narrower citation set. Retrieval paths are getting more selective, and the page-fetch layer is now part of the visibility conversation, not just a backend detail.
The short answer is OAI-SearchBot, not ChatGPT-User. OpenAI says OAI-SearchBot is the crawler used to surface websites in ChatGPT's search features. If a site opts out of OAI-SearchBot, OpenAI says it will not be shown in ChatGPT Search answers, though it may still appear as a navigational link.
This is the part many teams will get wrong if they only look at user-agent names in isolation. Blocking every OpenAI bot may feel clean, but it blends together three separate questions:
Those are not the same policy decision. A publisher that wants referral visibility may choose to allow OAI-SearchBot while disallowing GPTBot. A subscription site may still need hard controls around premium pages even if it wants some public content discoverable. A brand with sensitive documents may allow search visibility for public landing pages but require authentication for internal assets. One rule cannot sensibly cover all of that.
This is also why visibility measurement has to move beyond classic rank tracking. In AI search, being indexed is only one layer. A brand also needs to know whether its pages are actually surfacing in answers, which sources are being cited around it, and how competitors show up in the same prompts. That is exactly the kind of workflow BotRank's AI Visibility feature was built for.
The most important signal from TollBit's first-half 2026 State of the Bots report is that this is not a theoretical edge case. On the European sites covered in the report, about 15% of identified AI page-fetchers reached URLs that had been marked as disallowed. ChatGPT-User, Bytespider, and Youbot each accessed disallowed pages on nearly half of the European sites that had explicitly listed them, and ChatGPT-User reached the largest number of sites among that group.
That matters because it turns a documentation footnote into an operational issue. If a bot can still hit disallowed URLs under some conditions, robots.txt stops being a dependable gate and becomes what it has always technically been: a request for compliant crawlers, not an enforcement mechanism.
The rest of the report adds useful context. Some newer page-fetching agents were barely blocked at all, with single-digit disallow rates across many sites. ChatGPT-User stood out as an exception. TollBit also highlighted regional differences, such as lower disallow rates in Europe than North America for agents like Claude-User and Perplexity-User. That suggests publisher policy is still inconsistent, and many teams are likely setting crawl rules without a clear model of what each bot actually does.
A concrete example: a media site may think it has taken a strong stance by disallowing several AI fetchers in robots.txt. In reality, it may have created a symbolic rule for some agents, a real opt-out for others, and no hard barrier at all for the pages it values most. Without logs, response codes, and bot-level policy mapping, that team is flying blind.
If you want the broader backdrop, our piece on what 68.9 million AI crawler visits reveal about AI search visibility shows how much of today's AI traffic is tied to live retrieval rather than old-school indexing alone.
Because robots.txt is a declaration, not a lock. It tells cooperating bots where you prefer them not to go. It does not authenticate visitors, block requests at the edge, or stop a system that is designed to treat some visits as user actions rather than crawler actions.
That is not a new limitation, but the AI era makes it more painful. A disallowed path in robots.txt may still be reachable if the server itself returns the page. If the content is sensitive, metered, licensed, or legally restricted, the only safe approach is to enforce access with the mechanisms that actually sit in front of the content: login requirements, signed URLs, WAF rules, geo restrictions, token checks, rate limits, or paywall logic.
For SEO teams, the operational trap is easy to spot. robots.txt feels familiar, editable, and visible. Infrastructure controls often require cross-team work. But the cost of taking the easy path is growing. A brand can accidentally block the bot that affects visibility, fail to stop the agent it cares about most, and still never verify what raw HTML or server responses those systems actually receive.
That is why technical SEO audits now need an AI-readiness layer. The question is no longer just whether a page can rank. It is whether the right bots can access the right pages, whether the wrong ones are truly blocked where needed, and whether the page is machine-readable when it is fetched.
There is also a market-level signal here. Cloudflare has already moved toward network-layer controls that classify AI traffic by function, with new defaults for Training and Agent crawlers on ad-supported pages. That direction makes sense. Once user-triggered fetchers enter the picture, policy cannot depend on crawler etiquette alone.
The practical mistake here is treating every OpenAI visit as one visibility problem. It is not. Some visits affect search inclusion, some affect training, and some happen because a user asked for a page. If your team responds with a blanket robots.txt rule, you risk making the wrong tradeoff for all three.
The BotRank feature that fits this moment best is GEO Page Analysis. It gives teams a recurring technical view of the pages they actually care about, including crawl-readiness signals like robots.txt and llms.txt handling, plus broader machine-accessibility issues that can stop a page from being useful even when it is technically reachable. That matters because the real question is not just, "Did a bot visit?" It is, "Was the page correctly exposed, correctly protected, and structurally ready to be reused in AI answers?" A technical score alone will not solve policy. But it does turn a fuzzy AI-search concern into something teams can inspect, prioritize, and improve over time.
They should stop treating robots.txt as the whole policy. The better approach is to split the work into visibility, protection, and verification.
Write down which public pages you want eligible for ChatGPT Search, which pages you do not want used for training, and which pages must not be retrievable without stronger controls. Those decisions usually belong to different stakeholders. Marketing may care about search visibility, legal may care about licensing, and engineering may own enforcement.
A practical example is a SaaS company with public product pages, gated comparison assets, and internal documentation. The public pages may benefit from OAI-SearchBot access. The gated assets may need login or signed-link protection. The internal docs should not be left to robots.txt at all.
If you want to know what happened, look at server logs, CDN logs, or bot management dashboards. Check user-agent strings, request paths, status codes, timestamps, and whether the page returned a real response. A disallow line shows what you asked for. The logs show what actually arrived.
This is also where source-level visibility matters. If ChatGPT mentions your brand but cites a third-party page instead of your own, the traffic pattern and the answer pattern may be telling different stories. BotRank's Source Analysis helps teams inspect which pages are actually being cited and whether those cited pages genuinely mention the brand in a useful way.
Even when a page is allowed, it still has to be usable. Clear HTML structure, accessible headings, visible main content in raw HTML, and stable technical delivery all improve the odds that retrieval systems can make sense of the page. If the important copy only exists after client-side rendering, allowing the bot may change nothing.
This is where many teams will discover that AI visibility is partly a content problem and partly a technical one. A weak page can be reachable and still fail. A strong page can be blocked at the wrong layer and never get a fair chance.
Once the policy is clear, assign actions. Update robots.txt where it truly applies. Add server-side controls where it does not. Validate changes in logs. Recheck whether visibility actually changed inside AI answers. Then document the gaps that remain.
That is a good use case for BotRank's Recommendations workflow. It helps turn technical and visibility findings into a real backlog instead of leaving them as scattered notes across SEO, content, and engineering teams.
No. OpenAI says ChatGPT-User is not used to decide whether content appears in Search. For Search opt-outs and automatic crawl management, OpenAI points site owners to OAI-SearchBot.
No. robots.txt is not a secure access-control system. If a page truly must stay protected, enforce that at the server, authentication, CDN, or firewall level.
Usually, no. A blanket block mixes together search visibility, training policy, and user-triggered retrieval. A better policy is bot-specific and page-specific, based on what the content is for and what risk it carries.
Monitor logs, response codes, crawl activity, and actual answer visibility. If the goal is GEO performance, also monitor whether your brand is being mentioned, how it is being described, and which pages or third-party sources support those answers through a tool like AI Visibility.
The real takeaway is simple: robots.txt is now a visibility signal, a training signal, and sometimes just a polite suggestion. It is no longer safe to treat it as your master control for AI traffic. If you want ChatGPT Search visibility, manage the right search bot. If you want hard protection, enforce it at the edge or behind authentication. If you want to know whether any of this is working, measure the answers, the sources, and the logs together.
That is where GEO becomes operational. Brands that win in AI search will not be the ones with the loudest crawl policy. They will be the ones that know which agents matter, which pages deserve access, which pages need real protection, and how those choices change what users actually see in AI-generated results.