Skip to content
Sulayman Bowles / Project Delta

OAI-SearchBot vs GPTBot vs ChatGPT-User

The agents share a vendor, not a purpose. Search discovery, training collection, and a user-triggered fetch need separate policy decisions.

An OAI-SearchBot vs GPTBot comparison explaining ChatGPT-User, robots.txt policies, training boundaries, verification, and common mistakes.

01 / Purpose

Name the product use before writing the rule

OAI-SearchBot supports Search discovery and surfacing. GPTBot is associated with potential model training. ChatGPT-User represents user-triggered access in supported experiences. A blanket User-agent: * decision may be intentional, but it hides materially different product choices and makes later review difficult.

Create a policy row for each agent with an owner, intended state, rationale, scope, and checked date. The decision can be “allow,” “disallow,” or “not separately specified,” but it should never be inferred from the fact that another OpenAI agent is mentioned. Shared infrastructure does not collapse documented purposes.

02 / Matrix

The three-agent comparison

A publisher can allow Search discovery while declining GPTBot training collection. It can also consider whether user-triggered retrieval is necessary for customers asking ChatGPT to visit or summarize a page. The right combination depends on publication, licensing, privacy, and product requirements—not a universal SEO prescription.

Robots rules should use the exact token and valid syntax. Place specific groups deliberately, avoid contradictory generated fragments, and keep sensitive material behind authentication rather than relying on robots exclusions. A robots file is public policy for compliant agents, not an access-control system.

Figure 01 / OpenAI agentsA compact policy reference; current vendor documentation remains authoritative.
AgentDocumented usePublisher question
OAI-SearchBotSearch discovery and surfacingShould public content be eligible?
GPTBotPotential model trainingMay this content support training?
ChatGPT-UserUser-triggered retrievalShould a user request fetch it?

03 / Robots

Generate a readable robots policy

Prefer one owned source file or configuration object that renders the public robots.txt. Duplicated rules in a CDN, application, and static file can disagree. After deployment, request the production URL, follow redirects, verify the content type and status, and compare the exact group text with the approved matrix.

Path matching is case-sensitive under the standard, and the most specific applicable group and rule behavior can surprise hand-written implementations. Use representative allowed and disallowed paths in a focused test. Do not rely on comments as enforcement, and do not publish private filesystem paths or internal service names in the file.

04 / Verification

A user-agent string is not proof of identity

Any client can copy a published user-agent string. For operational reporting, validate source IPs using the provider’s current published method where available, retain the raw request time and path, and label unverified traffic separately. Rate, behavior, and reverse DNS can support investigation but should not be presented as identity proof without an authoritative chain.

A verified request proves a fetch, not that the URL was indexed, used for training, shown in an answer, or requested successfully by a user. Join logs with response status and bytes served to diagnose access. Keep product-outcome claims tied to product evidence, such as a referral or a sampled result, rather than to crawler activity alone.

05 / Maintenance

Treat crawler policy as a dated contract

Bot names, documentation, IP ranges, and product behavior can change. Store the source URL and last-checked date beside the policy. Review after vendor announcements, licensing decisions, major content changes, and unexplained log shifts. A stale comparison article is more dangerous than no article because it gives a precise-looking answer after the contract moved.

When policy changes, deploy intentionally and preserve the prior version. Explain which use changed and which did not. If GPTBot moves from allow to disallow, do not claim Search discovery was disabled. If OAI-SearchBot changes, do not imply that previously collected training data was removed. Precision is the entire point of keeping separate agents.

Continue through the evidence systemThe article links to narrower Project Delta references for implementation detail and claim boundaries.
  1. 01
    OAI-SearchBot: Search Visibility and Access

    OAI-SearchBot robots.txt guidance covering its ChatGPT search role, independent access control, published IP ranges, verification, and claim limits.

  2. 02
    GPTBot: Training Control, Not Search Inclusion

    GPTBot robots.txt guidance explaining OpenAI model-training controls, its separation from OAI-SearchBot, verification steps, and safe publisher claims.

  3. 03
    ChatGPT-User: User-Triggered Page Requests

    ChatGPT-User robots.txt guidance covering user-triggered requests, why it is not an automatic search crawler, access verification, and policy limits.

Primary referencesOfficial and standards sources that bound the article’s claims, with the public review date preserved.
  1. 01
    OpenAI: Bot and crawler documentation

    The names, purposes, published user-agent strings, and current crawler policy guidance for OpenAI agents.

    Checked 2026-07-20
  2. 02
    OpenAI: Publishers and Developers FAQ

    The practical relationship between OAI-SearchBot, ChatGPT discovery, GPTBot training preferences, and user interactions.

    Checked 2026-07-20
  3. 03
    IETF: Robots Exclusion Protocol

    User-agent group matching, path rules, caching, and the protocol boundary for compliant crawlers.

    Checked 2026-07-20