Free tool · No signup

AI Crawler robots.txt Generator

Compose a robots.txt with per-agent rules for the 22 AI crawlers that matter — the same list perciva.ai ships in its own robots.txt. Everything runs in your browser; nothing is uploaded and there is no email gate.

Every agent below carries a note on what a Disallow actually costs you, checked against the vendor’s own documentation. That matters more than the file itself: most robots.txt mistakes are not syntax errors, they are people blocking the crawler that decides whether AI cites them when they meant to block the one that trains on them.

1. Start from a policy

2. Tune each crawler

22 allowed · 0 blocked · 0 omitted

OpenAI (ChatGPT)

  • GPTBotModel training

    Blocking GPTBot opts you out of training OpenAI's foundation models. It does not remove you from ChatGPT's cited search answers — that is OAI-SearchBot. OpenAI's docs: "Each setting is independent of the others."

  • OAI-SearchBotSearch / citations

    The single most expensive line in the file. OpenAI: "Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers." If your buyers research in ChatGPT, keep this allowed.

  • ChatGPT-UserUser-initiated fetch

    Fires when a person or a Custom GPT points ChatGPT at your URL. OpenAI: "Because these actions are initiated by a user, robots.txt rules may not apply" — so a Disallow here is a request, not a guarantee.

Anthropic (Claude)

  • ClaudeBotModel training

    Anthropic's training crawler: it collects web content that "could potentially contribute to their training". Blocking it does not affect whether Claude cites you in web search — that is Claude-SearchBot.

  • Claude-SearchBotSearch / citations

    Anthropic says it "navigates the web to improve search result quality". Block it and you remove yourself from the index Claude leans on when a buyer asks about your category.

  • Claude-UserUser-initiated fetch

    The live fetch when a Claude user asks about a page. Unlike OpenAI's and Perplexity's user fetchers, Anthropic states all of its bots — this one included — honour robots.txt directives.

  • Anthropic-AIModel trainingNot vendor-documented

    A legacy token that no longer appears in Anthropic's current crawler documentation. Harmless to keep for old configs, but it almost certainly decides nothing today.

Perplexity

  • PerplexityBotSearch / citations

    Perplexity's docs say it "surfaces and links websites in Perplexity search results" and does not train models. Blocking it costs you citations and referral clicks and buys you no training protection at all.

  • Perplexity-UserUser-initiated fetch

    Perplexity's own docs: "Since a user requested the fetch, this fetcher generally ignores robots.txt rules." A Disallow line here will most likely change nothing.

Google (Gemini)

  • Google-ExtendedControl token

    Not a crawler — a standalone product token controlling whether already-crawled content trains and grounds Gemini and Vertex AI. Google: "Google-Extended does not impact a site's inclusion in Google Search nor is it used as a ranking signal in Google Search." It also does not control AI Overviews or AI Mode: those follow Googlebot plus nosnippet / max-snippet.

Apple

  • ApplebotSearch / citations

    Apple's real crawler — it powers Spotlight, Siri and Safari suggestions. Blocking it removes you from Apple's search surfaces outright. This is the expensive Apple line, not Applebot-Extended.

  • Applebot-ExtendedControl token

    A control token that crawls nothing; it only decides whether Applebot's data may train Apple's foundation models. Apple: "Webpages that disallow Applebot-Extended can still be included in search results."

Microsoft (Bing, Copilot)

  • BingbotSearch / citations

    Microsoft ships no AI-only crawler token: the Bing index is what grounds Copilot. Blocking Bingbot costs you Bing search and Copilot in one move. The AI-specific control is the NOCACHE / NOARCHIVE robots meta tag, not robots.txt.

DuckDuckGo

  • DuckAssistBotSearch / citations

    Fetches pages in real time for DuckDuckGo's cited AI answers. DuckDuckGo says the data is not used to train models and that opting out "does not impact organic search rankings". Blocking it costs citations only.

