Crawler controls

GPTBot, OAI-SearchBot and ChatGPT-User: choose the right control

Updated . Official sources checked on this date.

Start with the request’s purpose. A log entry containing “OpenAI” is not enough to decide which access policy to apply.

Look up a crawler tokenCheck a policy draft

Three agents, three jobs

TokenPurposeControl to review
GPTBotContent that may be used for foundation-model training.Its own robots.txt group.
OAI-SearchBotDiscovery for ChatGPT search.Its own group and network access.
ChatGPT-UserVisits initiated by certain user actions.Authentication and access policy; robots.txt may not apply.

The search and training settings are independent. ChatGPT-User is not the search opt-out control. Opting out of OAI-SearchBot excludes search answers, although navigational links may remain. Source: OpenAI crawler documentation.

Worked policy: search allowed, training declined

This illustrative policy keeps public search access open and asks GPTBot not to crawl. Replace the example sitemap host. Protect accounts with authentication regardless of crawler rules.

User-agent: OAI-SearchBot
Allow: /
Disallow: /account/

User-agent: GPTBot
Disallow: /

Sitemap: https://example.com/sitemap.xml
Local rule testExpected result
OAI-SearchBot → /manuals/startAllowed
OAI-SearchBot → /account/profileBlocked by this draft
GPTBot → /manuals/startBlocked by this draft

These are tested local rule expectations, not observations of OpenAI traffic or evidence of citations. Other crawlers need their own policy review. Work through robots.txt group and path mistakes before combining this with existing rules.

Verify a request before trusting its name

User-agent versions can change. Compare the request’s source IP with the relevant published ranges; a token alone is not identity proof. OpenAI publishes the reference ranges.

  1. Record timestamp, requested path, source IP and response status from your server or CDN logs. Redact personal data before sharing.
  2. Identify the token with the lookup tool; then follow its provider source link.
  3. For OpenAI, use the corresponding searchbot, gptbot or chatgpt-user ranges. Keep unmatched traffic marked “unverified”.
  4. Compare the response with your intended policy. An allowed rule alongside a CDN 403 needs a network review, not another llms.txt file.

OpenAI says search changes can take about 24 hours after a robots.txt update. That is not a citation deadline. Allowing access does not guarantee selection or rankings. Source: OpenAI.

Keep access and search eligibility separate

robots.txt is not an authentication boundary. Use access controls for private files; blocking crawl alone does not reliably remove a public URL from Google results. Google explains these limitations.

Sources checked on 2 October 2026