Copy for Originals · Original research

Do law firm websites block AI crawlers?

Copy for Originals checked the websites of 100 Chicago personal injury law firms on October 13 and 14, 2026. Only 3 disallow an AI crawler in robots.txt. But 13 of the 78 sites that could be tested refused a request carrying the name GPTBot, ClaudeBot or PerplexityBot every time, and 11 of those 13 served the same request under Googlebot’s and Bingbot’s names.

Educational only, not legal advice. This study describes public files and server responses. Whether a firm should let AI crawlers read its site is the firm’s own decision.

3 of 100disallow at least one AI crawler in robots.txt
13 of 78refused a request carrying an AI crawler’s name, in all five runs
11 of 13of those served the same request under Googlebot’s and Bingbot’s names
42 of 92publish an llms.txt file

What did the study find?

  1. Almost no firm blocks AI crawlers in robots.txt. 11 of 100 robots.txt files name an AI crawler at all, and 3 disallow one. Only 1 disallows both GPTBot and ClaudeBot.
  2. The refusals happen at the server, where robots.txt doesn’t show them. 13 of 78 sites answered a browser-style request but refused a request carrying the name GPTBot, ClaudeBot or PerplexityBot every time. 12 of the 13 have no robots.txt rule against the crawler they refused.
  3. The refusals are aimed at AI crawlers, not at crawlers in general. 11 of the 13 sites served the same request every time when it carried Googlebot’s or Bingbot’s name.
  4. ClaudeBot’s name was refused most often. 10 refused ClaudeBot, 8 refused GPTBot and 2 refused PerplexityBot.
  5. llms.txt is common, and often automatic. 42 of 92 sites publish one. 19 of the 42 say which plugin wrote the file, and 12 of those say Yoast SEO. Another 8 sites answer the llms.txt address with robots.txt-style rules that the llms.txt proposal doesn’t define.

How many law firm websites block AI crawlers in robots.txt?

3 of 100. Each of the 100 sites has a robots.txt file, and 89 of them don’t mention an AI crawler. Of the 11 that do, 8 name crawlers without disallowing any of them.

AI crawlers named and disallowed in the robots.txt files of 100 Chicago personal injury law firm websites (Copy for Originals, October 13, 2026)
Crawler nameCompany and stated useSites naming itSites disallowing it
GPTBotOpenAI, training92
OAI-SearchBotOpenAI, ChatGPT search81
ChatGPT-UserOpenAI, fetches for a user’s question71
ClaudeBotAnthropic, training102
Claude-SearchBotAnthropic, search30
Claude-UserAnthropic, fetches for a user’s question30
PerplexityBotPerplexity, search71
Google-ExtendedGoogle, a robots.txt token for Gemini training and grounding82
CCBotCommon Crawl, an open web archive52

“Disallowing” means the group of rules that names the crawler contains Disallow: / with no Allow: /. No site disallowed every crawler with a wildcard rule.

The three firms that disallow an AI crawler did it three different ways:

5 of the 93 files read on October 13, 2026 carry a Content-Signal line, the format Cloudflare published on September 24, 2025. 4 say search=yes, ai-input=yes, ai-train=yes, and 1 says search=yes, ai-input=yes, ai-train=no. Three of the files that say yes to training are identical apart from the site’s address, which points to one website platform writing the line for its law firm customers.

Do law firm websites block AI crawlers at the server instead?

Yes, more often than in robots.txt. 13 of 78 sites (17%) served the homepage to a browser-style request but refused the same request when it carried an AI crawler’s name. Each site was asked five times per name, at least three minutes apart and in a different order each time, and “refused” here means refused all five times.

How 78 law firm homepages answered a request carrying a crawler’s name, five runs (Copy for Originals, October 14, 2026)
Name in the requestKindServed all 5 timesRefused all 5 timesMixed
GPTBotAI crawler618 (10%)9
ClaudeBotAI crawler5810 (13%)10
PerplexityBotAI crawler742 (3%)2
GooglebotSearch crawler (control)762 (3%)0
BingbotSearch crawler (control)744 (5%)0

51 of the 78 sites served all five names every time. 13 refused at least one AI crawler’s name every time. The refusals were 403 “Forbidden” responses at 11 sites and 429 “Too Many Requests” at 2. 6 of the 13 sites sit behind Cloudflare.

Do these sites refuse Googlebot’s name too?

Mostly not. 11 of the 13 sites that refused an AI crawler’s name served the same request every time when it carried Googlebot’s or Bingbot’s name. 2 refused a search crawler’s name as well.

