CrawlCheck
Crawler comparisons

GPTBot vs ChatGPT-User

In the census run that finished 2026-10-24, robots.txt closed the homepage to GPTBot on 644 of the 4,501 top sites that serve a robots.txt (14.3%), and to ChatGPT-User on 365 (8.1%).

GPTBotChatGPT-User
OperatorOpenAIOpenAI
What it istraining crawleruser-triggered fetch
What it doesOpenAI training + indexChatGPT live fetch
How a request can be verifiedIts operator publishes the IP ranges it crawls from (https://openai.com/gptbot.json), so a request carrying the name can be checked against that list.Its operator publishes the IP ranges it crawls from (https://openai.com/chatgpt-user.json), so a request carrying the name can be checked against that list.
robots.txt closes the homepage (of sites with a robots.txt)644 (14.3%)365 (8.1%)
Refused at the door (of sites that answered a browser)1,108 (20.0%)not requested as this identity

Top 10,000 sites, census of 2026-10-24. “Refused at the door” is a non-2xx answer to a client declaring that name, from CrawlCheck’s own addresses, where the browser got 2xx. Every crawler on the radar.

Let GPTBot in and keep ChatGPT-User out

User-agent: GPTBot
Allow: /

User-agent: ChatGPT-User
Disallow: /

A crawler obeys only the most specific group that names it and ignores * entirely. If your User-agent: * group has Disallow rules, repeat them under GPTBot, or naming it drops them. Swap the two names to do the reverse.

Check what your own site tells both: scan it free. Catalogue data CC BY 4.0 at /ai-crawlers.json.