Research

Which AI Crawlers Do the Sites ChatGPT and Google Cite Block?

Peak Answer read robots.txt for 847 domains cited for tech-sector questions by ChatGPT and Google. GPTBot was blocked on 24 of 818 domains (2.9%) and OAI-SearchBot on 12 of 818 (1.5%).

Cited URLs

1540

Unique cited URLs on 847 domains and 887 hosts.

GPTBot blocked

24 of 818

Domains whose robots.txt was readable or absent (2.9%).

OAI-SearchBot blocked

12 of 818

Domains whose robots.txt was readable or absent (1.5%).

ClaudeBot blocked

20 of 818

Domains whose robots.txt was readable or absent (2.4%).

PerplexityBot blocked

11 of 818

Domains whose robots.txt was readable or absent (1.3%).

Cited pages fetched as a real page

1290 of 1540

Cited URLs that returned a real page (83.8%).

What the numbers show

Among ChatGPT-cited domains, GPTBot was blocked on 9 of 394 (2.3%) and OAI-SearchBot on 4 of 394 (1.0%).

15 of 784 domains (1.9%) blocked GPTBot but allowed OAI-SearchBot.

Of 1540 cited URLs, 1290 (83.8%) returned a real page, 123 (8.0%) returned a bot challenge and 98 (6.4%) were skipped because the site's robots.txt disallows Peak Answer's crawler. Of 1290 real pages, 72 (5.6%) were near-empty without JavaScript. A sitemap was found on 771 of 820 domains (94.0%).

The sample is sites cited for tech-sector questions (T01 to T15). The study is descriptive only.

Share of domains blocking each crawler

Bars show the share of domains whose robots.txt blocks each crawler for the cited path, for all domains and for ChatGPT-cited domains.

Share of cited domains blocking each AI crawlerGPTBot is blocked on 2.9% of all domains and 2.3% of ChatGPT-cited domains. OAI-SearchBot is blocked on 1.5% and 1.0%. ClaudeBot is 2.4% and 2.0%, and PerplexityBot is 1.3% and 1.0%.All domainsChatGPT-cited domainsOAI-SearchBot12/818 (1.5%)4/394 (1.0%)GPTBot24/818 (2.9%)9/394 (2.3%)ChatGPT-User14/818 (1.7%)6/394 (1.5%)ClaudeBot20/818 (2.4%)8/394 (2.0%)PerplexityBot11/818 (1.3%)4/394 (1.0%)Google-Extended14/818 (1.7%)8/394 (2.0%)Googlebot2/818 (0.2%)2/394 (0.5%)Bingbot3/818 (0.4%)2/394 (0.5%)
GroupAll domainsChatGPT-cited domainsObservations
OAI-SearchBot12/818 (1.5%)4/394 (1.0%)818 / 394
GPTBot24/818 (2.9%)9/394 (2.3%)818 / 394
ChatGPT-User14/818 (1.7%)6/394 (1.5%)818 / 394
ClaudeBot20/818 (2.4%)8/394 (2.0%)818 / 394
PerplexityBot11/818 (1.3%)4/394 (1.0%)818 / 394
Google-Extended14/818 (1.7%)8/394 (2.0%)818 / 394
Googlebot2/818 (0.2%)2/394 (0.5%)818 / 394
Bingbot3/818 (0.4%)2/394 (0.5%)818 / 394

The same numbers are in the table below.

Share of domains blocking each crawler

