Opening the page…

Sulayman Bowles
Back to writing

Crawler policy

Which crawlers support crawl-delay?

Crawl-delay is an extension some providers honor. Your server still owns the amount of work it accepts.

Monochrome generative point study “Hollow Crown,” a mathematical form rendered in black and white.

Crawl-delay in robots.txt is provider-specific, not a universal REP control. Google does not support it; Bing documents support; Anthropic supports it as a non-standard extension; Yandex stopped honoring it in 2018. Use a provider’s current policy and actual request evidence before treating the line as a rate limit.

The table separates those implementations. The downloadable example then runs a small server and a synthetic client entirely on your own machine, so you can see the difference between publishing a delay and a client actually waiting.

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.

The same line produces different expectations

RFC 9309 permits extra records without making them part of its standard rule set. A crawler can therefore implement Allow and Disallow correctly while ignoring Crawl-delay. Check the product token that actually reaches your host; a policy for one provider does not establish another provider’s behavior.

Provider documentation checked October 26, 2026. Support is a documented expectation, not a measured compliance result for this website.
Provider / crawlerCrawl-delay supportPractical choice
GooglebotNot supported by Google’s robots parser.Investigate crawl traps and load. Use documented temporary capacity responses when necessary.
BingbotSupported. Bing describes a one-URL-per-window interpretation.Use an explicit Bingbot group; the delay takes precedence over Bing Webmaster Crawl Control.
Anthropic botsSupports the non-standard extension; the official example targets ClaudeBot.Use the intended token. Do not infer an exact scheduling algorithm beyond the provider’s promise.
YandexIgnored since February 22, 2018.Use the site crawl-rate setting in Yandex Webmaster instead.

Keep the provider group’s restrictions complete

Bing’s current help and Crawl Control documentation describe support and precedence. Its older window explanation is useful for the semantics: one URL per time window is not necessarily an exact minimum gap between every pair of requests.

Anthropic’s current bot documentation gives a ClaudeBot delay example. Yandex’s notice explicitly retires the directive. Google lists Crawl-delay among unsupported fields. Those differences are why a copied all-bots delay can leave the traffic you care about unchanged.

In this authored configuration, repeat /drafts/ in each named group. Specific groups do not simply inherit the wildcard block. The hub’s group-selection example explains that boundary.

Illustrative provider-specific policy

The seconds are example operating choices, not recommended settings for every site. This policy is not deployed on the author’s website.

User-agent: *
Disallow: /drafts/

User-agent: Bingbot
Disallow: /drafts/
Crawl-delay: 5

User-agent: ClaudeBot
Disallow: /drafts/
Crawl-delay: 1

Reproduce pacing on a host you control

Download the local-host pacing example, extract it, and run node run.mjs with Node 22 or later. It binds only to 127.0.0.1 on an automatically assigned port. It starts a temporary policy endpoint, reads its Crawl-delay: 1, makes three paced page requests and three unpaced requests, prints the observed arrival gaps, then closes the server.

The paced synthetic client deliberately waits at least the configured delay after each completed response. The unpaced client performs the same fetches without that wait. Both use DelayFixtureBot, not a real provider’s identity. The server applies no throttle, so the unpaced requests can arrive close together even though robots.txt asks for spacing.

This demonstrates an observable client/server boundary on an owned loopback host. It does not test Bingbot, ClaudeBot or production crawl traffic. The strict spacing chosen for this client is not an emulation of Bing’s window algorithm.

Run one finite local demonstration

No packages, external requests or persistent process. The printed milliseconds are measured on your machine.

unzip robots-crawl-delay-example.zip -d robots-crawl-delay-example
cd robots-crawl-delay-example
node run.mjs

Measure work at the layer that can limit it

For your actual site, first attribute the caller using provider verification methods, then compare request start times, status codes, concurrent requests and origin work. A synthetic User-Agent request checks your routing; it does not establish that a provider violated its published policy.

If the origin needs a hard ceiling, enforce rate, concurrency, quota and cache rules there or at the acting edge. Keep the policy endpoint available so cooperative clients can retrieve its preferences. A robots-file 403 or a permanently broken endpoint is not a reliable substitute for those controls.

For Google, current crawl-rate guidance describes temporary 500, 503 or 429 responses, optional Retry-After with 503/429, and possible Search impact if errors persist. Use that mechanism deliberately rather than assuming Crawl-delay works. If requests changed after a policy outage, inspect robots fetch errors and cached policies before attributing the change to pacing.

Keep crawl-frontier scheduling and durable retries separate from the selected path’s permission result.

Sources

  1. Google: supported robots.txt fields

    Verified Oct 26, 2026

    Crawl-delay is unsupported.

  2. Bing: report an issue with Bingbot

    Verified Oct 26, 2026

    Crawl-delay support and time-window interpretation.

  3. Bing: Crawl Control

    Verified Oct 26, 2026

    Robots delay takes precedence over the console setting.

  4. Bing: window-based pacing explanation

    Verified Oct 26, 2026

    Historical 2012 explanation; current support checked in the help pages.

  5. Anthropic: bots and site-owner controls

    Verified Oct 26, 2026

    Current ClaudeBot delay example and support for the extension.

  6. Yandex: Crawl-delay retirement notice

    Verified Oct 26, 2026

    Directive ignored since February 22, 2018.

  7. Google: reducing crawl rate

    Verified Oct 26, 2026

    Capacity responses, Retry-After and prolonged-error consequences.

  8. RFC 9309: other records

    Verified Oct 26, 2026

    Extensions can be interpreted without becoming standard REP rules.

Supporting material

Read next