This matters for reading the result. A site that checks whether a visitor really is the crawler it claims to be would turn away a request falsely carrying Googlebot’s name. 11 sites did not, so an identity check is an unlikely explanation there. Those sites treat an AI crawler’s name as a reason to refuse.

Across all 78 sites, 2 refused Googlebot’s name every time and 4 refused Bingbot’s. 3 sites refused Bingbot’s name while serving the three AI names and Googlebot’s.

Does robots.txt show these server blocks?

No. Only 1 of the 13 sites has a robots.txt rule against a crawler it refused. 10 have no AI crawler rule at all. 2 name the refused crawler in robots.txt without disallowing it, so the file reads as an invitation and the server turns the visitor away.

It also runs the other way. 2 sites disallow ClaudeBot in robots.txt and served the ClaudeBot-named request every time. RFC 9309, the robots.txt standard, says its rules “are not a form of access authorization.” The file states what the site asks of a crawler, and the crawler decides whether to comply.

Does the result hold from a US address?

Largely, yes. Three more runs on October 13, 2026 went out through a VPN exit in Chicago with the same six requests. 74 sites could be tested from there and 71 from both places. 68 of those 71 landed in the same place from both: refusing the same AI crawler names, or none. 12 refused at least one AI crawler’s name from both places. From Chicago, 13 of the 16 sites that refused an AI crawler’s name served Googlebot’s and Bingbot’s names every time.

What does a refusal mean for the real crawler?

It doesn’t prove the real crawler is refused. The study’s requests came from ordinary internet connections, not from OpenAI’s, Anthropic’s or Perplexity’s own addresses. A refusal in this table means the site treats the crawler’s name differently from a browser, and the Googlebot comparison shows that at most of these sites the name is what triggers it. Only the site’s own server logs show what the real crawler receives.

What about the 22 sites left out of this test?

21 sites refused the browser-style request in every run, and 1 couldn’t be reached, so there was nothing to compare against. Most of the 21 run bot protection that turned away a script calling itself a browser: a Cloudflare challenge page at some, a plain 403 at others.

16 of those 21 served the page when the same request carried the name GPTBot. 11 served all three AI names. 5 served GPTBot’s name and refused ClaudeBot’s and PerplexityBot’s. On these sites a crawler’s name alone was enough to get past a block that stopped an ordinary request.

How many law firm websites have an llms.txt file?

42 of 92, or 46%. An llms.txt file is a markdown file at the root of a site, proposed on September 3, 2024 to help AI tools use the site.

What 92 law firm websites returned at /llms.txt (Copy for Originals, October 13, 2026)
ResultSites
A markdown llms.txt file42 (46%)
A file written in robots.txt syntax8 (9%)
No file42 (46%)

8 of the 100 sites didn’t give a readable answer for this address and are left out.

Who wrote the files. 19 of the 42 files name the software that generated them: Yoast SEO in 12, Rank Math in 4, All in One SEO in 1, Hostinger Tools in 1 and MileMark Schema Pro in 1. Yoast says its file is “generated and refreshed automatically” once the feature is switched on. The other 23 files don’t say how they were made.

How big they are. Among the 35 files read directly, the median is about 9.1 KB and the smallest is 1.3 KB. 11 files are over 50 KB, and the largest is about 2 MB.

The robots.txt-style files. 8 sites answer the llms.txt address with lines such as User-agent: * and Allow: /. Six of them serve the identical 65-byte file, which includes the line Disallow-Training: /. The llms.txt proposal describes a markdown file with a title and links. It doesn’t define access rules, so nothing in the proposal says a crawler should act on these lines.

How can a law firm check whether its own website blocks AI crawlers?

  1. Read your robots.txt. Open yourfirm.com/robots.txt and search for GPTBot, OAI-SearchBot, ClaudeBot, Claude-SearchBot and PerplexityBot. A User-agent line naming one of them, followed by Disallow: /, asks that crawler to stay out.
  2. Ask about the firewall. Ask whoever runs your hosting, your Cloudflare account or your security plugin whether a bot rule refuses AI crawlers. 12 of the 13 refusals in this study don’t appear in robots.txt.
  3. Ask for the server logs. Ask for log lines containing those crawler names and the status code each one got. A 200 means the crawler received the page. A 403 or 429 means it didn’t. This is the only check that sees the real crawler.
  4. Decide training and search separately. OpenAI says GPTBot crawls content that may be used to train its models and OAI-SearchBot surfaces websites in ChatGPT’s search features. Anthropic says ClaudeBot collects content that could contribute to training and Claude-SearchBot improves search results. A firm can refuse one and allow the other.
  5. Open your llms.txt. If yourfirm.com/llms.txt exists, it should be markdown that starts with a # title and lists your pages. If it starts with User-agent, it isn’t in the format the proposal describes.

