Home · Journal · SEO and AI search
SEO and AI search14 min read15/08/2026

Does ChatGPT respect robots.txt? Not the bot that matters

OpenAI documents four bots. Two are bound by robots.txt, one only ever visits ad pages you submitted yourself — and the fourth, the one that actually opens your pages when a ChatGPT user asks a question, carries a documented exemption. And our own logs show the file was never where access got decided anyway.

Night entrance of a parking garage with three illuminated lane signs: one green arrow reading ENTRY and two red crosses reading NO ENTRY, all reflected on wet asphalt
Three lanes, three signs, one barrier per lane. The sign is not the barrier — a distinction server logs understand better than most robots.txt files do.
In brief

The short answer. robots.txt demonstrably governs GPTBot (training) and OAI-SearchBot (search); OAI-AdsBot only ever visits ad pages you submitted yourself. It does not reliably govern ChatGPT-User — the fetcher that reads a page live, the moment a user asks about it. OpenAI's own documentation says of it: «robots.txt rules may not apply». We re-read that page on 15 August 2026; the sentence is there.

Who can close the tab. If you neither want AI assistants reading your site nor care whether they recommend you, this changes nothing today. Your firewall is already making the decision for you — probably more aggressively than you think.

Why the rest of you should read on. Because the file everyone edits is not the layer that decides. Our own robots.txt explicitly welcomes every OpenAI bot by name — and in the 23 hours before publishing this, 95% of ChatGPT-User requests to our site were blocked anyway, by two firewall layers we had to discover ourselves.

  • The four OpenAI bots and what each one actually does, from the documentation, not from folklore.
  • The exact sentence in which OpenAI exempts ChatGPT-User from robots.txt.
  • European market numbers: how often AI fetchers reach pages that were explicitly disallowed.
  • Our own measured case, in the opposite direction: a wide-open robots.txt and a firewall that blocks 95% regardless.

On 14 August, Search Engine Journal reported on TollBit's «State of the Bots» report for the first half of 2026, and put a sentence from OpenAI's crawler documentation in front of a much larger audience than developer docs usually get. The sentence has been sitting there in plain sight: ChatGPT's live fetcher, the agent that opens your page when a user asks about your business, is described by OpenAI itself as one that robots.txt «may not» bind.

Most of the coverage stops at the outrage. We run the other experiment daily: our site welcomes every AI bot in robots.txt, explicitly, by name — and our firewall data shows the welcome is worth exactly nothing. The two facts belong in the same article, because together they say something neither says alone: robots.txt is not where AI access gets decided — in either direction. The real decision happens in layers most site owners have never looked at.

What ChatGPT-User is

ChatGPT-User is the user agent OpenAI sends when a ChatGPT conversation needs to open a web page in real time — a user asks a question, the assistant fetches your page to answer it, and your server sees a request signed ChatGPT-User/1.0. It is not a crawler that wanders the web on its own schedule; OpenAI states it «is not used for crawling the web in an automatic fashion».

That single sentence of definition carries the whole argument of this article: a fetch triggered by a human question is, in OpenAI's reading, the human's visit, not the bot's — and robots.txt was written for bots.

OpenAI's four bots, in a table

OpenAI's crawler documentation, re-read in full on 15 August 2026, describes four user agents. Confusing them is the single most common mistake we see in conversations about «blocking ChatGPT», because each one answers to a different lever.

User agentWhat it doesDoes robots.txt bind it?
GPTBotCrawls content that may be used to train OpenAI's foundation modelsYes — disallowing it signals your content should not be used in training
OAI-SearchBotCrawls to surface your site in ChatGPT's search resultsYes — opted-out sites are not shown in ChatGPT search answers, «though can still appear as navigational links»
OAI-AdsBotVisits landing pages submitted as ChatGPT ads, to validate themThe documentation does not invoke robots.txt here — it only visits pages you yourself submitted as ads
ChatGPT-UserOpens a page live when a user's question requires it«robots.txt rules may not apply» — OpenAI's own wording

Each of the four has a published list of IP ranges — gptbot.json, searchbot.json, adsbot.json, chatgpt-user.json on openai.com — which matters more than it seems: the user-agent string is a plain-text header anyone can fake, and the IP lists are the only way to tell OpenAI's real traffic from impostors wearing its name. We will meet those impostors again in our own data below.

The sentence OpenAI put in writing

Here is the passage, quoted from the documentation, with the two sentences that matter in sequence:

ChatGPT-User is not used for crawling the web in an automatic fashion. Because these actions are initiated by a user, robots.txt rules may not apply.

