OpenAI crawler decisions

GPTBot vs OAI-SearchBot vs ChatGPT-User

OpenAI documents multiple crawler and fetcher roles. Treating them as one bot can accidentally block the traffic you want or allow the training access you meant to restrict.

User-agent tokenRoleTypical balanced decision
GPTBotTraining crawlerBlock when you do not want public pages used for future model improvement.
OAI-SearchBotSearch crawlerAllow when you want eligibility for OpenAI search discovery and citations.
ChatGPT-UserUser-triggered fetcherAllow for public pages so users can ask ChatGPT to retrieve a page.

Copy-ready balanced pattern

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

Review this with the generator before publishing. Add private paths under each allowed group if there are public URL patterns you still want crawlers to skip.

Open the generator