For what answer engines do with a page once they can read it, see how to write content that LLMs retrieve and cite. The firms in this study come from the Chicago personal injury lead generation study.

How was the study done?

  1. Sample: the 100 websites listed for Chicago personal injury firms in version 4 of the Copy for Originals Chicago study.
  2. robots.txt and llms.txt: each file was requested on October 13, 2026 with a Chrome-style user agent. 80 robots.txt files were read that way. 13 more were refused and then read the same day by another route: 11 through a web fetch service and 2 through the Chicago address described below. The last 7 were read from the most recent Internet Archive copy, captured between August 21, 2025 and May 7, 2026; none of those 7 names an AI crawler. 14 llms.txt answers came by the same two routes.
  3. Reading the rules: rules were grouped by User-agent line as RFC 9309 describes. A crawler counts as disallowed when a group naming it contains Disallow: / or Disallow: /* and no Allow: /. Fifteen AI crawler names were checked; the table shows nine.
  4. Server test: each homepage was requested with a Chrome-style user agent and with user agents containing GPTBot/1.4, ClaudeBot/1.0, PerplexityBot/1.0, Googlebot/2.1 and bingbot/2.0. There were five runs on October 14, 2026 from one home internet connection in Sweden, at least three minutes apart, with the six requests in a different order each run. The exit address was checked before and after every run. A site counts as testable when the browser-style request returned 200 in all five runs (78 sites). A name counts as refused when it got a 403 or 429 in all five runs, and as mixed when the runs disagreed.
  5. Second location: three runs with the same six requests on October 13, 2026 through a commercial VPN exit in Chicago. They are reported separately and are not part of the 78-site table.
  6. llms.txt: a 200 response counts as a file when it isn’t an HTML page. Files starting with User-agent were counted separately.

Every site and every response code is in the data file, and the collection scripts are in the method folder on GitHub.

Limitations

FAQ

Do law firm websites block AI crawlers like GPTBot and ClaudeBot?

Few do it in robots.txt, and more do it at the server. In a Copy for Originals study of 100 Chicago personal injury law firm websites on October 13 and 14, 2026, 3 disallowed at least one AI crawler in robots.txt. Of the 78 sites that could be tested at the server, 13 refused a request carrying the name GPTBot, ClaudeBot or PerplexityBot in all five runs: 10 refused ClaudeBot, 8 refused GPTBot and 2 refused PerplexityBot.

Do websites that refuse AI crawlers also refuse Googlebot?

Mostly not. In the Copy for Originals study, 11 of the 13 law firm websites that refused a request carrying an AI crawler’s name served the same request every time when it carried Googlebot’s or Bingbot’s name. Across all 78 sites tested, 2 refused Googlebot’s name and 4 refused Bingbot’s name.

Can a website block AI crawlers without saying so in robots.txt?

Yes. A firewall, a hosting company or a security plugin can refuse a crawler before the website itself answers, and robots.txt does not change. In the Copy for Originals study, 12 of the 13 law firm websites that refused a request carrying an AI crawler’s name had no robots.txt rule against that crawler, and 2 of them named the refused crawler in robots.txt without disallowing it.

How many law firm websites have an llms.txt file?

42 of 92, or 46%, in the Copy for Originals study of Chicago personal injury law firm websites on October 13 and 14, 2026. Another 8 of the 92 answered the llms.txt address with a file written in robots.txt syntax, which the llms.txt proposal does not define, and 42 had no file. Of the 42 files, 12 said they were generated by Yoast SEO.

Sources

All read on October 13, 2026.

How to cite: Copy for Originals, “Do law firm websites block AI crawlers?,” version 2, October 14, 2026, https://tools.copyfororiginals.com/law-firm-websites-ai-crawlers-study/. Data licensed CC BY 4.0.

Change log: version 1, October 13, 2026, used three runs and no control names and reported 15 of 78 sites refusing an AI crawler’s name. Version 2, October 14, 2026, reran the server test with five spaced runs from one connection, added Googlebot and Bingbot as control names, added three runs from a Chicago address as a second location, and read 13 robots.txt files by a second route in place of older archive copies. Version 1’s data is kept as pilot-three-runs.csv.