Note what this is and what it is not. It is not phrased as an announcement — it is the documentation's standing description of how the system works, which the TollBit report and the trade press have now made unavoidable. It is also not a confession of rule-breaking: robots.txt has been a voluntary convention since 1994, and OpenAI is saying openly that for user-initiated fetches it does not consider the convention to apply. You may find the reasoning fair — a person asking about your business is not a crawler — or self-serving. Either way, the practical consequence is identical: a Disallow line for ChatGPT-User is a request, and the documentation tells you the request may be declined.

Two smaller details from the same page deserve more attention than they get. First, robots.txt changes are not instant even for the bots that do obey them: OpenAI notes it can take «~24 hours from a site's robots.txt update for our systems to adjust». Second, if you allow both GPTBot and OAI-SearchBot, OpenAI «may use the results from just one crawl for both use cases» — one visit, two purposes, which is worth knowing when you read your own logs and wonder why the counts look low.

What Europe's server logs show

The TollBit report gives the market-level picture. According to the figures as reported by Search Engine Journal on 14 August 2026 — we have read SEJ's account, not the primary report — on the European sites in the report, about 15% of the AI page-fetchers identified reached URLs that robots.txt had marked as disallowed in the first half of 2026. For three specific agents — ChatGPT-User, ByteDance's Bytespider and You.com's Youbot — fetches reached disallowed pages on roughly half of the European sites that explicitly listed them.

The same report carries a quieter, stranger number: Europe barely uses the file at all for the newer agents. Only 9% of European websites disallow Claude-User, against 26% in North America; for Perplexity-User the split is 13% against 26%. Whatever you think that gap means — less concern, less awareness, or simply less time spent on a file that demonstrably is not the real lever — it tells you that the robots.txt debate is being conducted mostly on another continent.

Numbers like «15% of fetchers reached disallowed URLs anyway» invite one conclusion: the file under-blocks. Our own data adds the missing half of the picture, because on our site the file points the other way — and reality still ignores it.

The direction nobody checks: open file, closed firewall

The robots.txt on cittago.com is about as welcoming as the format allows. It opens with a comment saying AI and answer engines are wanted, allows everything for everyone except two technical paths, and then names GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot and others with an explicit Allow: / each. If robots.txt decided access, every OpenAI fetch would be served.

Here is what actually happened, measured on our Cloudflare zone across three dated 23-hour windows. The count is by user-agent string; «blocked» means the request received a 403 from either of two layers — Cloudflare's firewall at the edge, or the hosting provider's security layer (Imunify360) at the origin server.

Window (23h)ChatGPT-User requestsBlocked at CloudflareBlocked at originServed contentBlocked
5 August 2026 — before we knew191157181692%
5–6 August — the day spanning our Cloudflare fix238811263087%
14–15 August 2026 — current6451654503095%

The chronology matters. On 5 August we audited the zone and found the first wall: a Cloudflare rule blocking whole continents, written years earlier against spam, which happened to catch the Singapore-heavy infrastructure AI fetchers ride on. We fixed that layer the same day, with an allow rule that exempts requests Cloudflare verifies as genuine bots. The category «blocked at the edge, never reached the server» emptied within hours — for verified traffic. What stayed, and what dominates the current row, is the second wall: the origin server's own security layer, which only the hosting provider can lift — and that has not happened yet. Ten days after we opened the first gate, 450 of 645 requests carrying the ChatGPT-User signature still die at the second one.

Three footnotes on honest reading. The 165 still stopped at Cloudflare are requests that failed bot verification — the allow rule vouches only for traffic Cloudflare can confirm comes from published bot infrastructure, so what remains at that layer is largely impostors wearing the user-agent string. And the control group keeps the experiment honest: in the same current window, Googlebot made 56 requests and bingbot 41, and not one of them was blocked by either layer. Claude-User, for contrast, made 21 requests and all 21 were served — the walls are selective, which is exactly why you cannot deduce them from the outside. And the bookkeeping: a stray response outside the three columns — a 404, say — means a row can miss its total by a request; the 5–6 August row accounts for 237 of its 238 that way.

This inversion is worth stating plainly: TollBit measures sites that said no and got visited anyway. We measure a site that said yes and got blocked anyway. Reading a zone's firewall events against its robots.txt is the first check we run in our SEO for AI search work, because the file records the intention and the log records the truth — and we have yet to audit a site where the two matched on the first look.

We wrote up the original discovery, layer by layer, in our audit of the firewall that was blocking 79% of AI crawlers; the measurement method for who requests which file is the same one we used to check whether anything actually reads llms.txt.

Then and now: where access is decided

The robots.txt eraAugust 2026
Who reads your pagesCrawlers on their own scheduleCrawlers, plus live fetchers acting on a user's question
Where you express a preferencerobots.txt, one file, publicrobots.txt for crawlers; WAF and origin firewall rules for everything
Who enforces itThe bot, voluntarilyYour CDN and your server, involuntarily — including against traffic you wanted
How you verifyYou mostly could notFirewall event logs, per user agent, per response status