CrawlerAll domains (denominator 818)ChatGPT-cited (denominator 394)First-party (denominator 447)Giant (denominator 342)
OAI-SearchBot12/818 (1.5%)4/394 (1.0%)0/447 (0.0%)7/342 (2.0%)
GPTBot24/818 (2.9%)9/394 (2.3%)5/447 (1.1%)12/342 (3.5%)
ChatGPT-User14/818 (1.7%)6/394 (1.5%)1/447 (0.2%)6/342 (1.8%)
ClaudeBot20/818 (2.4%)8/394 (2.0%)4/447 (0.9%)10/342 (2.9%)
PerplexityBot11/818 (1.3%)4/394 (1.0%)1/447 (0.2%)6/342 (1.8%)
Google-Extended14/818 (1.7%)8/394 (2.0%)5/447 (1.1%)4/342 (1.2%)
Googlebot2/818 (0.2%)2/394 (0.5%)0/447 (0.0%)1/342 (0.3%)
Bingbot3/818 (0.4%)2/394 (0.5%)0/447 (0.0%)1/342 (0.3%)

Blocked means the cited path is disallowed for that agent. Blanket means the whole site is disallowed.

GPTBot and OAI-SearchBot together

SegmentDenominatorGPTBot blocked, OAI-SearchBot allowedBoth blockedOAI-SearchBot blocked, GPTBot allowedGPTBot blocked, ChatGPT-User allowed
All domains78415/784 (1.9%)9/784 (1.1%)3/784 (0.4%)13/784 (1.7%)
ChatGPT-cited3796/379 (1.6%)3/379 (0.8%)1/379 (0.3%)4/379 (1.1%)
Google-only4059/405 (2.2%)6/405 (1.5%)2/405 (0.5%)9/405 (2.2%)
First-party (small provider own site)4245/424 (1.2%)0/424 (0.0%)0/424 (0.0%)4/424 (0.9%)
Giant3346/334 (1.8%)6/334 (1.8%)1/334 (0.3%)7/334 (2.1%)
Other types264/26 (15.4%)3/26 (11.5%)2/26 (7.7%)2/26 (7.7%)

What happened when cited pages were fetched

SegmentURLsReal page (2xx)ChallengeDisallowed by robots (our UA)HTTP errorFetch errorRate limited
All URLs15401290/1540 (83.8%)123/1540 (8.0%)98/1540 (6.4%)18/1540 (1.2%)10/1540 (0.6%)1/1540 (0.1%)
ChatGPT-cited domains925779/925 (84.2%)64/925 (6.9%)65/925 (7.0%)12/925 (1.3%)4/925 (0.4%)1/925 (0.1%)
Google-only domains615511/615 (83.1%)59/615 (9.6%)33/615 (5.4%)6/615 (1.0%)6/615 (1.0%)0/615 (0.0%)
First-party659606/659 (92.0%)37/659 (5.6%)0/659 (0.0%)9/659 (1.4%)7/659 (1.1%)0/659 (0.0%)
Giant732650/732 (88.8%)59/732 (8.1%)11/732 (1.5%)9/732 (1.2%)2/732 (0.3%)1/732 (0.1%)
Other types14934/149 (22.8%)27/149 (18.1%)87/149 (58.4%)0/149 (0.0%)1/149 (0.7%)0/149 (0.0%)

Pages without JavaScript

SegmentReal pagesNear-empty (<150 words + JS)Under 150 words (any)Has h1Has JSON-LDMedian words
All URLs129072/1290 (5.6%)74/1290 (5.7%)1174/1290 (91.0%)1006/1290 (78.0%)2094
ChatGPT-cited domains77950/779 (6.4%)50/779 (6.4%)701/779 (90.0%)614/779 (78.8%)1687
Google-only domains51122/511 (4.3%)24/511 (4.7%)473/511 (92.6%)392/511 (76.7%)2726
First-party60613/606 (2.1%)13/606 (2.1%)577/606 (95.2%)497/606 (82.0%)1921
Giant65039/650 (6.0%)41/650 (6.3%)585/650 (90.0%)498/650 (76.6%)2351
Other types3420/34 (58.8%)20/34 (58.8%)12/34 (35.3%)11/34 (32.4%)25

robots.txt state by domain segment

