Does naming a crawler in robots.txt override User-agent: *?

Written 14 October 2026.

Yes. A crawler follows the group that names it and ignores the User-agent: * group. So a site-wide Disallow: / stops applying to any crawler you give a group of its own.

That’s the robots.txt standard, RFC 9309: a crawler uses the group that matches its token, and falls back to * only when nothing matches.

What I measured

On 2 October 2026 the Sun’s robots.txt disallowed the whole site in its * group. It then gave OpenAI’s three crawlers groups of their own, with path-level rules only. Result: GPTBot, OAI-SearchBot and ChatGPT-User were not blocked. The other 12 crawlers I checked were blocked by the catch-all.

More on that file: Notes on one file: the Sun. The other nine files are in the crawler study.

The trap

This file does not block GPTBot:

User-agent: *
Disallow: /

User-agent: GPTBot
Disallow: /private/

It keeps GPTBot out of /private/ and nothing else. The Disallow: / in the * group never reaches it.

The Sun does this on purpose. If you didn’t mean to, repeat the full-site rule inside the named group:

User-agent: *
Disallow: /

User-agent: GPTBot
Disallow: /

Check yours

For every crawler your file names, read only its own group. If Disallow: / isn’t in that group, the crawler isn’t blocked, whatever the * group says. That’s also how my definition of blocked works.

What I will not claim

  • Why the Sun’s file is built this way. The file shows the rule, not the reason.
  • That every crawler follows the standard. robots.txt is a request.
  • Anything beyond one file read on 2 October 2026.

This is hack 5 on the search hacks page.