The Crawl-Delay directive is a non-standard robots.txt parameter that instructs a compliant crawler to wait a specified number of seconds between fetching successive pages from the origin server. Unlike the official Crawl Rate Limiting setting in webmaster tools, this directive is defined directly in the robots.txt file, targeting a specific User-Agent Token to prevent server overload from aggressive bots that ignore implicit politeness windows.
Glossary
Crawl-Delay Directive

What is Crawl-Delay Directive?
An unofficial but widely supported extension to the Robots Exclusion Protocol that specifies a custom crawl rate by defining the minimum delay in seconds between successive requests from a specific crawler.
Because it is not part of the formal Robots Exclusion Protocol (REP) defined in RFC 9309, major search engines like Googlebot ignore the Crawl-Delay directive entirely, relying instead on algorithmic Crawl Budget management. However, it is actively honored by crawlers such as Bingbot, YandexBot, and various specialized archival or AI training bots, making it a critical tool for managing Crawl Rate Limiting on legacy infrastructure or protecting origin servers from third-party foundation model data collectors.
Key Characteristics of Crawl-Delay
The Crawl-Delay directive is an unofficial but widely adopted parameter that specifies the minimum time, in seconds, a crawler must wait between successive requests to the same host.
Non-Standard but Ubiquitous
Unlike the core directives defined in RFC 9309, the Crawl-Delay parameter is not part of the official Robots Exclusion Protocol standard. It originated as an extension supported by major search engines like Bing and Yandex to provide a simple server-side throttling mechanism. Because it lacks a formal specification, its interpretation varies slightly between crawler implementations, but it remains a critical tool for infrastructure teams managing legacy or resource-constrained servers.
Syntax and Placement
The directive is placed within a specific user-agent record block in the robots.txt file. The value is a positive integer or floating-point number representing seconds.
- Syntax:
Crawl-Delay: <seconds> - Example:
Crawl-Delay: 10instructs the bot to wait 10 seconds between requests. - Granularity: Some parsers accept decimal values like
0.5for sub-second delays, though integer values are safest for broad compatibility. - Scope: It applies globally to the entire host for the specified user-agent, not to specific paths.
Googlebot's Incompatibility
Googlebot explicitly ignores the Crawl-Delay directive. Google's official stance is that server-side rate limiting should be managed through the Google Search Console interface, which allows site owners to adjust the crawl rate in a more dynamic fashion. Relying on Crawl-Delay to throttle Google's crawler will have no effect. For Google, engineers must use the Crawl Rate Settings tool, which provides a visual slider to communicate preferred fetch rates.
Server Resource Protection
The primary use case for Crawl-Delay is preventing server overload on sites with limited computational resources or inefficient backend queries.
- Legacy Systems: Protects older infrastructure that cannot handle rapid, successive dynamic page renders.
- Shared Hosting: Prevents a single aggressive bot from consuming all CPU or I/O resources on a shared server, degrading performance for human users.
- Traffic Shaping: Acts as a blunt instrument to ensure crawler traffic remains a low, steady hum rather than a spike, complementing more sophisticated rate-limiting logic at the reverse proxy level.
Interaction with Crawl Budget
Crawl-Delay directly impacts a site's crawl budget—the number of URLs a bot will fetch in a given timeframe. A high delay value reduces the total number of pages a crawler can index daily.
- Trade-off: A delay of 20 seconds on a site with 86,400 seconds in a day mathematically caps the crawler to a maximum of 4,320 requests per day.
- Strategic Use: This is useful for massive sites that want to ensure deep crawling happens slowly over weeks rather than hammering the server in hours, but it risks delaying the indexing of fresh content.
Modern Alternatives
While Crawl-Delay remains useful for simple cases, modern infrastructure often relies on more dynamic mechanisms:
- HTTP 429 (Too Many Requests): A standard response code that includes a
Retry-Afterheader, allowing per-request backpressure. - Reverse Proxy Rate Limiting: Tools like Nginx or HAProxy can enforce per-IP or per-user-agent rate limits with leaky bucket algorithms.
- Google Search Console: The dedicated UI for controlling Googlebot's specific fetch rate.
- CDN Rules: Edge platforms like Cloudflare allow granular rate limiting rules based on bot scores and request paths.
Crawl-Delay vs. Crawl Rate Limiting
Comparison of the two primary methods for throttling automated crawler request frequency to manage server load and crawl budget consumption.
| Feature | Crawl-Delay Directive | Crawl Rate Limiting |
|---|---|---|
Definition | An unofficial but widely supported robots.txt parameter specifying the minimum seconds between successive requests from a crawler. | A server-side or webmaster tool configuration that throttles the maximum fetch rate a specific crawler can sustain over a defined time window. |
Configuration Location | Declared within the robots.txt file at the domain root. | Configured in webmaster tools (e.g., Google Search Console) or via server-level traffic shaping. |
Standardization Status | Non-standard; not defined in RFC 9309. Supported by Bing, Yandex, and others, but ignored by Googlebot. | Proprietary to specific search engines; Google's implementation is the most prominent example. |
Granularity | Per-crawler, applied uniformly to all URLs on the host. | Per-crawler, often adjustable as a scalar value affecting the entire domain's crawl rate. |
Enforcement Mechanism | Advisory; relies on voluntary compliance by the crawler's parser. | Enforced by the search engine's own crawl scheduling infrastructure. |
Primary Use Case | Protecting low-resource servers from being overwhelmed by rapid sequential requests from any compliant bot. | Managing the crawl budget allocated by a specific search engine to optimize indexing of high-value pages. |
Googlebot Support | ||
Bingbot Support |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Frequently Asked Questions
Essential questions and answers about the Crawl-Delay directive, its implementation, and its role in managing bot traffic to prevent server overload.
The Crawl-Delay directive is an unofficial but widely supported parameter in a robots.txt file that specifies the minimum number of seconds a compliant crawler must wait between successive requests to the same origin server. When a bot parses a robots.txt file and encounters Crawl-Delay: 10, it should pause for 10 seconds after fetching one URL before requesting the next. This mechanism is designed to prevent aggressive crawlers from overwhelming server resources, reducing bandwidth consumption and CPU load. Unlike the Crawl Rate Limiting setting in Google Search Console, which is configured externally, Crawl-Delay is a self-declared instruction within the Robots Exclusion Protocol (REP). It is particularly critical for managing AI training bots like GPTBot and CCBot, which may crawl large volumes of content for foundation model training.
Related Terms
Master the ecosystem of directives and protocols that govern crawler behavior, from server-level rules to page-level instructions.
Crawl Budget Optimization
The crawl budget is the number of URLs a bot will fetch in a session. The Crawl-Delay directive directly consumes this budget by inserting forced idle time between requests.
- Trade-off: A high delay protects server resources but reduces the number of pages indexed per day
- Calculation:
Pages Crawled = (Crawl Window Seconds) / (Fetch Time + Crawl-Delay) - Best Practice: Use a delay of 1-5 seconds for low-priority bots, and combine with Sitemap directives to ensure critical pages are discovered first
Crawl Rate Limiting vs. Crawl-Delay
While Crawl-Delay is an unofficial directive in robots.txt, Crawl Rate Limiting is a formal setting in tools like Google Search Console. The key distinction is enforcement.
- Crawl-Delay: A polite request in a text file; ignored by many bots including Googlebot
- Crawl Rate Limit: A server-side throttle enforced by the search engine's own infrastructure
- Use Case: For Googlebot, use the Search Console rate limiter; for niche AI crawlers like CCBot, the Crawl-Delay directive is often respected
RFC 9309 and Unofficial Directives
The Robots Exclusion Protocol (RFC 9309) does not define the Crawl-Delay directive. It is an unofficial extension with fragmented support.
- Origin: Introduced in 1996 to prevent server overload from early search engines
- Parsing: Compliant robots.txt parsers should ignore unrecognized directives, meaning a strict RFC 9309 bot will skip Crawl-Delay entirely
- Modern Relevance: Critical for managing AI training crawlers like GPTBot, which may respect the directive to avoid being blocked outright
Server-Side Enforcement with 429 Status
Since Crawl-Delay relies on voluntary compliance, robust architectures enforce rate limits at the server level using HTTP 429 Too Many Requests responses.
- Retry-After Header: Pair a 429 status with this header to specify a backoff interval in seconds
- Dynamic Generation: Use robots.txt dynamic generation to serve different Crawl-Delay values based on real-time server load
- Crawl Trap Integration: Bots that ignore both Crawl-Delay and 429 signals can be routed to crawl traps to waste their resources
Crawl-Delay and AI Bot Management
The Crawl-Delay directive is a frontline defense against aggressive AI crawler ingestion that can saturate origin servers.
- Target specific User-Agent tokens like
GPTBotorCCBotwith a dedicated rule group - Combine with a restrictive Disallow directive for sensitive paths and a high Crawl-Delay for allowed directories
- Monitor for User-Agent spoofing; a bot claiming to be
GPTBotthat ignores a Crawl-Delay of 10 seconds is likely a malicious actor
Log Analysis for Crawl Compliance
Validate Crawl-Delay effectiveness through crawl anomaly detection in server logs.
- Metric: Calculate the median inter-request time for a specific User-Agent; it should be >= the defined Crawl-Delay
- Alerting: Trigger an alert if a bot exceeds a threshold of requests per minute, indicating it is ignoring the directive
- Tooling: Use a robots.txt tester to verify the directive is syntactically correct and not overridden by a conflicting Allow directive

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us