ChatGPT-User: User-Triggered Page Requests
ChatGPT-User can fetch a page for a user action in ChatGPT or a Custom GPT. OpenAI states that it is not an automatic web crawler or a Search inclusion control.
ChatGPT-User robots.txt guidance covering user-triggered requests, why it is not an automatic search crawler, access verification, and policy limits.
01
What ChatGPT-User robots.txt means
ChatGPT-User can fetch a page for a user action in ChatGPT or a Custom GPT. OpenAI states that it is not an automatic web crawler or a Search inclusion control.
Distinguish a user-initiated page request from automatic discovery and training crawls. This page treats that goal as a documentation and implementation problem: identify the exact product or content behavior, collect route-specific evidence, make the narrowest justified change, and preserve the conditions that limit the conclusion.
The term “ChatGPT-User robots.txt” can invite claims that exceed what a robots rule, content pattern, schema block, or audit record proves. The workflow below keeps access, discovery, interpretation, source quality, eligibility, selection, citation, ranking, and traffic as distinct states.
Readers should be able to use the guidance without accepting a hidden score or vendor label. Each recommendation therefore names the evidence to inspect, the owner to change, the deployment state to validate, and the outcome that remains unmeasured.
02
Detection and evidence collection
Start the ChatGPT-User robots.txt review at the canonical production URL and record the date, response status, effective directives, visible content, and relevant source version. When logs or provider rows are used, retain the attribution method and sampling limits.
A screenshot or search result can motivate investigation but cannot replace page and protocol evidence. Collect the underlying HTML, headers, robots file, structured data, links, or source records required for the specific question.
Identify ChatGPT-User with the published agent and IP references. Store the result beside the URL and expected state so another reviewer can reproduce the conclusion without relying on the original operator's memory.
Separate a user-triggered request from OAI-SearchBot and GPTBot log entries. Store the result beside the URL and expected state so another reviewer can reproduce the conclusion without relying on the original operator's memory.
Check whether authentication or application policy—not robots.txt—governs the requested resource. Store the result beside the URL and expected state so another reviewer can reproduce the conclusion without relying on the original operator's memory.
- Identify ChatGPT-User with the published agent and IP references.
- Separate a user-triggered request from OAI-SearchBot and GPTBot log entries.
- Check whether authentication or application policy—not robots.txt—governs the requested resource.
03
Implementation sequence
Resolve ChatGPT-User robots.txt at the layer that owns the behavior. Content belongs with the page record, crawler policy with the deployed robots configuration, identity with canonical visible profiles, and structured data with the component that renders the corresponding facts.
Write the intended state before editing. That simple contract prevents an optimization request from silently overriding privacy, licensing, access, evidence, or product requirements and gives the validation pass an explicit target.
Keep public pages accessible when user-triggered retrieval is an approved experience. Keep the patch narrow, note the affected routes, and avoid unrelated metadata or navigation changes that make the result harder to attribute.
Use authentication and authorization for non-public resources. Keep the patch narrow, note the affected routes, and avoid unrelated metadata or navigation changes that make the result harder to attribute.
Manage ChatGPT search opt-outs with OAI-SearchBot rather than ChatGPT-User. Keep the patch narrow, note the affected routes, and avoid unrelated metadata or navigation changes that make the result harder to attribute.
- Keep public pages accessible when user-triggered retrieval is an approved experience.
- Use authentication and authorization for non-public resources.
- Manage ChatGPT search opt-outs with OAI-SearchBot rather than ChatGPT-User.
# Search visibility is controlled separately
User-agent: OAI-SearchBot
Allow: /04
Validation protocol
Validate ChatGPT-User robots.txt against the deployed canonical route, not only a local component or text fragment. Repeat the original collection method, exercise important variants, and preserve both successful and failed checks.
A technical pass means the intended content, directive, link, identifier, or markup is available under the named conditions. Discovery, selection, citation, ranking, and traffic require separate evidence collected after systems have had time to crawl and process the change.
Confirm the page returns its intended status and content to an authorized request. Record the observed value, timestamp, and any measurement gap rather than reducing the result to an unlabeled green check.
Review edge logs without treating a user-agent string alone as identity proof. Record the observed value, timestamp, and any measurement gap rather than reducing the result to an unlabeled green check.
Test public and protected paths separately. Record the observed value, timestamp, and any measurement gap rather than reducing the result to an unlabeled green check.
- Confirm the page returns its intended status and content to an authorized request.
- Review edge logs without treating a user-agent string alone as identity proof.
- Test public and protected paths separately.
05
False positives and claim boundary
Context can make an apparently restrictive, incomplete, or unusual ChatGPT-User robots.txt state intentional. Review the page purpose, audience, policy owner, and evidence freshness before treating it as a defect.
OpenAI notes that robots.txt rules may not apply to user-initiated requests. Preserve that possibility in the audit record until route-level evidence resolves it.
A ChatGPT-User request is not evidence that the page was indexed or used for training. Preserve that possibility in the audit record until route-level evidence resolves it.
Claim boundary: ChatGPT-User traffic shows a request associated with a user action only after attribution checks; it does not prove automatic crawl, search inclusion, citation, or training use.
This boundary is part of the implementation contract. It must remain visible near the recommendation and in any downstream summary so a machine-readable extract cannot turn technical eligibility into an outcome promise.
06
Primary sources and review date
This guide was reviewed on 2026-07-20 against the primary references linked below. Product roles and documentation can change, so crawler strings, directives, feature status, and policy language should be refreshed before acting on a later release.
The source list supports the factual product or protocol description. Atlas workflow language supplies the evidence boundary; it does not claim private provider access, client outcomes, rankings, citations, or traffic.
07
Primary references and related routes
- Overview of OpenAI CrawlersOpenAI / checked 2026-07-20
Official roles, robots controls, user-agent strings, and published IP references for OpenAI web agents.