Other crawlers and data brokers

  • AmazonbotModel training

    Amazon says the data "may be used to train Amazon AI models", and that Amazonbot honours robots.txt. Amazon has since added Amzn-SearchBot and Amzn-User, which it says do not crawl for generative training — allow those separately if Amazon's shopping assistants matter to you.

  • Meta-ExternalAgentModel training

    Meta's crawler for "training foundation AI models or improving products by indexing content directly". It honours robots.txt. Its sibling Meta-ExternalFetcher is user-initiated and, in Meta's words, "may bypass robots.txt rules".

  • CCBotModel training

    Common Crawl publishes an open web archive rather than a model, and honours robots.txt. Blocking it mostly narrows how many third-party datasets and researchers can reach you downstream — a broad but indirect effect.

  • Cohere-AIModel trainingNot vendor-documented

    Cohere's training-data crawler. Cohere publishes no first-party crawler page, and newer traffic identifies as cohere-training-data-crawler — add that token by hand if this one matters to you.

  • BytespiderModel trainingNot vendor-documented

    ByteDance's crawler. It is repeatedly reported to ignore robots.txt, and ByteDance publishes no crawler documentation to check that against. If you genuinely need it gone, block it at the WAF or web server — not here.

  • DiffbotData broker

    A commercial crawler that turns pages into structured records for Diffbot's Knowledge Graph, which it licenses onward. No consumer answer engine depends on it, so blocking costs you nothing buyers can see.

  • TimpibotData brokerNot vendor-documented

    Timpi's crawler for its independent index, which it also packages into datasets it sells. Negligible buyer-facing reach today; blocking costs you nothing visible.

  • OmgilibotData broker

    Webz.io's crawler. It feeds a web-data repository resold to other companies, including for AI training. Its sibling token is Webzio-Extended. Blocking costs you nothing buyer-facing.

3. Optional extras

Optional, but cheap. Search and answer crawlers both read this line.

These are repeated inside every allowed agent group on purpose — a named group replaces the * group entirely, so paths listed only under * would stay open to the named crawlers.

The Content Signals Policy states your intent for search, AI training and AI grounding. Its own authors are explicit that content signals “express preferences; they are not technical countermeasures against scraping.”

4. Your robots.txt

robots.txt
# robots.txt — built with Perciva's free AI Crawler robots.txt Generator
# https://perciva.ai/tools/ai-robots-txt-generator
#
# Save this as a plain-text file at https://your-domain.com/robots.txt

User-agent: *
# Content Signals Policy — an expression of preference, not enforcement.
Content-Signal: search=yes, ai-train=yes, ai-input=yes
Allow: /

# ── AI & answer-engine crawlers ───────────────────────────────────────────

# OpenAI — model training crawler
User-agent: GPTBot
Allow: /

# OpenAI — ChatGPT search index (drives ChatGPT's cited results)
User-agent: OAI-SearchBot
Allow: /

# OpenAI — live fetch when a user asks about a page
User-agent: ChatGPT-User
Allow: /

# Anthropic — crawler
User-agent: ClaudeBot
Allow: /

# Anthropic — search index
User-agent: Claude-SearchBot
Allow: /

# Anthropic — live user fetch
User-agent: Claude-User
Allow: /

# Anthropic — legacy agent name
User-agent: Anthropic-AI
Allow: /

# Perplexity — index crawler
User-agent: PerplexityBot
Allow: /

# Perplexity — live user fetch
User-agent: Perplexity-User
Allow: /

# Google — Gemini/Vertex grounding control token
User-agent: Google-Extended
Allow: /

# Apple — search
User-agent: Applebot
Allow: /

# Apple — AI training control token
User-agent: Applebot-Extended
Allow: /

# Microsoft — Bing index (powers Copilot)
User-agent: Bingbot
Allow: /

# DuckDuckGo — DuckAssist
User-agent: DuckAssistBot
Allow: /

# Amazon
User-agent: Amazonbot
Allow: /

