How to Get Cited by ChatGPT: The Four OpenAI Crawlers That Decide It
· Royking Niba
Before you write a single word aimed at being quoted in a generated answer, check your robots.txt. Getting cited by ChatGPT is gated by one specific crawler, OAI-SearchBot, and OpenAI’s own documentation says that sites blocking it will not appear in ChatGPT search answers. No amount of answer-first structuring survives a disallow line. I have found this on client sites more than once: the content was fine, the site had been quietly excluded eighteen months earlier by a blanket AI block somebody added in a hurry.
The four crawlers, and what each one actually controls
OpenAI documents four user agents. They do different jobs, and conflating them is the single most common reason a site is invisible in ChatGPT while its owner believes they only opted out of model training.
| User agent | What it does | What blocking it costs you | Published IP ranges |
|---|---|---|---|
OAI-SearchBot | Surfaces sites in ChatGPT’s search features | You will not appear in ChatGPT search answers. This is the citation switch. | openai.com/searchbot.json |
GPTBot | Crawls content to train generative foundation models | Nothing in ChatGPT search. This is the training opt-out and it is a separate decision. | openai.com/gptbot.json |
ChatGPT-User | Fetches a page when a user asks ChatGPT to visit a link, and for GPT Actions | A user who pastes your URL into ChatGPT may get nothing back. OpenAI documents this as user-initiated rather than automatic crawling, and notes robots.txt rules may not apply to it. | openai.com/chatgpt-user.json |
OAI-AdsBot | Checks the safety of landing pages submitted as ads | Not applicable. OpenAI states it is not subject to robots.txt, only visits pages submitted as ads, and its data is not used for model training. | openai.com/adsbot.json |
The decision most people get wrong
There are two independent questions here, and almost every publisher I talk to has collapsed them into one. The first is whether you want your content used to train models. The second is whether you want to be findable and citable inside ChatGPT. You can answer those differently, and most commercial publishers should.
| You want | GPTBot | OAI-SearchBot | Result |
|---|---|---|---|
| Training opt-out, still citable | Disallow | Allow | What most publishers actually mean when they say they are blocking AI |
| Maximum reach, no reservations | Allow | Allow | Trainable and citable |
| Full withdrawal | Disallow | Disallow | Invisible in ChatGPT search. A deliberate choice, rarely the intended one |
| Training allowed, citation blocked | Allow | Disallow | The worst of both. Your content trains the model and never sends you a reader |
That fourth row is not hypothetical. It is what you get when somebody copies a robots.txt snippet off a forum thread without checking which token does what.
Worked example: two robots.txt files
Here is the configuration that removes you from ChatGPT search. It is usually pasted in by somebody who only wanted the training opt-out.
# Blocks more than intended
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /And here is the one that does what most publishers mean: out of training, in for citations and for users who paste a link.
# Out of training, still citable
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /Two operational notes. Check for an existing User-agent: * block with a broad disallow above these, because the most specific matching group wins and a badly ordered file can undo the intent. And check your CDN or firewall separately, since bot-management rules at the edge block crawlers before robots.txt is ever read. I have seen a site with a perfect robots.txt and a Cloudflare rule silently dropping every AI user agent at the door.
How to verify it rather than assume it
OpenAI publishes IP range files for each crawler, listed in the table above. That gives you a real verification path rather than trusting a user-agent string, which anyone can forge. Grep your access logs for the OAI-SearchBot token, take the source addresses, and check them against the published ranges. If the token never appears at all, the crawler is not reaching you, and the cause is upstream of your content.
If requests are arriving from addresses outside the published ranges while claiming to be an OpenAI crawler, that is a spoofed agent and a different problem. It belongs in the same bucket as the manufactured crawl activity I describe in what a real negative SEO attack looks like in the data.
What I will not tell you
I will not give you a ranking-factor list for ChatGPT citations, because OpenAI does not publish one. What is documented is the access layer, and that is what this article covers: which crawler does what, and what each directive costs. Anything beyond that which is presented as a citation algorithm is inference dressed up as fact, and the AI search field is full of it.
What I do work on, once access is fixed, is the same thing that has always earned a citation in any retrieval system: a page that answers the question directly, near the top, with the claim and its source in the same place. Google has published far more about this than OpenAI has, and its guidance transfers well. I go through the retrieval side of it in how to rank in AI Overviews, and the honest limits of the whole category in answer engine optimization as a label.
The order to do this in
| Step | Action | Why it comes here |
|---|---|---|
| 1 | Read your live robots.txt and find every group that names an OpenAI token or uses a wildcard | You cannot fix a policy you have not read. Most sites do not know what theirs says. |
| 2 | Check CDN, WAF and bot-management rules for AI user agents | An edge block beats robots.txt and is invisible in the file |
| 3 | Decide training and citation separately, using the table above | These are two business decisions, not one technical one |
| 4 | Deploy, then confirm OAI-SearchBot in your logs against the published IP ranges | Verification, not assumption |
| 5 | Only now work on the content itself | Content work is wasted while access is blocked |
If your traffic fell and you are wondering whether an AI block is the cause, it almost certainly is not, because ChatGPT referrals were never the bulk of anyone’s traffic. A collapse has other causes, and I go through the diagnosis in order in how I diagnose and reverse a traffic collapse. Fix the crawler access anyway. It costs one file and it is the cheapest visibility work available right now.
Leave a Reply