Robots.txt troubleshooting

Robots.txt troubleshooting: test the group, path and response

Updated . Examples are local rule tests, not crawler traffic.

Write down the crawler and exact path before changing anything. A file that appears open can still select a different group or meet a server block.

Generate a policy and test pathsCheck the live robots.txt file

1. The specific group does not inherit the wildcard restrictions

Google selects the most specific matching agent group, without combining it with *. Google’s group-selection rules explain why this draft allows Googlebot into the account path:

User-agent: *
Disallow: /account/

User-agent: Googlebot
Allow: /

For this draft, Googlebot can request both /manuals/start and /account/profile. If the account restriction is intended for Googlebot, repeat it in that group:

User-agent: *
Disallow: /account/

User-agent: Googlebot
Allow: /
Disallow: /account/

Sitemap: https://example.com/sitemap.xml

Tested result: /manuals/start remains allowed; /account/profile is blocked by the corrected draft. This is a crawl preference, not account security.

2. A longer Allow path can override a root block

User-agent: Googlebot
Disallow: /
Allow: /manuals/

Sitemap: https://example.com/sitemap.xml
Googlebot pathTested result
/manuals/startAllowed
/team/aboutBlocked
/Manuals/startBlocked: path case differs

Google uses the longest matching path; an Allow wins an equal-length conflict. Paths are case-sensitive. Source: Google rule precedence. Review exceptions against exact URLs rather than relying on an overall “blocked” label.

3. Keep Google Search and Google-Extended separate

User-agent: Googlebot
Allow: /

User-agent: Google-Extended
Disallow: /

Sitemap: https://example.com/sitemap.xml

Google-Extended controls certain Gemini training and grounding uses. It has no separate HTTP user-agent and does not control Google Search inclusion or rankings. Google’s crawler reference. This draft locally allows Googlebot at /manuals/start while blocking Google-Extended’s policy token.

For OpenAI, use the GPTBot / OAI-SearchBot / ChatGPT-User decision guide; do not apply Google’s product controls to a different provider.

4. A good draft is not proof of a working live file

  1. Fetch the exact origin’s /robots.txt. It belongs at the host root and should be served as UTF-8 plain text. A subdomain needs its own file. Google’s file-location guidance.
  2. If you receive HTML, a login screen or an unexpected status, fix the routing or CDN response before interpreting the draft. Save the URL, status and response body as separate evidence.
  3. Google generally treats robots.txt 4xx responses, except 429, as no file; 5xx or network failures can interrupt crawling. Do not use an error response as your blocking policy. Google’s status-code handling.
  4. If the file is correct but requests still fail, inspect server/CDN access rules and verified source IPs. A text checker cannot diagnose every network layer.

5. Do not use robots.txt as noindex or authentication

A disallowed public URL can still appear in Google results. Google must be able to fetch a page to read its noindex directive; use authentication for private content. Google’s limitations guide. Never put credentials or customer-specific URLs in a public crawler file.

The tests above cover exact groups and simple paths. They do not certify every robots.txt extension, CDN configuration or crawler implementation. Keep a dated policy diff and compare access logs after publishing.

Sources checked on 2 October 2026