robots.txt agent-user policy

User-triggered agents (ChatGPT-User, Claude-User, Perplexity-User) fetch a page because a person asked for it, so blocking them is usually an accident.

Standard
Established

What it checks

Some agents only visit a page when a person asks them to: someone pastes a link into ChatGPT, Claude, or Perplexity and asks about it. The extension works out which robots.txt group applies to each of ChatGPT-User, Claude-User, and Perplexity-User, and whether that group blocks the whole site.

It also tells a deliberate block apart from collateral damage. A blanket User-agent: * / Disallow: / catches these agents too, and most sites that do it did not mean to.

A site with no robots.txt blocks nobody, so it passes here. The missing file is reported by robots.txt present & valid instead, so it is not counted twice.

Results

Status When
Pass None of the three agents is blocked, or there is no robots.txt
Fail One or more of them is blocked, either by name or by a blanket wildcard rule

How to fix

Allow the user-triggered agents explicitly. Blocking them takes your site out of answers people ask for, and does nothing to keep it out of training data, which uses different crawlers.

User-agent: ChatGPT-User
User-agent: Claude-User
User-agent: Perplexity-User
Allow: /

If your * group disallows everything, a named group like this one overrides it for these agents.

To control training use, write rules for the training crawlers instead. See AI bot rules in robots.txt.