Features Pricing Regions Support Blog ⚡ Free Audit Start free Log in FR
← Back to blog

The 7 Golden Rules of Cache Warming

Cache warming isn't just pointing a crawler at your sitemap. Here are the 7 golden rules for warming the right content, in the right place, at the right time, and proving it works.

The 7 Golden Rules of Cache Warming

Cache warming isn't just pointing a crawler at your sitemap every hour. Done right, cache warming keeps your TTFB on the floor for visitors and crawlers alike. Done blind, it wastes crawl budget, hammers your origin, and gives you a false sense of security.

Here are the 7 golden rules we follow at CacheBoost.

1. Warm the CDN, not just the application cache

This is the most commonly missed rule. Most warmers install on the server (a WordPress plugin, a local cron), so they only reheat the origin-side page cache. Your CDN stays cold — and the CDN is what actually serves your visitors and bots.

To warm the right CDN node, you have to send the request from the geographic location of the client or bot you're targeting:

  • French consumer market → from Paris.
  • SEO and GEO crawlers (Googlebot, GPTBot, ClaudeBot, PerplexityBot…) → from the US, where most of them originate.
  • Multiple markets → one warm-up per region.

A warm-up fired from the right PoP fills the edge cache your users will actually hit. A warm-up fired from your server fills… only your server. That's the whole difference between warming your CDN and warming your origin.

2. Make sure your pages are actually cacheable

Before optimizing when and where you warm, make sure you're not warming into a void. A page that returns any of these signals will never be cached by the CDN, no matter what you do:

  • a status other than 200 (redirects, errors);
  • a Cache-Control: no-store or private header;
  • a Set-Cookie on the response (many CDNs then refuse to cache it).

Look at the cache-status (or cf-cache-status, x-cache…) of your warmed responses. If you see DYNAMIC or BYPASS where you expected a HIT, your warm-up is running empty. This is by far the number-one cause of "my warm-up does nothing": the cache configuration, not the warmer.

3. Focus warming on the URLs that matter

Your warming budget — and your bots' crawl budget — is finite. Warming 50,000 URLs at the same frequency dilutes the effort and lets your important pages go cold between passes.

Prioritize:

  • your top products and categories (the ones that drive revenue);
  • your campaign landing pages;
  • your most-visited pages, per analytics;
  • the pages your crawlers hit most, per your crawl logs.

A prioritized sitemap.xml is a good starting point; your crawl logs and analytics are even better, because they reflect real demand.

Go easy on your origin. Prioritizing also means not firing everything at once. An overly aggressive warm-up can saturate the origin server, or even look like an attack. Cap concurrency and spread requests over time, especially on large catalogs.

4. Account for your cache variations

A single URL can have several distinct cache entries: desktop version, mobile version, bot version, store or currency context, language… If your cache segments by User-Agent, a cookie, or a header, then warming a single variant leaves all the others cold.

Configure your warmer to reproduce each variant that matters:

  • the right User-Agent (desktop, mobile, and the user-agents of the crawlers you target);
  • the cookies that determine context (selected store, currency, language);
  • the headers your Vary logic accounts for.

The goal: the cache key your warm-up generates should be exactly the one a real visitor or bot will produce.

5. Match frequency to your update cycles

The best time to warm is right after an invalidation. If a stock or price import purges your cache every night, run the warm-up right behind it, once the import finishes — not at a fixed hour "just in case." That way the first real visitor of the morning hits an already-warm cache, not the aftermath of the purge.

The same logic applies to deployments: a release that flushes the cache should trigger a warm-up behind it.

Warm faster than the TTL expires. If your pages have a 2-hour TTL and you warm every 6 hours, the cache goes cold between passes and your visitors pay the miss. The warming cadence should always be shorter than the lifetime of your cache entries.

6. Plan ahead for seasonal peaks and big moments

Predictable traffic spikes deserve a scheduled warm-up. Before a peak, your key pages should already be warm on every relevant PoP — you don't want the first buyer of the sale to eat the cold cache.

Schedule a warm-up ahead of:

  • your private sales, seasonal sales, and flash events;
  • calendar peaks (Black Friday, holiday season, back-to-school, Valentine's Day…);
  • your campaigns (email, paid search, influencer) that send a sudden surge to specific landing pages.

For flash sales and other timed operations, warm the relevant pages a few minutes before opening, not when the traffic arrives.

7. Track your warming statistics

A warm-up you don't measure is a warm-up you don't control. Two indicators read together:

  • A high miss rate on the warming side is a good sign: it shows your warmer is reaching cold pages and doing its job — paying the penalty instead of your visitors.
  • A high hit rate on real traffic (visitors and bots) is the end goal: it proves your CDN is warm when real demand arrives.

Cross-reference these numbers with your purge events and traffic peaks to confirm warming keeps pace (see how to measure your cache hit ratio).

This is exactly what our new Crawlers page does: it tracks, over time, which SEO and GEO crawlers hit your cache and whether they got a HIT or a MISS, unifying Cloudflare data (the edge's real cache status) with the WordPress plugin's. You finally see, page by page, whether your bots land on a warm cache — and therefore whether your first six rules are paying off.

In short

  1. Warm the CDN, from the right geographic location — not just the origin.
  2. Verify your pages are actually cacheable before anything else.
  3. Prioritize the URLs that matter, without saturating the origin.
  4. Reproduce cache variations (mobile/desktop/bot, context, cookies, User-Agent).
  5. Match frequency to your purges and deployments, shorter than the TTL.
  6. Plan ahead for seasonal peaks, sales, and campaigns.
  7. Measure: high miss on the warming side, high hit on real traffic.

Follow these seven rules and cache warming stops being a cron you fire and forget, and becomes a real lever for performance and visibility.

This article is also available in Français.