Opening the page…

Sulayman Bowles

AI crawlers: search, training, and access.

Choose crawler access by purpose, then test the policy you actually deployed.

· · Updated

Monochrome generative point study “Tidal Bell,” a mathematical form rendered in black and white.
Tidal Bell · @yuruyurau ↗
Find your answer

Can I allow AI search discovery while blocking model-training crawlers?

Use separate rules for each provider’s documented search, model-development, and user-requested fetch mechanisms. A training-crawler block does not automatically block the other two. Start with the outcome you want, then merge the appropriate named groups into your existing robots.txt and verify the deployed response. The comparison here retains its July 2026 documentation cutoff; revisit provider definitions before changing policy. Permission to crawl does not guarantee indexing, training, or a citation.

Evidence: OpenAI bot documentation · Anthropic crawler guidance · Perplexity crawler documentation

Questions, with evidence · 4 answers with source links and supporting passages

AI search, model development, and user-opened URLs need separate decisions. Blocking a training token does not by itself block a provider’s search crawler or user-requested fetcher. The dated comparison below preserves the provider guidance reviewed for this guide; it is not a newly verified inventory.

Publish each named product token in its own intended /robots.txt group with Allow: / or Disallow: /, and retain the correct Sitemap line. The protocol requires case-insensitive product-token group matching; it separately says path matching should be case sensitive. Use the documented branded spellings without treating token casing as an access boundary.

Choose the outcome, select the groups, merge the existing file, and fetch production before inspecting logs. Robots rules guide cooperating clients; protect private files with authentication or server-side authorization regardless of those rules.

Scope and assumptions

This guide documents published crawler controls as verified on July 14, 2026. A robots.txt rule expresses policy; it does not secure private content, authenticate a bot, or prove indexing, ranking, training exclusion, or answer-system citation.

Agents compared
8 USER AGENTS
Policies
2 COPY-READY
Last verified
2026.07.14
Primary artifact
ROBOTS POLICY

Separate search, training, and user requests

Choose the intended outcome before copying a rule. Search discovery and model-development opt-out target different agents; user-requested fetching follows provider-specific behavior. Private files require an enforceable access boundary for every client, not another robots group.

AI answer discoveryOAI-SearchBot, Claude-SearchBot, PerplexityBotAllow: /
Model-development opt-outGPTBot, ClaudeBotDisallow: /
User-opened URLsChatGPT-User, Claude-User, Perplexity-UserProvider-specific choice
Private filesEvery clientAuthentication or edge authorization
Verified July 14, 2026. User-requested fetching varies by provider; private content requires enforceable authorization.
Outcome-to-user-agent decision matrix
Operator outcomeToken groupRuleRelease check
AI answer discoveryOAI-SearchBot, Claude-SearchBot, PerplexityBotAllow: //robots.txt returns the intended groups
Model-development opt-outGPTBot, ClaudeBotDisallow: /Release time and provider guidance saved
User-opened URLsChatGPT-User, Claude-User, Perplexity-UserProvider-specific choiceRequest type classified correctly
Private filesEvery clientAuthentication or edge authorizationUnauthenticated request denied

Compare purposes before tokens

Use the named product token rather than a versioned HTTP header. The table distinguishes search, model-development, and user-request roles at its stated verification date. In particular, user-triggered access may follow different robots behavior; do not infer compliance merely from the provider name.

Published AI crawler roles and robots.txt behavior, last verified July 14, 2026
ProviderExact tokenModerobots.txtOperator noteVerified
OpenAIOAI-SearchBotSearchSupportedAnswer-discovery token2026-07-14
OpenAIGPTBotModel developmentSupportedTraining opt-out token2026-07-14
OpenAIChatGPT-UserUser requestMay not applyNot an automatic-index token2026-07-14
AnthropicClaude-SearchBotSearchHonoredClaude search token2026-07-14
AnthropicClaudeBotModel developmentHonoredTraining token2026-07-14
AnthropicClaude-UserUser requestHonoredUser-opened URL token2026-07-14
PerplexityPerplexityBotSearchSupportedSearch token; not training2026-07-14
PerplexityPerplexity-UserUser requestGenerally ignoredUser-requested fetch token2026-07-14

Merge the example with the host’s policy

Choose a template, then reconcile it with existing search-engine, media, path, and sitemap rules. Replace the example sitemap hostname. The broad block names only this guide’s agents; its user-fetch exceptions remain important, and private-path rules do not secure the underlying content.

