In short
Each AI company publishes the crawler names its bots answer to, and robots.txt can allow or refuse each one by name. The names split into three jobs: collecting pages for model training, indexing pages for an AI search engine, and fetching a page because a person asked a question. You can refuse training and still allow search, because the vendors say these switches are independent. Fetchers started by a user may ignore robots.txt where the vendor says so, and no robots.txt rule is a lock.
What robots.txt can and cannot do for AI crawlers
robots.txt is a request, not a lock. A well-behaved AI crawler reads it and stays out of what it is told to avoid, but the file cannot stop a crawler that chooses to ignore it.
The file is a plain text list of rules at the root of your site, at /robots.txt. Each group of rules starts with one or more User-agent lines naming a crawler, followed by Allow and Disallow lines for paths. The format is a published standard, RFC 9309, and the standard says plainly that "these rules are not a form of access authorization".
That matters for AI crawlers in two ways. First, a refusal only works on crawlers that honour it, and every vendor below says its named crawlers do. Second, some AI fetchers are started by a person asking a question, and several vendors say those fetchers may not follow robots.txt at all. If you need a page kept from every machine, you need a login or a server rule, not a line in a text file.
The AI crawler names, vendor by vendor
There are about a dozen names worth knowing, and each vendor documents its own. The table below quotes or closely follows each vendor page, read on 10 October 2026. The name in the first column is the exact token you write after "User-agent:".
| User-agent | Company | What the company says it does | robots.txt |
|---|---|---|---|
| GPTBot | OpenAI | Crawls content that may be used to train its generative AI foundation models. | Followed. Disallowing it says your content should not be used in training. |
| OAI-SearchBot | OpenAI | Surfaces websites in search results in ChatGPT search features. | Followed. OpenAI says changes can take about 24 hours to apply. |
| ChatGPT-User | OpenAI | Visits a page when a ChatGPT user takes an action that needs it. Not used to crawl automatically. | May not apply, because a user started the fetch. |
| ClaudeBot | Anthropic | Collects web content that may be used to train its models. | Followed. Blocking it excludes future pages from training. |
| Claude-SearchBot | Anthropic | Analyses pages to improve the quality of search results for Claude users. | Followed. Blocking it may reduce visibility in Claude search answers. |
| Claude-User | Anthropic | Fetches a page when a person asks Claude a question. | Followed, according to Anthropic. Blocking it stops those fetches. |
| PerplexityBot | Perplexity | Surfaces and links websites in Perplexity search results. | Followed. |
| Perplexity-User | Perplexity | Visits a page to help answer a question a user asked. | Generally ignored, because a user requested the fetch. |
| Google-Extended | A control token, not a separate crawler. Decides whether pages Google crawls may train future Gemini models and ground answers in Gemini Apps and Vertex AI. | Followed. Does not affect Google Search or AI Overviews. | |
| Googlebot | Builds the Google Search index, which AI Overviews and AI Mode draw on. | Followed. Blocking it removes you from Search as well. | |
| CCBot | Common Crawl | Crawls the web for Common Crawl, an open archive of web pages that anyone can download. | Common Crawl gives the lines to block it. |
Common Crawl does not say what others use its archive for, so neither do we. Google says its user-triggered fetchers, such as Google-Agent, generally ignore robots.txt. Vendors rename and add crawlers, so read their pages again before you rely on this table.
DeepSeek is missing from the table on purpose. We could not find a crawler page published by DeepSeek naming a user-agent token, so we have nothing checkable to list. Some third-party bot directories list a name such as DeepSeekBot, but none we read linked to a DeepSeek page confirming it. Treat that name as unverified until the company documents it.
Training, search and user fetches are three different switches
The most useful thing to know is that the vendors split their crawlers by job. Refusing training does not refuse search, and refusing search does not refuse training. OpenAI says of its crawlers that "each setting is independent of the others".
- Training crawlers collect pages that may go into a future model. GPTBot, ClaudeBot, Google-Extended and CCBot are in this group. Refusing them affects what future models learn, not what a search engine shows today.
- Search crawlers build the index an AI search feature reads when it answers. OAI-SearchBot, Claude-SearchBot, PerplexityBot and Googlebot are in this group. Refusing them is how a page drops out of those answers and their links.
- User fetchers visit one page because one person asked. ChatGPT-User, Claude-User, Perplexity-User and Google user-triggered fetchers are in this group. OpenAI, Perplexity and Google say these may not follow robots.txt.
So the question to answer before you edit the file is which of the three jobs you want to allow. A business that wants to be named in AI answers but would rather not feed training has a clear answer: allow the search crawlers and refuse the training ones. A publisher that sells its archive may choose the opposite. Both are reasonable. What is not reasonable is a file that does one by accident.
Example robots.txt lines for common choices
Below are three ready-made sets of lines. Each table is one file, one line per row, in order. A blank line separates groups. Copy only the lines, not the explanations.
| Line | What it does |
|---|---|
| User-agent: GPTBot | Starts a group for OpenAI training. |
| User-agent: ClaudeBot | Adds Anthropic training to the same group. |
| User-agent: Google-Extended | Adds Gemini training and grounding to the group. |
| User-agent: CCBot | Adds Common Crawl to the group. |
| Disallow: / | Refuses the whole site to everything in this group. |
| (blank line) | Ends the group. |
| User-agent: OAI-SearchBot | Starts a group for ChatGPT search. |
| User-agent: Claude-SearchBot | Adds Claude search. |
| User-agent: PerplexityBot | Adds Perplexity search. |
| Allow: / | Allows the whole site to this group. |
Refusing Google-Extended means Gemini Apps will not ground answers in your pages, as well as not training on them. Google documents both effects under the one token. It does not remove you from AI Overviews.
| Line | What it does |
|---|---|
| User-agent: GPTBot | Starts the group. |
| User-agent: OAI-SearchBot | Adds ChatGPT search. |
| User-agent: ClaudeBot | Adds Anthropic training. |
| User-agent: Claude-SearchBot | Adds Claude search. |
| User-agent: Claude-User | Adds Claude user fetches, which Anthropic says it honours. |
| User-agent: PerplexityBot | Adds Perplexity search. |
| User-agent: Google-Extended | Adds Gemini training and grounding. |
| User-agent: CCBot | Adds Common Crawl. |
| Disallow: / | Refuses the whole site to all of them. |
This keeps Googlebot, so you stay in Google Search, and AI Overviews can still show your pages. ChatGPT-User and Perplexity-User may still fetch a page a user points them at, as their vendors say.
| Line | What it does |
|---|---|
| User-agent: * | Starts a group for every crawler without a group of its own. |
| Disallow: /account/ | Keeps crawlers out of the account area. |
| (blank line) | Ends the group. |
| User-agent: GPTBot | Starts a named group for GPTBot. |
| Disallow: /account/ | Repeats the rule, because a named group replaces the star group for that crawler. |
| Allow: / | Allows everything else. |
The repeated Disallow line is the point of this example. See the next section for why.
A crawler that finds a group with its own name follows only that group and ignores the rules under "User-agent: *". Repeat every rule you still want it to obey.
Mistakes that block AI crawlers by accident
Most AI crawler problems are not decisions. They are side effects of a rule someone wrote for another reason. These are the ones to look for first.
- A rule for every crawler. "User-agent: *" followed by "Disallow: /" refuses every crawler that has no group of its own, including every AI crawler you did not name. It is often left over from a staging site.
- A named group that forgets the shared rules. RFC 9309 says a crawler uses the groups that match its name, and falls back to the star group only when none match. Adding "User-agent: GPTBot" with "Allow: /" quietly lets GPTBot into folders the star group kept closed.
- A robots.txt that returns a server error. RFC 9309 says that when the file is unreachable because of a server error, the crawler must assume complete disallow. A file that times out or returns a 500 error blocks everyone, and it looks fine when you open it in a browser later.
- A firewall or bot-protection setting. A network service can turn AI crawlers away before they ever read robots.txt. The file says yes and the server says no, and only your server logs show it.
- Blocking Googlebot to stay out of AI Overviews. Google says AI Overviews draw on the Search index, so blocking Googlebot removes the page from Search as well. Google points to nosnippet, data-nosnippet, max-snippet and noindex as the controls for what Search shows.
- Blocking Google-Extended to stay out of AI Overviews. Google says Google-Extended does not affect inclusion in Google Search, and AI Overviews are part of Search. It controls Gemini training and grounding only.
Two smaller rules from the standard are worth knowing. Paths are matched by the longest rule, so "Allow: /blog/" beats "Disallow: /" for pages under /blog/. And when an Allow rule and a Disallow rule match equally, the standard says Allow wins.
How to check that the change worked
A change to robots.txt is not finished until you have seen it from the outside. Crawlers keep a copy of the file for a while, so the effect is not instant.
- Open https://your-domain/robots.txt in a private browser window and confirm it shows the new lines. A cached old copy at a CDN is a common surprise.
- Confirm the file returns a normal success status, not a redirect loop or an error. A server error counts as a full block under the standard.
- Read each group as a crawler would. Pick a crawler name, find the groups that name it, and ignore the star group if any do.
- Wait at least a day. RFC 9309 says crawlers should not use a cached copy for more than 24 hours, and OpenAI says its systems take about 24 hours to adjust.
- Search your server logs for the user-agent names in the table above. A refused crawler should stop requesting refused paths. A user fetcher may keep appearing, as its vendor says.
- Check that a visitor claiming a name really is that crawler. Common Crawl warns that other crawlers falsely identify themselves as CCBot, and suggests checking the request against its published address ranges.
Allowing AI crawlers is necessary but not enough
Being allowed in only means an assistant can read your pages. Whether it names you depends on what those pages say and on what other sites say about you. A site with a perfect robots.txt and nothing worth quoting still loses the answer. The engines page explains how each assistant we ask uses the web and which crawler reads your site for it.
Agentcites runs a version of this check on every scan. It reads your robots.txt and says, for five AI crawlers, whether each one is allowed, blocked or unknown, and quotes the exact lines responsible. The AI crawler access page lists the five and what the check cannot see, such as a firewall. It does not yet check every name in the table above. For the rest of what a scan measures, see how we measure.
How we measured this
Every user-agent name and every description in this guide was read on 10 October 2026 from the company that runs the crawler: the OpenAI, Anthropic, Perplexity, Google and Common Crawl pages listed under Sources. The rules about groups, matching, caching and server errors come from RFC 9309, the published robots.txt standard. The target phrase, robots txt ai crawlers, appeared in Google autocomplete on the same date. We did not test how any crawler behaves in practice.
This guide does not cover every crawler on the web, only the ones whose companies document a name. It does not cover DeepSeek, because we found no published crawler name for it, and it does not cover firewalls, bot-protection services or legal questions about training. Vendors change these pages, so check them again before relying on a specific line.
Questions
How do I block AI crawlers with robots.txt?
Add a group that names each crawler, such as GPTBot, ClaudeBot, PerplexityBot and CCBot, followed by "Disallow: /". Well-behaved crawlers will stop, but robots.txt is a request and not a lock.
Can I block AI training but still appear in ChatGPT search?
Yes. Disallow GPTBot and allow OAI-SearchBot. OpenAI says each of its crawler settings is independent of the others.
Does blocking Google-Extended remove my site from AI Overviews?
No. Google says Google-Extended does not affect inclusion in Google Search, and AI Overviews are part of Search. It controls Gemini training and grounding in Gemini Apps and Vertex AI.
Do AI crawlers respect robots.txt?
The named crawlers from OpenAI, Anthropic, Perplexity and Google do, according to their vendors. Fetchers started by a user, such as ChatGPT-User and Perplexity-User, may not, and their vendors say so.
How long does a robots.txt change take to work?
Usually about a day. The robots.txt standard says crawlers should not use a cached copy for more than 24 hours, and OpenAI says its systems take about 24 hours to adjust.
Sources
- OpenAI, Overview of OpenAI crawlers, read 10 October 2026
- Anthropic, Does Anthropic crawl data from the web, and how can site owners block the crawler, read 10 October 2026
- Perplexity, Perplexity crawlers, read 10 October 2026
- Google, Google common crawlers, read 10 October 2026
- Google, Google user-triggered fetchers, read 10 October 2026
- Google, AI features and your website, read 10 October 2026
- Common Crawl, CCBot, read 10 October 2026
- IETF, RFC 9309 Robots Exclusion Protocol, read 10 October 2026