robots.txt for AI Search and Discovery Crawlers
If AI-search visibility matters, identify the agents used for search/discovery separately from training crawlers. OAI-SearchBot, Claude-SearchBot, PerplexityBot and Applebot have discovery roles, while similarly named training or user-triggered agents may need different policies.
Copy-paste robots.txt example
User-agent: OAI-SearchBot Allow: / User-agent: Claude-SearchBot Allow: / User-agent: PerplexityBot Allow: / User-agent: Googlebot Allow: / User-agent: Bingbot Allow: /
“AI crawler” is too broad a category for a useful robots.txt policy. Search/discovery crawlers can help a public site appear in AI-assisted search experiences, while training crawlers and user-triggered fetchers represent different decisions.
Search and discovery agents to know
| Provider | Search/discovery agent | Separate control to avoid confusing with it |
|---|---|---|
| OpenAI | OAI-SearchBot | GPTBot for training-related crawling; ChatGPT-User for user-triggered fetches. |
| Anthropic | Claude-SearchBot | ClaudeBot for model-development crawling; Claude-User for user-directed retrieval. |
| Perplexity | PerplexityBot | Perplexity-User for user-triggered retrieval. |
| Apple | Applebot | Applebot-Extended for training data-use control. |
Example discovery-first policy
User-agent: OAI-SearchBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Applebot
Allow: /
This snippet expresses one narrow idea: allow automatic search/discovery crawlers. It does not make a decision about every training crawler or every user-triggered fetcher.
Example: permit search discovery, restrict selected training crawlers
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Claude-SearchBot
Allow: /
This example expresses four independent preferences, not a universal “block AI” command. OpenAI documents the independent roles of GPTBot and OAI-SearchBot; a specific user-agent group may also stop using restrictions from the wildcard group. If your site blocks /account/ under User-agent: *, duplicate the relevant restriction in every specific group where necessary.
Verification: use the draft Checker with / and /account/profile for each of the four bots. Decide whether the account path should be disallowed before publishing. After publication, check the real robots.txt response and server access logs. Allowing a search crawler is not an indexing or citation guarantee.
Decide training separately
For example, OpenAI documents GPTBot and OAI-SearchBot as independent settings, so you can allow ChatGPT Search crawling while disallowing GPTBot. Apple similarly separates Applebot crawling from the Applebot-Extended data-use signal.
Avoid blanket lists
A copied “block all AI” list can unintentionally remove a site from discovery channels the business actually wants. Start from business intent, map that intent to individual agents, and then publish only the groups required.
Use the robots.txt Generator to build the file and the Checker to test specific paths. For OpenAI details, see OAI-SearchBot; for provider comparisons, see Anthropic agents and Perplexity agents.
Pair crawler policy with technical accessibility
An Allow: / line cannot help if a CDN, WAF or rate-limit rule rejects the crawler before it can fetch the page. When discovery matters, verify both layers: the robots.txt decision and the actual HTTP response to legitimate crawler traffic. Providers that publish verification data should be checked against their current official documentation rather than a permanent hard-coded list copied once.
FAQ
Which crawlers should I allow for AI search visibility?
Use each provider’s current documented search token, such as OAI-SearchBot, Claude-SearchBot, and PerplexityBot, and keep ordinary search crawlers such as Googlebot and Bingbot accessible when organic search matters.
Does Allow: / guarantee that an AI answer engine will cite my page?
No. It permits a compliant crawler to request URLs. Discovery, indexing, selection, ranking, and citation remain decisions made by the provider.
Can I allow AI search but block model-training crawlers?
Yes, when a provider publishes independent controls. For example, OpenAI documents separate GPTBot and OAI-SearchBot tokens, while Anthropic separates ClaudeBot and Claude-SearchBot.
Why is an allowed crawler still receiving errors?
Robots.txt may allow it while a WAF, login, rate limit, IP block, redirect loop, or server error prevents access. Check the full request path and validate the crawler’s source.
Do user-triggered agents determine search visibility?
Not necessarily. Providers publish separate agents for user-requested retrieval, and OpenAI explicitly states that ChatGPT-User is not used to determine Search appearance. Follow each provider’s current documentation.
How to Allow AI Search but Block AI Training
AI Search Crawler: Definition, Visibility, and Control
OAI-SearchBot robots.txt Guide
Claude-SearchBot robots.txt Rules
PerplexityBot robots.txt Rules for Search Visibility