What you need to see your own AI traffic

Not a tool purchase — an hour, and access you already have.

  • Your CDN or server logs, filtered by user agent, with the response status next to each request. On Cloudflare the free plan keeps 24 hours of this — enough for a snapshot, if you look on purpose.
  • A list of the agents that matter to you. Start with the four OpenAI ones plus Claude-User, PerplexityBot and Googlebot as control.
  • A look at both layers. An edge status of 403 with no origin response means your CDN blocked it; a 403 that did reach the origin means your server or its security software did. The fix lives in different dashboards.
  • OpenAI's published IP lists, if you want to separate real fetchers from impostors before you draw conclusions.

What this article does not claim

  • It does not claim OpenAI ignores robots.txt across the board. GPTBot and OAI-SearchBot are documented as following it, and our data is not evidence either way on that point.
  • It does not claim your site looks like ours. One small site, one zone, two specific firewall layers. Your walls will be different — the point is that you have walls you have not read.
  • Our counts are by user-agent string. Some of the 645 requests were certainly impostors; the 165 edge-blocked ones largely were. The 450 origin blocks hit verified and fake traffic alike, which is precisely the problem.
  • The European figures are TollBit's, read through SEJ's report. We have not audited the primary dataset, and we quote the numbers with that chain attached.

Where you stand, in three thresholds

Threshold one — you have never looked. You have a robots.txt somebody once configured and no idea what your firewall does to AI fetchers. One hour with your CDN logs moves you to threshold two. Most sites we have audited were losing traffic they thought they had welcomed.

Threshold two — you have looked, and found walls. Now it is a plumbing job: identify which layer blocks, decide per agent what you actually want, and write rules that verify bots instead of trusting user-agent strings. Budget days, not minutes — ten days on, our own second wall is still standing.

Threshold three — your logs match your intentions. The remaining work is the slow kind: being worth fetching. A fetcher that can reach you is a precondition, not a strategy — what gets you recommended is still content someone would cite.

Questions nobody has actually asked us

The report is a day old and no client has phoned about a fetch bot. These are the questions we would want answered in their place.

Can robots.txt block ChatGPT completely?

No. It can keep GPTBot out of training data and OAI-SearchBot out of search surfacing — those two are documented as obeying it. ChatGPT-User, the live fetcher, carries the documented «may not apply» carve-out.

If you need a hard no, it has to be enforced at the firewall, against OpenAI's published IP ranges.

Does blocking GPTBot remove my site from ChatGPT's answers?

Not by itself. GPTBot governs training; visibility in ChatGPT search runs through OAI-SearchBot. OpenAI documents that sites opted out of OAI-SearchBot stop appearing in search answers «though can still appear as navigational links».

How do I recognise ChatGPT-User in my logs?

The user-agent string contains ChatGPT-User/1.0 and a link to openai.com/bot. Treat the string as a claim, not proof — OpenAI publishes the real IP ranges in chatgpt-user.json, and anything outside them is someone else wearing the name.

Will I see these visits in Google Analytics?

As a rule, no. Analytics depends on JavaScript running in a browser; a fetcher grabbing your HTML does not oblige. The reliable place to look is your CDN or server log, which is exactly why most owners have never seen this traffic.

Our robots.txt allows AI bots. Are we done?

That was our situation on 4 August: a welcoming file and a 92% block rate. The file is the cheap half. The expensive half is reading your firewall layers — ours were a continent rule at the CDN and a security layer at the hosting — and neither shows up in any SEO tool.

Should I block ChatGPT-User then, since it may ignore the file anyway?

Only if you genuinely want AI assistants unable to read you — and then do it properly, with firewall rules on the published IP ranges. For most businesses we work with, the goal is the opposite: they want to be read, quoted and recommended, and the blocks they have are accidents of old security rules.

Do impostor bots really matter, or is that a technicality?

In our current window, 165 of 645 requests carrying the ChatGPT-User signature failed Cloudflare's bot verification — a quarter of the total. If we had counted user-agent strings alone and called it OpenAI traffic, every percentage in this article would be wrong. Verification is not a technicality; it is the difference between measuring and guessing.

Does the ~24-hour robots.txt delay matter in practice?

Once, and then never again: the day you change the file, do not test five minutes later and conclude nothing happened. OpenAI documents that its systems can take about a day to notice. Check the day after, in the logs, not in the assistant.

Is being fetchable enough to get recommended by ChatGPT?

It is the entry ticket, not the prize. A fetcher that gets a 403 can never cite you, so fixing access comes first. After that, what moves recommendations is whether your pages answer the literal question, with numbers and sources a machine can lift cleanly.

