Wednesday, November 11, 2026


Deploying a Content Delivery Network (CDN) to distribute your site's assets across fast, globally
distributed edge servers closer to users can be a major upgrade for any growing site: it lowers
visitor latency and shields your origin server (the backend source of truth holding your original
content) from heavy traffic.
[Video](https://www.youtube.com/watch?v=alGu2A97c98)

Sounds perfect, right? Well... the transition phase can be a bit weird.


We sometimes hear from site owners that right after putting their site behind a CDN, crawler
traffic to their server spikes almost immediately, which is exactly what they were trying to fix.
Before those edge servers populate their caches, both user visits and crawler requests still need
to be fetched directly from the origin.


When moving to a CDN, it's useful to review both how
[crawl budget](https://developers.google.com/crawling/docs/crawl-budget.md.txt) works and how to
[reduce Google's crawl rate](https://developers.google.com/crawling/docs/crawlers-fetchers/reduce-crawl-rate.md.txt)
in emergencies. This blog post aims to walk you through what to expect with such a move and some
of the challenges involved. It's also why we suited up (with hardhat and firehose) to walk you
through navigating the transition in
[Episode 5 of The Non-Canonical Cabinet](https://youtu.be/alGu2A97c98).
If you ever moved to a CDN and wondered about all the new traffic, or if you want to avoid
accidentally knocking your site out of Search, this is for you!

## So why is everything crawling everywhere all at once?


When you switch over to the CDN, that surge in crawler traffic may happen because of how Google's
crawling infrastructure calculates your site's
[**crawl capacity limit**](https://developers.google.com/crawling/docs/crawl-budget.md.txt#crawl-capacity-limit)
(also known as *hostload*):

- **Slower and slower responses decrease crawl rate.** Google's automated crawling infrastructure continuously monitors the health and responsiveness of your host server. When response times increase, our crawlers slow down so we don't overwhelm your server and to avoid degrading user experience on your site.
- **Fast and stable responses speed up crawling.** When a server responds quickly and consistently, our systems interpret that speed as a sign of healthy, capable infrastructure. Provided there is [crawl demand](https://developers.google.com/crawling/docs/crawl-budget.md.txt#crawl-demand), the crawl capacity limit gradually goes up.


The moment your DNS points to a fast CDN edge network, connection times and response times drop
dramatically. To our crawling systems, it looks like your server just got a massive hardware
upgrade, so our crawlers start ramping up their request rate to match.

## The problem. Cache miss on the edge servers it is.


A higher crawl rate wouldn't be an issue if the CDN absorbed all of those requests at the edge.
The catch is that **a brand-new CDN starts with an empty (cold) cache**.


On the very first request for a URL at an edge location, the CDN doesn't have a copy of that asset
(HTML documents, CSS, JavaScript, images, and so on) yet; it's a **cache miss** . To
fulfill the request, the edge server has to "walk" all the way back to your origin server, fetch
the response, store a cacheable copy for itself, and then serve the client. Only
subsequent requests for that same cached URL become **cache hits** served
directly from the edge without bothering your origin. (In our video, the edge server was
represented by a rubber chicken running back and forth to a stack of sticky notes. Networking
diagrams are subjective.)

Basically, the real bottleneck during a CDN launch is still the origin server.


Human visitors usually cluster around a relatively small set of popular pages (your homepage, top
articles, or active promotions) which warm up in the CDN cache quickly. Crawlers do the exact
opposite. Their job is to systematically explore the breadth of your URL inventory.

Now combine those two behaviors:

1. Fast edge responses signal to Google's crawlers that it's safe to crawl faster.
2. As crawlers work through those large numbers of URLs for the first time, **every uncached URL triggers a cache miss** that passes straight through to your origin server.


Crawlers don't ramp up their crawl rate immediately, and many CDNs include built-in connection
pacing that helps smooth out traffic spikes. Even so, until your edge caches are populated (warmed
up), your CDN isn't acting as a shield yet, your origin server is still doing the heavy lifting.

## You shall not crawl! When blanket bot protection goes too far


Seeing an unexpected surge of automated requests in origin logs right after a migration can
understandably make admins nervous, if it's unclear to them why this is happening. It's tempting
to look at spiking request graphs when the cache is warming up, and to try to address this by
logging into the CDN dashboard and turning on blanket bot protection. To quote Cherry,
*"BOTS SHALL NOT PASS"!*
![A mock CAPTCHA challenge asking to select all squares with traffic lights from a grid of traffic lights and rubber chickens](https://developers.google.com/static/search/blog/images/crawling-cdn-captcha.png)


The problem with **blanket** security rules is right there in the name: without
exemptions, they treat all automated traffic the same, including the traffic from crawlers that
you care about. When a CDN or Web Application Firewall (WAF) flags automated requests and
intercepts them with a challenge like
[CAPTCHA](https://wikipedia.org/wiki/CAPTCHA), Google's crawlers
fail the test. (Googlebot has many talents; spotting traffic lights and chickens is not one of
them. In fact even Gary cannot solve them sometimes.)


Leaving blanket bot protection enabled without exempting verified crawlers leaves crawlers
basically stuck on an error page that's not useful for Search, or other products relying on
crawled data. From our perspective, your website appears deliberately restricted or broken. If
left in place, our crawlers will back off, and your pages, shopping listings, and your chicken
pictures will begin to drop out of Search.

## How to train your CDN (without scorching your origin)


You don't need to employ a fire marshal to deploy a CDN; you need the right expectations, and a
game plan, such as:

1. **If you need to block bots, allow verified bots in your CDN and firewall settings.** Most major CDNs and WAFs offer a built-in toggle or managed rule to allow known / verified bots, letting your preferred crawlers bypass CAPTCHA challenges while still filtering unwanted traffic (you can identify our crawlers via [Google's published IP ranges](https://developers.google.com/crawling/docs/crawlers-fetchers/verify-google-requests.md.txt)). Or better yet, configure your robots.txt file or use rules to target specific unwanted bots rather than blocking all automated clients.
2. **Pre-warm your caches before opening the floodgates.** Before routing all traffic through the new CDN, programmatically fetch your highest-traffic, upcoming peak-traffic pages (such as promotional or seasonal launches), and most frequently crawled URLs through the CDN at a controlled pace so edge caches are ready to serve traffic. Or, if unlike Gary you actually have friends, ask them to access two distinct URLs each; that works too.
3. **Use `429` or `503` if you need a temporary brake.** If crawl volume is still putting critical load on your origin while caches warm up, configure your server or CDN rate-limiting rules to return a `429 (Too Many Requests)` or `503 (Service Unavailable)` HTTP status code for a short window (a few hours, or 1-2 days at most) as documented in our guide to [urgently reducing the Google crawl rate](https://developers.google.com/crawling/docs/crawlers-fetchers/reduce-crawl-rate.md.txt).

## TL;DR Recap (Who Puts a TL;DR at the End?!)


Before you wrap an ethernet cable around the server cabinet and call it a day, remember three
things when moving to a CDN:

- **Faster responses mean faster crawling:** Low CDN edge latency signals to Google's crawlers that your site is healthy and can handle a higher crawl rate.
- **Caches only shield you on the second visit:** On a cold cache, the first request for every unique URL is a cache miss that goes straight to your origin server. Pre-warm your caches where you can.
- **If necessary, exempt verified crawlers from bot challenges:** Don't let blanket WAF or CAPTCHA rules block Google's crawlers with `403` walls or challenge pages; use verified-bot exemptions, and lean on temporary `429` or `503` responses if your origin genuinely needs a breather.

## Are you not entertained? Watch the Episode!


Watch the
[Season 1 finale (Episode 5) of The Non-Canonical Cabinet](https://youtu.be/alGu2A97c98)!
We explain network architecture using a plastic construction hardhat, a smoking filing cabinet,
and a rubber chicken standing in as an edge server, none of which, we're fairly certain, were in
our original job descriptions.


Interested in the full Season 1? We attempted to break URLs and robots.txt. We yapped about
`404`s
and redirects.
[Watch all 5 episodes](https://youtube.com/playlist?list=PLA5nlsl_mFKE&si=aaJCF7umWKQfimh9).
We guarantee poultry overload.


Got a weird edge case you want us to pull from the (slightly toasted) cabinet next season (budget
pending)? Leave a comment on
[the video](https://youtu.be/alGu2A97c98).

Keep your caches warm, your firewalls tidy, and your rubber chickens bubble-wrapped!


Posted by [Cherry](https://developers.google.com/search/blog/authors/cherry-prommawin.md.txt),
[Gary](https://developers.google.com/search/blog/authors/gary-illyes.md.txt), empty-cache chicken, a bubble-wrapped
chicken, and an alarm blaring in the background.