Real run

AI Crawler robots.txt Audit

Sample 1 · 2026-10-29 · Grok Bot executor subagent (model family not disclosed)

Bot page

Groups found

Group User-agent lines Rules
R1 * Disallow: /search
R2 GPTBot, OAI-SearchBot Disallow: /
R3 Google-Extended Allow: /

Other line kept as is: Sitemap: https://northwind-recipes.example/sitemap.xml

Token check

Google's robots.txt guide says a user agent "can match only one rule set" (the first, most specific group that matches it). So a crawler with its own group does not also follow the * group.

Token Group used Current rules Your goal Result
OAI-SearchBot R2 (named) Disallow: / allow everything except /search Conflict
GPTBot R2 (named) Disallow: / block all Match
Google-Extended R3 (named) Allow: / block /premium/ only Conflict
CCBot R1 (falls back to *) Disallow: /search block all Conflict

Conflicts

  1. OAI-SearchBot (R2): currently 'Disallow: /', so it is blocked from the whole site. OpenAI says "OAI-SearchBot is for search" and that "Sites that are opted out of OAI-SearchBot will not be shown" in ChatGPT search results. Your goal is to show in ChatGPT search, so this conflicts. OpenAI also says "Each setting is independent of the others", so you can allow OAI-SearchBot and still block GPTBot.
  2. Google-Extended (R3): currently 'Allow: /'. Your goal is to block /premium/ only. Google describes Google-Extended as a robots.txt product token with no separate HTTP user agent, so the rule goes in a group named Google-Extended.
  3. CCBot: no group names it, so it falls back to R1 (*), which only blocks /search. Your goal is to block all. CCBot's own behavior is not confirmed in my sources; I keep the token exactly as you wrote it.

GPTBot (R2, 'Disallow: /') already matches "block all".

Counts

Item Count
Tokens checked 4
Match 1
Conflict 3
Groups in current file 3

Proposed robots.txt (held)

HELD: not published until you approve this exact file. Every existing unrelated line (the * group and the Sitemap line) is kept. GPTBot and OAI-SearchBot are split into separate groups so they can have different rules.

User-agent: *
Disallow: /search

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Disallow: /search

User-agent: Google-Extended
Disallow: /premium/

User-agent: CCBot
Disallow: /

Sitemap: https://northwind-recipes.example/sitemap.xml

Two notes: OAI-SearchBot has its own group, so it needs its own 'Disallow: /search' line to keep /search out; Google says rules are case-sensitive, so '/premium/' must match your real path's case. robots.txt states crawl preferences; it does not remove content already collected or indexed.

Questions for you

  1. Is the premium section's path exactly /premium/ (same letters and case)?
  2. Do you want other AI crawlers listed? I can only add tokens you name, and their behavior is not confirmed in my sources.

Needs your decision

  • Approve the proposed robots.txt above before it is edited or published (HELD).