SegmentDomainsrobots.txt readNo robots.txtBot challengeFetch errorRate limited
All domains847784/847 (92.6%)34/847 (4.0%)22/847 (2.6%)3/847 (0.4%)4/847 (0.5%)
ChatGPT-cited403379/403 (94.0%)15/403 (3.7%)5/403 (1.2%)2/403 (0.5%)2/403 (0.5%)
Google-only444405/444 (91.2%)19/444 (4.3%)17/444 (3.8%)1/444 (0.2%)2/444 (0.5%)
First-party (small provider own site)456424/456 (93.0%)23/456 (5.0%)5/456 (1.1%)2/456 (0.4%)2/456 (0.4%)
Giant359334/359 (93.0%)8/359 (2.2%)15/359 (4.2%)0/359 (0.0%)2/359 (0.6%)
Other types3226/32 (81.3%)3/32 (9.4%)2/32 (6.3%)1/32 (3.1%)0/32 (0.0%)
ChatGPT-cited, first-party247227/247 (91.9%)14/247 (5.7%)3/247 (1.2%)2/247 (0.8%)1/247 (0.4%)
ChatGPT-cited, giant145142/145 (97.9%)1/145 (0.7%)1/145 (0.7%)0/145 (0.0%)1/145 (0.7%)
Google-only, first-party209197/209 (94.3%)9/209 (4.3%)2/209 (1.0%)0/209 (0.0%)1/209 (0.5%)
Google-only, giant214192/214 (89.7%)7/214 (3.3%)14/214 (6.5%)0/214 (0.0%)1/214 (0.5%)

Method

Peak Answer took 1540 unique cited URLs on 847 domains and 887 hosts from tech-sector questions (T01 to T15). ChatGPT citations came from DataForSEO's ChatGPT scraper (cited pages only). Google organic and AI Overview citations came from earlier SERP data.

Each host's own robots.txt was fetched and parsed with grouped user-agent blocks, longest-match precedence with Allow winning ties, and wildcards. Domain-level figures test the domain's first cited URL path. URL-level figures use all cited URLs. Blocked means the cited path is disallowed for that agent. Blanket means the whole site is disallowed for that agent. No robots.txt counts as allowed and is shown separately.

Pages were fetched with a plain request, no JavaScript. A page is near-empty when it has under 150 visible words and at least one external script. Bot-challenge pages are their own category. ChatGPT-cited domains were cited at least once by ChatGPT. The other domains were cited by Google organic or AI Overview and not by ChatGPT. First-party is a small provider's own site and giant is a large vendor.

Limits

  • robots.txt, llms.txt and page content were read on the day of the check (October 2026), not on the day each URL was cited. Rules may have changed in between.
  • 636 of 887 hosts and 979 of 1540 URLs were measured the day before and reused. Just 251 hosts and 561 URLs were fetched fresh, so a change in that one day is not reflected for reused hosts.
  • Pages were fetched with a plain request and no JavaScript, with requests to each host spaced out and a 10 second timeout.
  • A cited page is skipped when Peak Answer's own crawler is disallowed by that site's robots.txt.
  • Denominators are domains whose robots.txt was readable or absent. No robots.txt counts as allowed and is shown separately.
  • Cells with a denominator under 10 are marked.
  • Bot-challenge pages are their own category and are not counted as real pages.
  • Near-empty means under 150 visible words with at least one external script.
  • llms.txt presence was recorded for each host, but the check cannot tell a real llms.txt file from other plain-text responses, so no adoption rate is given.
  • The ChatGPT-cited set grew to 402 domains from 248 in the first pass, because the scraper returns about 6.3 cited pages per answer against about 2.9.

Download the data

The CSV files hold the figures behind the tables. Units are in the column names.

How to cite this study

Peak Answer, "Which AI Crawlers Do Cited Sites Block?", https://peakanswer.com/research/ai-crawler-access.

Related

The AI crawler checker looks at crawler access for one site.

The llms.txt generator makes an llms.txt file.