# Meta
User-agent: Meta-ExternalAgent
Allow: /

# Common Crawl — feeds many model corpora
User-agent: CCBot
Allow: /

# Cohere
User-agent: Cohere-AI
Allow: /

# ByteDance
User-agent: Bytespider
Allow: /

# Diffbot
User-agent: Diffbot
Allow: /

# Timpi
User-agent: Timpibot
Allow: /

# Webz.io
User-agent: Omgilibot
Allow: /

Upload this to the root of your domain, then confirm it resolves at https://your-domain.com/robots.txt as text/plain. robots.txt is per-host: your marketing site, docs subdomain and help centre each need their own, and forgotten docs subdomains are where most AI crawler access quietly dies.

How robots.txt works for AI crawlers

robots.txt is a plain-text file at the root of a host that tells automated clients which paths they may fetch. It is a request, not a lock: it has no authentication and no enforcement, and it works only because the large operators choose to honour it. OpenAI, Anthropic, Google, Apple, Microsoft, Amazon, Meta, Perplexity, DuckDuckGo and Common Crawl all publish the tokens they answer to, and all state that their crawlers obey the directives you write for them. Their user-initiated fetchers are a separate case, and the next section is about exactly that.

The mechanic that trips people up is group matching. A crawler obeys the single most specific group that names it and ignores every other group, including User-agent: *. So if your * group blocks /admin and you then add a group for GPTBot containing only Allow: /, you have just opened /admin to GPTBot. That is why this generator repeats your private paths inside every allowed agent group rather than trusting the wildcard to cascade.

Training vs. search vs. user fetch — the distinction that decides everything

An AI crawler is not one thing. Vendors run up to three separate agents with three separate jobs, and blocking the wrong one is how companies delete themselves from AI answers by accident.

Training crawlers GPTBot, ClaudeBot, CCBot, Meta-ExternalAgent — collect text that may end up in a model’s weights. Blocking them is a content-licensing decision with a slow, diffuse effect: over successive model generations you fade out of the model’s background knowledge of your category. Search crawlers — OAI-SearchBot, Claude-SearchBot, PerplexityBot, Bingbot, Applebot, DuckAssistBot — build the retrieval indexes that answer engines consult before they reply. Blocking one of these has an immediate, total effect: OpenAI states outright that sites opted out of OAI-SearchBot will not be shown in ChatGPT search answers. User fetchers — ChatGPT-User, Perplexity-User, Claude-User — retrieve a page because a human asked about it. Here the vendors diverge: Anthropic says all its bots honour robots.txt, OpenAI says robots.txt rules may not apply to user-initiated actions, and Perplexity says its user fetcher generally ignores robots.txt outright.

Two entries in the list are not crawlers at all. Google-Extended and Applebot-Extended fetch nothing; they are permission tokens that govern how data already collected by Googlebot and Applebot may be reused. Both vendors say so explicitly, and both say blocking them leaves search inclusion untouched.

What blocking actually costs a B2B company

For a media business whose archive is the product, blocking training crawlers is a rational negotiating position. For B2B SaaS it usually is not. Your content is a sales asset, not inventory: you publish comparison pages and docs precisely so that someone evaluating your category finds you. When a buyer asks an assistant “best tool for X”, the assistant answers from what it retrieves and what it knows — and a competitor who stayed open occupies both layers while you occupy neither.

The asymmetry is what makes this decision easy to get wrong. Blocking a training crawler costs you slowly and invisibly. Blocking a search crawler costs you immediately and completely, and nothing in your analytics will tell you: there is no impression count for an answer you were left out of. That is the gap Perciva exists to close — it runs your buyers’ questions through each engine and shows you the verbatim answer, including who got recommended instead of you. Our full guide to AI crawler access walks through auditing an existing file, and how to get cited by ChatGPT covers what to do once the crawlers are through the door.