What would you measure monthly?

Three rows from your own logs: requests per AI agent, share of those blocked at each layer, and — separately — how often your brand shows up when you ask the assistants ten fixed questions about your market. The last one is manual and slightly tedious, which is why almost nobody has the data. Ask us again in three to six months 😉

Last updated: 15 August 2026. OpenAI's crawler documentation, re-read in full on this date, describes four bots and states that for user-initiated ChatGPT-User fetches «robots.txt rules may not apply». Our own figures come from the Cloudflare GraphQL API for the cittago.com zone, 23-hour windows dated 5, 6 and 15 August 2026, counted by user-agent string. European market figures are TollBit's «State of the Bots» H1 2026, as reported by Search Engine Journal on 14 August. We update this page when any of these change.

What clients say

Trusted by the people who signed the checks.

5.0★★★★★21 reviews on Google
★★★★★
We have been collaborating for over 11 years on both presentation web sites and complex projects. We have always returned to the services offered by Cittago, thanks to the professionalism, courtesy and innovative solutions offered. Thanks for your partnership!
Aurelia Campean2 years ago
★★★★★
I am very satisfied with the collaboration with Cittago. Everything went in a professional manner, the deadlines were met, and the result was as expected. I highly recommend!
Cristea Christian4 days ago
★★★★★
5* for the quality of service, promptness and seriousness. Thank you, Paul!
Budurlean Crina5 days ago
★★★★★
We had the cabins and the view, but Cittago gave us the perfect digital “reception”. They created a premium, ultra-fast website for us that handles everything on its own: live calendar, automatic invoicing and card payments (only 1% commission instead of 15–20% on platforms). The best part? We edit it ourselves in a few minutes, without depending on anyone. And Paul is simply unreal for this world! The warmth, respect and attention to detail with which he explains absolutely everything make you understand the services offered perfectly. Not to be missed is the availability that Paul shows when you have a question. Honestly, I have rarely dealt with such a professional and dedicated company.
Viorica Pop5 days ago
★★★★★
Serious and fast team. They built our BarBox website from scratch, with a cinematic look that represents us perfectly, plus local SEO so people in Cluj can find us. Simple communication, zero hassle. 5 well-deserved stars.
tudor j6 days ago
★★★★★
I had the pleasure of working with Cittago for the creation of a website for a project that I develope together with some friends, and I couldn't be happier with the results. From start to finish, they demonstrated exceptional professionalism, creativity, and technical expertise. First and foremost, the communication throughout the project was outstanding. They took the time to listen to our ideas and goals, and they translated them into a visually stunning and highly functional website that perfectly represents our product. We were kept in the loop at every stage of development, and they was always quick to address any questions or concerns I had. What sets Cittago apart is their dedication to delivering results. They went above and beyond to ensure that our website met all our requirements and objectives. They even provided valuable suggestions and insights that improved the overall project. I wholeheartedly recommend Cittago to anyone looking for a digital agency that combines creativity, technical expertise, and exceptional customer service. Thank you Paul for a job well done!
Bochiş Răzvan2 years ago
★★★★★
Thank you Paul for all the professionalism you show, for all the patience and all the help you give me. I highly recommend!
Daniela Pasc2 years ago
★★★★★
The collaboration I have had since the beginning, that is, for several years, with Cittago is a real pleasure! I turned to Paul to rebuild the website of a small dental clinic and I am extremely satisfied with the collaboration. Paul is still taking care of the website. The promptness with which he responds to me, the patience with which he explains everything I don't understand (and there are many, believe me 😂🙈), his maximum involvement and desire to give his best have always helped me and given me a lot of confidence in him. He is always there when I need him. Very professional! And the quality-price ratio is unbeatable. I recommend Paul with confidence, if you want someone who really puts his heart into what he does and gives his best!
Daniela Chis2 years ago
★★★★★
I have had the pleasure of working with Paul and Cittago on several websites. From the initial discussion to the launch of the website, I was impressed by their professionalism, expertise, and dedication to creating an exceptional product to launch online that we can all be proud of. Paul took the time to truly understand what I wanted, what my brand meant, what my target audience was, and what my goals were. Using his knowledge, he was able to create a user-friendly, visually beautiful, responsive (on both mobile and desktop) website that communicates the services and products we offer very well. The website not only looks great, but it works just as well. Throughout the process, Paul was receptive to feedback, and patiently answered all the requests I had. We appreciated his vast knowledge (about website creation, SEO, social media connection, visual experience), his expertise in applying it, his patience, transparency, and his ability to successfully complete such a project, which was very important to us. For these reasons, I highly recommend this company and the services it offers.
Aissa Suciu2 years ago
·First paint — when something appeared·Server response — before anything could load·Page ready — when you could interact
Page loaded in ·