Crawler policy
Robots.txt errors and cached rules
A missing file and an unreachable file are different states. A fresh browser response may still differ from the policy a crawler has cached.

A robots.txt 404 is not a site-wide crawl ban. RFC 9309 permits crawling when the policy is unavailable; Google treats ordinary 4xx responses, including 401 and 403, as no robots restrictions. Google excludes 429 from that ordinary-4xx treatment. Server or network failures require a different retry and cache diagnosis.
This guide follows the policy response through an outage and recovery. The hub’s missing-file passage gives the initial distinction; the additional question here is which policy version the crawler may still be using.
Method & limits
Provider documentation checked October 26, 2026. The response designs and local-host demonstration are authored examples, not measured behavior by a search engine or AI provider.
Classify the robots fetch before changing a rule
Every status in this table belongs to GET /robots.txt, not to an article or a private download. A 403 on the policy file does not protect a different URL. Inspect the serving hostname and the redirect destination before deciding what failed.
| Robots response | RFC 9309 baseline | Google behavior / diagnostic action |
|---|---|---|
| 200 with a policy | Follow parseable rules. | Confirm the returned body is the intended policy rather than a login or challenge page. |
| Redirect | Follow at least five hops as recommended; a policy reached within five applies to the original authority. | Google follows at least five; a redirect failure is treated as 404. Capture the full chain. |
| 404 / 410 / 401 / 403 | Unavailable: the crawler may access resources. | Ordinary 4xx except 429 mean no robots restrictions. A denied policy is not a crawl-rate setting. |
| 429 | The RFC’s general 4xx permission does not define a provider retry schedule. | Excluded from Google’s ordinary-4xx rule. Inspect throttling and retry responses rather than assuming unrestricted crawling. |
| 5xx / DNS / timeout | Unreachable: assume complete disallow; cached and prolonged-failure provisions apply. | Use Google’s documented pause and last-good-policy sequence below. |
| Old cached policy | Caching is permitted; normally avoid using it beyond 24 hours unless unreachable. | Fresh delivery does not prove the crawler has refreshed its copy; inspect cache age and last fetch. |
Follow Google’s documented failure sequence
Google’s robots status and cache specification describes an initial 12-hour crawl pause after a server-side policy fetch failure. It keeps retrying the policy. In the following 30-day period it can use the last good version; without one it assumes no restrictions.
After that prolonged failure, general site availability affects the next step: an otherwise available site can be treated as having no robots file, while broader availability trouble can keep crawling stopped. This is Google’s documented behavior, not a retry algorithm prescribed for every REP client.
The important operational difference is the version: an outage can preserve yesterday’s restrictions after you edited today’s file. Saving the current policy on your laptop does not show that Google retrieved it.
The last good copy can outlive the outage.
- 01
First 12 hours
Pause site crawling while retrying /robots.txt.
- 02
Following 30 days
Use the last good policy while retrying. Without a cached copy, assume no restrictions.
- 03
Prolonged failure
The next choice depends on whether the rest of the site is generally available.
One edit, two copies
Consider this illustrative release: version A disallows /drafts/. At 09:00 you deploy version B with an exception for /drafts/public-guide. At 09:10 an edge configuration starts returning 503 for /robots.txt. A crawler that retained A can continue making decisions from A under its failure policy; a browser that sees B after recovery observes a different time and copy.
Capture the policy body with its retrieval time, final URL, Cache-Control, Age, ETag and Last-Modified when those headers exist. Those headers help explain delivery through caches; their presence alone does not prove what a particular crawler stored. RFC 9111 defines HTTP caching, while REP and the provider govern the policy’s use.
Google normally caches robots.txt for up to 24 hours, can adjust lifetime using max-age, and can retain it longer when refresh is impossible. Do not convert 24 hours into a guaranteed propagation deadline.
Replace example.com with a host you operate. Preserve both the returned headers and body; do not treat curl’s output as Google’s cached copy.
curl --silent --show-error --location --max-redirs 10 \
--dump-header robots.headers \
--output robots.body \
--write-out "status=%{http_code} final=%{url_effective}\n" \
https://example.com/robots.txtRecover the policy endpoint, then inspect the page
Restore a stable plain-text policy response at /robots.txt, remove unintended challenge or redirect loops, and confirm the required rules survived generation and edge caching. Test representative paths against the exact returned body. The wildcard fixture covers matching separately from retrieval.
Then inspect the affected page. Its own noindex header, canonical, status and content may explain an indexing problem after the policy fetch recovers. Use provider tools and verified server records for a later fetch observation; do not repeatedly change policy merely because a report still shows an older crawl.
If the actual problem is origin overload, use deliberate capacity controls. Google’s crawl-rate guidance describes temporary error responses and their Search consequences; breaking /robots.txt is an imprecise way to manage expensive requests. The crawl-delay support guide compares the available cooperation mechanisms.
Use the crawler directive response chooser when the policy endpoint works but the page’s own indexing response still needs a decision.
Sources
- RFC 9309: access results and caching
Verified Oct 26, 2026
Sections 2.3.1 and 2.4 distinguish unavailable, unreachable, redirects and cached policies.
- Google: robots.txt status and cache handling
Verified Oct 26, 2026
Provider-specific failure sequence, 429 exception and cache lifetime.
- RFC 9111: HTTP caching
Verified Oct 26, 2026
HTTP cache metadata; not a measurement of a particular crawler cache.
- Google: reducing crawl rate
Verified Oct 26, 2026
Temporary capacity responses and consequences of prolonged errors.