Your robots.txt file is the single most powerful lever you have over how crawlers, including AI bots, interact with your website. Get it right and you control your AI visibility. Get it wrong and you can disappear from AI answers overnight.
In this guide you will learn how to throttle bots that overload your server. We will keep it practical, with clear steps, visual breakdowns, and specific actions you can take today. The first step in any AI visibility project is to run a free AI crawler check on your website so you know exactly where you stand against the 196 bots we track across 8 categories.
Key Takeaways
- Crawl-Delay and Rate Limiting for Aggressive AI Bots is a practical, repeatable process, not a one-time fix.
- Most AI visibility problems trace back to access, not content.
- You can verify every change with the free AI crawler check and the robots.txt validator.
- Document your approach so the whole team applies it consistently.
How to Change robots.txt Without Breaking Anything
robots.txt failures are rarely subtle in effect and almost always subtle in appearance, so the sequence is built around proving each change before the next one.
Read the file that is actually served
Request robots.txt from the live domain rather than opening the copy in your repository or your CMS settings screen. Those three frequently disagree, and only one of them is what crawlers see.
Identify which rule matches which agent
Group rules by user-agent block and work out which block a given crawler will obey, remembering that the most specific matching block wins and that a crawler obeys exactly one. This is where most misdiagnosis happens.
Change one thing, in one block
Broad rewrites make attribution impossible when something breaks. Edit a single directive, note what you expect to change, and generate the replacement with a robots.txt builder rather than by hand.
Test the rule against real paths before publishing
Run the edited file through a robots checker with the specific URLs you care about, including at least one you intend to block and one you intend to allow. A rule that passes syntax checking can still match nothing.
Verify from outside, then record what you changed
Fetch the live file again and re-run a free AI crawler check. Then write down the change and the reason, because the next person to debug this file will otherwise be guessing at your intent.
Why crawl-delay and Rate Limiting Are Harder Than They Look
Crawl-delay looks like the obvious answer to a crawler consuming too much of your server, and it is largely ineffective. It is not part of the robots.txt specification, Google ignores it outright, and support among AI crawlers is inconsistent, so the directive most often reassures the person who added it and changes nothing.
Underneath that is a category confusion. Excessive load is a capacity problem with infrastructure solutions, while unwanted collection is a policy problem with a robots.txt solution. Using a policy directive to solve a load problem fails at the load problem and risks the policy outcome you wanted.
The Four Things That Actually Matter About crawl-delay and Rate Limiting
Crawl-delay is unsupported by the crawlers that matter most
Google ignores it and uses its own adaptive rate, Bing honours it, and support across AI crawlers varies by vendor and is not always documented. A directive with partial and unpredictable support cannot be the basis of a capacity plan. If it happens to be honoured you get an unmeasured slowdown; if not, nothing changes and you are unaware.
Rate limiting belongs at the server or CDN layer
A 429 response with a Retry-After header is a real mechanism that well-behaved crawlers act on immediately and that you can observe and tune. It applies regardless of whether a crawler reads robots.txt, it is measurable in your logs, and it degrades gracefully. This is the correct tool for load.
Blocking to reduce load costs visibility you meant to keep
The fastest way to cut crawler traffic is a Disallow, and it also removes you from the answers those crawlers feed. Because the load reduction is immediate and visible while the visibility loss is gradual and invisible, this trade looks good on the day it is made and bad a quarter later.
Diagnose which agent is actually responsible first
Aggregate crawler traffic feels large; individual well-behaved crawlers are usually modest. Log analysis frequently shows the load coming from an unidentified scraper or a spoofed user agent rather than from the named crawler being blamed. Verify the agent by reverse DNS before writing a rule aimed at a name from a header.
The crawl-delay and Rate Limiting Mistake That Costs Most
Adding Crawl-delay and considering the problem handled
The directive is one line, it reads as a reasonable request, and it produces no error. Because most of the crawlers causing concern either ignore it or are not identified correctly in the first place, load continues while the team believes a control is in place. Attention moves on, and the real cause stays unexamined.
The crawl-delay and Rate Limiting Check Worth Keeping in Your Routine
The check that matters here: Look at your access logs and attribute crawler load to verified agents, then decide whether you have a capacity problem or a policy problem. They have different fixes and neither one is Crawl-delay.
Where to Go From Here
crawl-delay and Rate Limiting is one piece of a larger picture. The AI bot directory documents every crawler we track with its operator, purpose and safety rating, and the batch checker audits many sites in one pass if you manage a portfolio.
Syntax errors in robots.txt fail silently, so validate before you publish. Use the robot checker, then confirm the result with a free AI crawler check.
Your crawl-delay and Rate Limiting Action Checklist
Five concrete steps, specific to what this guide covered. Work through them in order, changing one thing at a time so you can tell which change produced the result.
- □Back up your current robots.txt before editing, so you can revert if a rule behaves unexpectedly.
- □Apply the pattern from this guide to a copy first, then diff it against the live file.
- □Run the robot checker to confirm the syntax resolves the way you intend.
- □Check that no Disallow rule shadows a path you meant to allow, which is the most common silent failure.
- □Re-crawl after the change, because engines cache robots.txt and the effect is not instant.