Seonix research
Websites block AI training bots more than four times as often as AI search bots
By Seonix research · Crawled: 3 November 2026
Of 14,318 sites with a readable robots.txt, 12.2% block at least one AI training bot by name. Only 2.3% block a bot behind AI search or answers. 35.8% of those training blocks sit in a file with one Cloudflare template.
What we found
Training bots are blocked 5.3x as often by name
1,744 sites name a training bot in a full block and 330 name a search or answer bot. Counting User-agent: * as well, the gap is 4.5x.
The split holds within one company
GPTBot is blocked on 8.0% of sites and OAI-SearchBot on 0.7%. ClaudeBot is at 7.4% and Claude-SearchBot at 0.5%.
One template accounts for a large part of it
35.8% of named training blocks sit in a file with the Cloudflare managed block. Without those files the shares are 8.2% and 2.1%.
Most blockers leave AI search alone
1,414 sites (9.9%) block training bots by name and leave every search and answer bot open. Fewer than 30 do the reverse.
Large platforms block far more
Among 124 large platforms we counted apart, 54.8% block a training bot by name and 32.3% a search or answer bot.
Position makes little difference, page type more
Sites reaching the top 3: 12.8% block training bots. Sites only at 4 to 10: 11.8%. Sites ranking mostly with comparison pages: 16.4%. With home pages: 7.9%.
Sites that fully block each bot by name
Share of 14,318 sites with a readable robots.txt. Blocks through User-agent: * are counted apart, in the table.
Training and data collection
- GPTBot8.0%
- ClaudeBot7.4%
- Google-Extended6.4%
- Applebot-Extended6.6%
- CCBot8.8%
- Bytespider9.4%
- meta-externalagent7.2%
- Amazonbot7.3%
Search and answers
- OAI-SearchBot0.7%
- ChatGPT-User1.4%
- Claude-SearchBot0.5%
- Claude-User0.7%
- PerplexityBot1.4%
- Perplexity-User0.8%
- Training bot, file without the Cloudflare template
- Training bot, file with the Cloudflare template
- Search or answer bot
Counting User-agent: * as well, the shares become 12.8% for training bots and 2.9% for search and answer bots. 107 sites (0.7%) have Disallow: / in their User-agent: * group, although a bot with its own group can be exempt.
Show the numbers
| Bot | By name | % | Via User-agent: * | % | Blocked, some paths allowed | % |
|---|---|---|---|---|---|---|
| GPTBot | 1,140 | 8.0% | 64 | 0.4% | 69 | 0.5% |
| ClaudeBot | 1,060 | 7.4% | 75 | 0.5% | 59 | 0.4% |
| Google-Extended | 920 | 6.4% | 68 | 0.5% | 69 | 0.5% |
| Applebot-Extended | 940 | 6.6% | 83 | 0.6% | 51 | 0.4% |
| CCBot | 1,265 | 8.8% | 83 | 0.6% | 64 | 0.4% |
| Bytespider | 1,352 | 9.4% | 93 | 0.6% | 42 | 0.3% |
| meta-externalagent | 1,024 | 7.2% | 83 | 0.6% | 64 | 0.4% |
| Amazonbot | 1,050 | 7.3% | 87 | 0.6% | 55 | 0.4% |
| OAI-SearchBot | 94 | 0.7% | 63 | 0.4% | 46 | 0.3% |
| ChatGPT-User | 206 | 1.4% | 62 | 0.4% | 48 | 0.3% |
| Claude-SearchBot | 65 | 0.5% | 75 | 0.5% | 56 | 0.4% |
| Claude-User | 100 | 0.7% | 74 | 0.5% | 37 | 0.3% |
| PerplexityBot | 205 | 1.4% | 63 | 0.4% | 69 | 0.5% |
| Perplexity-User | 111 | 0.8% | 75 | 0.5% | 37 | 0.3% |
The same two shares, cut by group
Share of sites with a readable robots.txt in each group. A site counts once, by its best position and its most common page type.
- All sites12.2%2.3%
- Without the Cloudflare template8.2%2.1%
- Reached the top 312.8%2.8%
- Only at positions 4 to 1011.8%2.0%
- Mostly comparison pages16.4%3.9%
- Mostly articles12.8%2.5%
- Mostly service pages11.4%2.0%
- Mostly home pages7.9%under 30
- Blocks a training bot by name
- Blocks a search or answer bot by name
Show the numbers
| Measure | Base | Blocks a training bot by name | Blocks a search or answer bot by name |
|---|---|---|---|
| All sites | 14,318 | 1,744 | 330 |
| Without the Cloudflare template | 13,690 | 1,119 | 289 |
| Reached the top 3 | 5,310 | 679 | 150 |
| Only at positions 4 to 10 | 9,008 | 1,065 | 180 |
| Mostly comparison pages | 1,878 | 308 | 74 |
| Mostly articles | 6,248 | 797 | 154 |
| Mostly service pages | 3,807 | 433 | 77 |
| Mostly home pages | 1,878 | 149 | under 30 |
What came back when we asked for robots.txt
Every one of the 16,220 sites, by the answer to one request. Only "File returned" counts in the blocking shares.
- File returned88.3%
- No file (404 or 410)2.8%
- Web page instead of a file3.0%
- Refused (401 or 403)3.1%
- Server error (5xx)0.3%
- Timed out0.9%
- Name did not resolve0.5%
- Certificate or TLS failure0.9%
- Other failures0.4%
Show the numbers
| Measure | Sites | % |
|---|---|---|
| File returned | 14,318 | 88.3% |
| No file (404 or 410) | 448 | 2.8% |
| Web page instead of a file | 479 | 3.0% |
| Refused (401 or 403) | 496 | 3.1% |
| Server error (5xx) | 46 | 0.3% |
| Timed out | 146 | 0.9% |
| Name did not resolve | 81 | 0.5% |
| Certificate or TLS failure | 140 | 0.9% |
| Other failures | 66 | 0.4% |
Numbers to cite
Quote any figure with a link to this page. The source column names the matching rows in the CSV.
| Measure | Value | Sites | Base | Source |
|---|---|---|---|---|
| Block a training bot by name | 12.2% | 1,744 | 14,318 | b04 |
| Block a search or answer bot by name | 2.3% | 330 | 14,318 | b04 |
| Block a training bot, by name or via User-agent: * | 12.8% | 1,831 | 14,318 | b04 |
| Block a search or answer bot, by name or via User-agent: * | 2.9% | 410 | 14,318 | b04 |
| Block training bots by name, every search or answer bot open | 9.9% | 1,414 | 14,318 | b04 |
| User-agent: * group blocks the whole site | 0.7% | 107 | 14,318 | b04 |
| Files with the Cloudflare managed block | 4.4% | 628 | 14,318 | b04 |
Suggested citation: Seonix research (2026). AI Crawlers in robots.txt: 14,318 Sites Measured. Crawled 3 November 2026. seonix.ai/research/ai-bots-robots-txt
How we measured it
Took the list of sites
We started from 16,399 sites seen in those top 10s. We removed 46 that belong to Seonix, its customers or visitors who analysed their site. 133 large platforms, such as social networks and marketplaces, went into a separate group, which left 16,220.
Asked each site once
On 3 November 2026 we sent one request for /robots.txt and one for /llms.txt, and opened no other page. At most 20 sites at a time, a 10-second limit, up to 3 redirects, no retries. Our crawler named itself as SeonixResearch/1.0.
Read the rules
We applied the standard rules for robots.txt. A bot follows its own group when one exists and the User-agent: * group otherwise. A full block means Disallow: / with nothing allowed. Files that block the root but allow some paths are counted apart.
Sorted the bots by job
Training and data collection: GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot, Bytespider, meta-externalagent, Amazonbot. Search and answers: OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User. We based this on what each operator publishes, where it publishes it.
Marked the template only when certain
A file counts as the Cloudflare managed block only if it carries the exact comment Cloudflare documents, BEGIN Cloudflare Managed content. Copies without that comment count as a site's own rules.
Applied a publication floor
Aggregates only, no site named, no count under 30. Raw answers stay on our side and are not published.
What limits this data
- Not the whole web. The list comes from commercial searches chosen for 23 sites that use Seonix, and from DuckDuckGo. Sites that rank elsewhere may behave differently.
- A request, not a fact. Bots may ignore robots.txt, and a site can also block them at the firewall, which this study cannot see. We sent no requests as an AI bot.
- Unreachable is not the same as open. 496 sites refused our request for the file, and that says nothing about their rules for AI bots. Those sites and the other failures are outside every blocking share.
- A missing file means no block, but we keep it apart. 448 sites had no file and 479 returned a web page instead. They are also outside the shares, so counting them would lower every share slightly.
- A template says little about intent. We can see that a file carries the Cloudflare block, but not who turned it on or why.
- Hosts, not companies. A subdomain counts as its own site, and 165 requests ended on another host after a redirect.
- Labels overlap. Google-Extended also covers grounding in Gemini Apps and does not affect Google Search. Amazonbot serves several purposes, including AI training. Page types are labels read from URLs and titles.
- One moment. This is a single crawl on one day, so it shows no trend.
Also measured: llms.txt
3,604 of the 14,875 sites that answered clearly (24.2%) serve a valid llms.txt: at least 100 characters, a heading and a link. It is an optional convention. We did not measure whether any AI engine uses it.
What to do with this
Check your file for the difference between these two kinds of bot. A site can refuse training and still stay visible in AI answers. Blocking a search or answer bot is what can keep you out of those answers.
See what your robots.txt says
Our free checker reads your file and shows which AI bots it allows or blocks. No SEO skills needed.
Check my site for free