Allow search, block training

Allows search-oriented and user-triggered access while blocking the two published training/model-development agents in this guide.

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Disallow: /

User-agent: ChatGPT-User
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Claude-User
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /

Sitemap: https://example.com/sitemap.xml
Block listed AI agents

Blocks every AI-related agent named in this guide. No static list can cover every crawler, ChatGPT-User rules may not apply, and Perplexity-User generally ignores robots.txt, so enforce sensitive-content controls at authentication or the server edge.

User-agent: OAI-SearchBot
Disallow: /

User-agent: GPTBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

User-agent: Claude-SearchBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Claude-User
Disallow: /

User-agent: PerplexityBot
Disallow: /

User-agent: Perplexity-User
Disallow: /

Check production and retain attribution uncertainty

Fetch every production /robots.txt endpoint and compare its returned groups with the committed file. Inspect current and rotated NGINX logs using the filter below. A token match records a claim; check its address against the provider’s dated JSON ranges before attributing traffic, and retain uncertainty when the evidence is insufficient.

  • Expected response: HTTP 200, text/plain, intended group, correct sitemap hostname.
  • Useful fields: timestamp, host, path, status, source address, complete User-Agent.
  • Interpretation rule: absence from the log does not prove a block succeeded.
Find agents in access logs

Adjust the log path for your server or CDN export. This reads current and rotated gzip logs without changing them.

zgrep -hEi 'OAI-SearchBot|GPTBot|ChatGPT-User|ClaudeBot|Claude-SearchBot|Claude-User|PerplexityBot|Perplexity-User' /var/log/nginx/access.log*

curl -sS -D - https://example.com/robots.txt -o /dev/null

Keep the policy claim narrower than the evidence

Test the deployed groups and classify observed traffic with provider-specific guidance and dated ranges. A named-agent rule does not cover every client, prove compliance, or establish indexing, training exclusion, or citation.

Reading notes ·

Questions, with evidence

The provider comparison retains its July 14, 2026 documentation cutoff. The Google/OpenAI control distinction below was checked against official documentation on October 6, 2026. Consult current provider definitions before deploying a policy; these notes do not verify any host’s live crawler settings.

Can I allow ChatGPT search discovery while blocking GPTBot? — link to this answer

The documented mechanisms have separate purposes: OAI-SearchBot serves search discovery, while GPTBot concerns model development. Their named robots groups can express separate choices. Merge those groups into the existing host policy, preserve path restrictions, and verify the deployed file. Search permission is an eligibility input; it does not establish that your page will be indexed or cited.

Evidence: OpenAI’s crawler definitions

Read the supporting analysis
Test the deployed policy and separate controls

Will a training-crawler block stop a user asking an AI assistant to open a URL? — link to this answer

Do not assume so. User-requested retrieval is a separate mechanism with provider-specific behavior; OpenAI states that robots.txt rules may not apply to ChatGPT-User requests. Blocking a model-development token is therefore not a general access barrier. If the content must be private, require authorization for every client rather than relying on a crawler-purpose label.

Evidence: OpenAI’s ChatGPT-User explanation · Google’s robots.txt limitations

Read the supporting analysis
Protect the resource independently of robots rules

What does an AI crawler visit prove about search visibility? — link to this answer

A retained request can establish that a client reached the measured layer and received a particular response at a particular time. It does not establish indexing, model training, answer selection, a citation, or a human referral. Keep observed requests, attributed identities, and downstream search outcomes as separate measurements; absence from one log is not proof of absence everywhere.

Evidence: OpenAI search-crawler documentation

Read the supporting analysis
Record the environment and scope of a capture

Sources

  1. OpenAI crawler documentation

    Verified Jul 14, 2026

  2. Anthropic crawler guidance

    Verified Jul 14, 2026

  3. Perplexity crawler documentation

    Verified Jul 14, 2026

  4. Google robots.txt introduction and limitations

    Verified Jul 14, 2026

  5. OpenAI OAI-SearchBot IP ranges

    Verified Jul 14, 2026

  6. OpenAI GPTBot IP ranges

    Verified Jul 14, 2026

  7. OpenAI ChatGPT-User IP ranges

    Verified Jul 14, 2026

  8. Anthropic bot IP ranges

    Verified Jul 14, 2026

  9. PerplexityBot IP ranges

    Verified Jul 14, 2026

  10. Perplexity-User IP ranges

    Verified Jul 14, 2026

Read next