• dataset

How 27 big sites treat AI crawlers in robots.txt (data, 2026-11-08)

27 large sites checked on 2026-11-08: who closes ClaudeBot, GPTBot, CCBot or PerplexityBot completely in robots.txt. CSV, script and method, CC BY 4.0.

  • v1.0
  • updated 8 November 2026
  • CC-BY-4.0
  • Vladislav Krivorutško

On 2026-11-08, 18 of 27 large sites closed at least one of 11 AI crawlers completely in robots.txt, and 9 closed none. ClaudeBot and Bytespider were closed most often, by 16 sites each. GPTBot and CCBot followed with 14 each, PerplexityBot with 11, and Google-Extended was closed by 6. bbc.com and bloomberg.com closed all 11.

Files in this resource

4 files · or all in one zip
  • ai-bots-robots-27-sites.csv

    One row per site: 11 AI crawler tokens, true when the robots.txt closes the bot with Disallow: /

    4.7 KB
  • scan_robots.py

    Python 3.8+, standard library only; reproduces the measurement for any list of domains

    13 KB
  • sites.txt

    The 28 domains that were requested

    499 B
  • README.md

    Definition, CSV columns, how to re-run, limits

    3.6 KB

What was measured

The script requested /robots.txt from 28 domains between 17:45:44 and 17:46:48 UTC on 2026-11-08, one request per domain, with the User-Agent ADLAB-research (+https://adlab.ee) and a 2 second pause between domains. 27 domains returned a file. stackoverflow.com answered HTTP 418 and is in the CSV as an error, outside the 27. The script does not try to get around that.

A site counts as closing a bot when its robots.txt has a group whose User-agent line names exactly that bot, ignoring case, and the group contains Disallow: /. A User-agent: * group does not count, and neither does a partial rule such as Disallow: /news/. Several User-agent lines in a row share one group, comments and blank lines are skipped, and two groups for the same bot are merged. The 11 tokens are those in the table below.

Results by bot

BotOperatorClass per the operator's pageSites closing it, of 27Share
ClaudeBotAnthropictraining1659%
BytespiderByteDancenot documented1659%
GPTBotOpenAItraining1452%
CCBotCommon Crawlopen dataset, AI training not addressed1452%
meta-externalagentMetatraining and product indexing1348%
AmazonbotAmazonmay be used to train Amazon AI models1244%
anthropic-aiAnthropicnot in the current article1141%
PerplexityBotPerplexitysearch1141%
ChatGPT-UserOpenAIuser-triggered830%
OAI-SearchBotOpenAIsearch726%
Google-ExtendedGooglecontrol token for training and grounding622%

The class column comes from the operators' own pages, collected with their links in the robots.txt for AI bots resource. Where the cell says "not documented", no statement was found on 2026-11-08.

What the data shows

Training crawlers are closed more often than the search and user-triggered bots of the same operator. GPTBot is closed on 14 sites, ChatGPT-User on 8 and OAI-SearchBot on 7. All 7 sites that close OAI-SearchBot also close GPTBot, and 7 sites close GPTBot without closing OAI-SearchBot.

Google-Extended is the least closed of the 11, on 6 sites. All 6 also close ClaudeBot, and 10 sites close ClaudeBot without Google-Extended. The data does not say why.

Four sites publish User-agent: * with Disallow: / and close none of the 11 bots by name: reuters.com, wsj.com, reddit.com and imdb.com. Their files tell every crawler that is not named elsewhere to stay out, so for them the counts understate the exclusion. quora.com has the same * rule and closes 6 bots by name.

Ten sites name at least one of the 11 bots in a group that has no Disallow: /. forbes.com closes 8 bots and names OAI-SearchBot in a group with Allow: /. github.com closes only Bytespider and names five other bots in groups without Disallow: /. The column named_not_closed in the CSV lists these cases.

Nine sites close none of the 11: reuters.com, wsj.com, wikipedia.org, reddit.com, walmart.com, shopify.com, nerdwallet.com, booking.com and imdb.com.

Rather have this done for you?

Send the site address and what you want to know. We run the audit and send the report.

Send a request

Limits

  • A robots.txt is a statement, not proof. Firewalls, WAF rules, rate limits and IP blocks are invisible to this measurement, and a site that closes a bot in the file may also serve it pages, or the other way round.
  • The 27 sites were chosen by the author: large publishers, marketplaces and reference sites. They are not a sample of the web, and no percentage here describes the web.
  • Each site was fetched once, from one IP address, with one User-Agent. A site may serve a different file to other visitors.
  • Only Disallow: / counts. A site that closes /news/ to GPTBot shows up as false.
  • Files change. The data describes 2026-11-08, between 17:45 and 17:47 UTC.
  • An earlier pass of the same list on the same day counted forbes.com as closing none of the 11 bots. forbes.com sends its robots.txt gzip-compressed, and the script now unpacks it. The README records the difference.

CSV columns

ColumnValuesMeaning
site, scanned_at_utcdomain, ISO timeRequested domain and the time of its request
result, http_status, bytesfile, no_file, error; number; numberWhether a robots.txt came back, the last HTTP status, the decoded size
any_bot_closedtrue, false, emptyAt least one of the 11 bots is closed
GPTBot to meta-externalagenttrue, false, emptytrue = closed with Disallow: /; empty when no file came back
star_disallow_all, named_not_closedtrue, false; bot namesThe * group closes everything; bots named in a group without Disallow: /

Re-run it

bash
python scan_robots.py sites.txt --out my-scan.csv
python scan_robots.py example.com --bots GPTBot ClaudeBot Google-Extended
python scan_robots.py --selftest

The script needs Python 3.8 or newer and nothing else. The self-test runs 13 parser checks without network access: stacked User-agent lines, case, comments, a byte order mark, separate groups for one bot, Disallow: with an empty value, and a gzip-compressed body. It sends one request per site and waits 2 seconds between sites. If you publish your own run, replace the contact in the USER_AGENT constant with yours.

Files are provided as is: run them on your own data and check the result.

Want an audit like this on your site?

If you would rather have it done for you, send a request and describe the site.

Send a request
Download ai-bots-robots-27-sites.csv