Common mistakes

  • Blocking GPTBot and assuming ChatGPT search is covered. They are independent settings. Most people who wanted to opt out of training have also left OAI-SearchBot untouched, which is correct — but plenty do the reverse and never notice.
  • Blocking Google-Extended to escape AI Overviews. It does nothing for AI Overviews or AI Mode, which are part of Search and follow Googlebot plus nosnippet / max-snippet. Google-Extended only governs Gemini and Vertex AI training and grounding.
  • Blocking Applebot when you meant Applebot-Extended. Applebot is Apple Search. Applebot-Extended is the training token, and blocking it leaves you in Spotlight, Siri and Safari suggestions.
  • Treating robots.txt as a paywall. Bytespider is widely reported to ignore it, Perplexity documents that its user fetcher does, and anything already trained or quoted elsewhere stays reachable regardless. If you need enforcement, that is a WAF or bot-management job.
  • Fixing the marketing site and forgetting the subdomains. robots.txt is per-host. Docs, help centres and blogs on separate hosts each need their own file — and docs are usually the pages AI most wants to cite.
  • Publishing an llms.txt that points at blocked pages. Audit both files together, or the map leads somewhere the crawler is not allowed to go.

Frequently asked questions

Should I block GPTBot?
For most B2B companies, no. GPTBot only governs training data for OpenAI's foundation models — it does not decide whether ChatGPT can cite you in a search answer, which is OAI-SearchBot's job. If your buyers research vendors in ChatGPT, blocking GPTBot slowly removes you from the model's background knowledge of your category while your competitors stay in it. Blocking makes sense mainly for publishers whose archive is the product, or for sites under a licensing agreement that forbids training use.
Does blocking Google-Extended hurt my Google rankings?
No. Google's documentation states plainly that Google-Extended does not impact a site's inclusion in Google Search and is not used as a ranking signal. It is a standalone product token, not a crawler, and it only controls whether content Google has already crawled may be used to train and ground Gemini and Vertex AI. It also does not remove you from AI Overviews or AI Mode — those are part of Search, governed by Googlebot in robots.txt plus the nosnippet and max-snippet directives.
Will blocking AI crawlers keep my content out of ChatGPT?
Only partly, and not reliably. Disallowing GPTBot and OAI-SearchBot removes you from training and from ChatGPT's search index. But user-initiated fetchers behave differently: OpenAI states that because ChatGPT-User actions are initiated by a user, robots.txt rules may not apply, and Perplexity states outright that Perplexity-User generally ignores robots.txt. Anything already trained into a model, quoted on a third-party review site, or summarised in a roundup also stays reachable. robots.txt controls crawling, not what a model already knows about you.
What is the difference between GPTBot, OAI-SearchBot and ChatGPT-User?
GPTBot crawls for model training. OAI-SearchBot builds the index behind ChatGPT's cited search results. ChatGPT-User fetches a page live when a person or a Custom GPT asks about it. OpenAI documents these as independent settings, so you can allow OAI-SearchBot to appear in search results while disallowing GPTBot. Confusing the three is the single most common robots.txt mistake — people block GPTBot to protect their content and assume they have also opted out of ChatGPT search, or block OAI-SearchBot to opt out of training and quietly delete themselves from ChatGPT's answers.
Do I need an llms.txt as well as a robots.txt?
They solve different problems. robots.txt is a permission file that tells crawlers what they may fetch; llms.txt is a content file that gives an AI a curated, plain-text map of your most useful pages. robots.txt is honoured by every major AI vendor and is the one that matters today. llms.txt is an emerging convention with no guaranteed consumer, but it costs little to publish. The order to do them in is robots.txt first, then llms.txt — an llms.txt that points at pages your robots.txt blocks defeats itself.

Letting crawlers in is step one. Knowing what they say about you is step two.

An open robots.txt does not guarantee you get recommended. Run a free AI Buyer Perception Snapshot and see the actual answer ChatGPT, Perplexity, Gemini and Claude give when someone asks about your category — including which competitor they name.

Get a free snapshot

No credit card · Results in about a minute