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 AI crawlers work: pipeline from website to AI answer Flow diagram showing four stages: your website is checked against robots.txt rules, an AI crawler reads allowed content, the content feeds an AI model, and the model produces AI answers that can cite your site. Your Website pages + content example.com robots.txt User-agent: GPTBot Allow: / the gatekeeper AI Crawler GPTBot, ClaudeBot, PerplexityBot... reads allowed pages AI Model training + retrieval AI Answers citing your site Block the crawler at step 2 and your content never reaches the AI answer at step 4.
How AI crawlers work: from your website through robots.txt to AI-generated answers.

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.

5 Steps, in Order
1

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.

2

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.

3

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.

4

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.

5

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.

Anatomy of a robots.txt file with annotations An annotated robots.txt example. The User-agent line targets a specific bot such as GPTBot. Disallow blocks paths, Allow grants exceptions, the wildcard user-agent covers every other bot, and the Sitemap line points crawlers to your XML sitemap. # AI crawler rules User-agent: GPTBot Disallow: /private/ Allow: /blog/ User-agent: * Sitemap: /sitemap.xml Targets one bot by name Each bot reads only its own section Blocks specific paths Grants exceptions Allow overrides broader Disallow Wildcard = every other bot Helps crawlers find pages Always declare your sitemap
Anatomy of a robots.txt file: user-agent targeting, allow and disallow rules, and sitemap declaration.

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.