Warming 90+ edge locations right now

Your cache is cold.
Your visitors pay for it.

CDNs cache per edge location: a visitor from Tokyo doesn't benefit from a cache filled in Frankfurt. warmup.rocks requests your pages from every corner of the world, so every first visitor gets the same instant response as your millionth.

Cold cache · first visitor
3.2s
Origin render + database + full round trip
Warm cache · every visitor
0ms
Served straight from the nearest edge
Global warming network

One request per edge location.
Not one request total.

Most cache warmers hit your site from a single server, which warms exactly one edge location out of hundreds. Our requests travel through proxies in 42 countries on 6 continents, so the cache is warm where your visitors actually are. Works with any CDN that caches at the edge:

Cloudflare Fastly Akamai CloudFront bunny.net CDN77
Warming request CDN edge location
Measured live from one warming pass
39 Cloudflare colos 28 Fastly PoPs 29 CloudFront PoPs 90+ edge locations
Plus: tiered caching means every pass also fills the upper-tier data centers, so even locations we never hit directly skip your origin.
Why caches go cold

Your CDN forgets. Constantly.

🌍

Caches are per-location

Cloudflare runs 300+ data centers, Fastly and Akamai hundreds more, and each keeps its own cache. A page cached in Paris is still ice cold in Sydney, São Paulo and Singapore.

TTLs expire quietly

Cache entries get evicted after their TTL, or earlier when they're not requested often. Low-traffic pages are almost always served cold.

🚀

Deploys purge everything

Every deploy or purge resets your edge cache worldwide. Until real visitors slowly refill it, everyone gets the slow origin experience.

1

Point us at your sitemap

Paste your sitemap URL; nested sitemap indexes are resolved automatically. New pages are discovered on every run. No plugin, no code, no snippet.

2

We warm every data center

Each URL is requested through geo-distributed proxies in 42 countries and lands in CDN edge locations across six continents. On a schedule you control.

3

Watch your hit ratio climb

The dashboard tracks cache status, hit ratio, response times and colo coverage for every run, so you can prove the speedup instead of just feeling it.

0
CDN edge PoPs warmed
0
countries, 6 continents
0
hit ratio after warm-up
0
faster than a cold hit
Everything included

Built for people who care about TTFB.

Sitemap auto-discovery

Drop in one sitemap URL. We crawl sitemap indexes recursively, pick up new pages automatically and stop warming pages you remove. Your warming list is never stale.

$

Cache-status analytics

HIT, MISS, EXPIRED: per URL, per colo, per run. See exactly where your cache is warm and where it needs work.

FRA
LHR
NRT
SYD
LAX
GRU

WAF-friendly warm headers

Send a custom secret header with every warming request, so your bot protection lets us through, and only us.

x-warm-secret: ••••••••

Schedules & manual runs

Warm every hour, every 6 hours, or right after a deploy. Trigger runs manually from the dashboard when you need them.

Every CDN, auto-detected

Cloudflare, Fastly, Akamai, CloudFront, bunny.net: we recognize the CDN from its response headers and report hit ratio and edge location per provider. Nothing to install.

Why it matters: Core Web Vitals

TTFB is the floor under every other metric: LCP can't be fast if the first byte is slow. Warming your long-tail pages is the cheapest CWV win there is, because you don't touch your code or redesign anything; the cache is simply always ready.

TTFB ↓ LCP ↓ SEO ↑ Conversion ↑
Pricing

Pick your altitude.

Every plan starts with a 7-day free trial: full features, nothing charged until the trial ends, cancel anytime. All plans warm 90+ edge locations across every supported CDN.

Founding member

40% off forever for the first 100 customers. Use code FOUNDING at checkout and the founding price sticks for the lifetime of your subscription, plan changes included: Pebble $9, Boulder $23.40, Summit $59.40 a month. When 100 spots are gone, the code simply stops working.

Pebble

For a single site that needs to be fast everywhere.
$15/mo
  • 1 project
  • 100 pages per run
  • Warm every 3 hours
  • 50 GB warming traffic / month
  • Email support
Start free trial

Summit

For heavy traffic, large catalogs and many properties.
$99/mo
  • 15 projects
  • 1,000 pages per run
  • Warm every hour
  • 400 GB warming traffic / month
  • Mobile cache variant warming
  • Priority support & onboarding
Start free trial

Prices in USD, excl. VAT. Payments handled securely by Stripe. Upgrade instantly, downgrade at the end of any cycle, cancel anytime. Need more? Talk to us.

FAQ

Questions, answered.

How does the founding member discount work?

The first 100 customers get 40% off, forever. Enter the code FOUNDING on the checkout page and the discount applies to every future invoice, plan changes included. The code is limited to 100 redemptions and deactivates itself once the spots are gone.

How is this different from a WordPress cache-preload plugin?

Preload plugins fill the cache on your server: the page cache, object cache or OPcache. That helps, but your CDN edge cache stays cold everywhere except where a request happens to originate. warmup.rocks warms the CDN layer itself, from many geographic locations, so the copy closest to each visitor is the one that's warm.

Does this work with Cloudflare Workers Cache?

Yes, and that's where it shines. Workers Cache (like the classic CDN cache) is per-colo, and it can't be filled from a single warming server. Because our requests genuinely enter Cloudflare's network in different regions, each one warms the colo it lands in.

What about the edge locations you don't hit directly?

They get faster too. CDNs like Cloudflare use tiered caching: a cache miss at a small edge location is fetched through a larger upper-tier data center, which caches the response as well. Our warming passes fill those upper tiers, so when a visitor lands on a location we never touched, the request is served by a warm upper tier instead of traveling all the way to your origin.

Where do the warming requests come from?

From dedicated datacenter proxies in 42 countries on 6 continents. Each request enters the CDN network in a different region and warms the edge location it lands in:

EuropeAmsterdam · Athens · Bratislava · Brussels · Budapest · Copenhagen · Dublin · Frankfurt · Helsinki · Istanbul · Kyiv · Leeds · Lisbon · Ljubljana · Madrid · Milan · Nicosia · Oslo · Paris · Prague · Riga · Romania · Stockholm · Tallinn · Tirana · Vienna · Vilnius · Warsaw · Zagreb · Zurich
North & Central AmericaLos Angeles · Mexico City · Montreal · Salt Lake City area · San José (CR) · Toronto
South AmericaBuenos Aires · Santiago · São Paulo
AsiaBangkok · Singapore · Tokyo
OceaniaMelbourne · Sydney
AfricaCairo

Thanks to anycast routing and tiered caching, those entry points fan out into 90+ distinct CDN edge locations per warming pass.

Which CDNs are supported?

Any CDN that caches at the edge. We auto-detect Cloudflare, Fastly, Amazon CloudFront, Akamai, bunny.net and CDN77 from their response headers and report hit ratio and edge location per provider. You don't need to configure anything.

Will warming requests mess up my analytics?

Warming requests come with an identifiable user agent and can carry a custom header, so you can filter them in your analytics or WAF rules. Server-side analytics can exclude them by header; client-side analytics never sees them at all, since no JavaScript is executed.

How much load does this put on my origin?

Requests are paced and rate-limited, and once the cache is warm most requests are served by the edge and never reach your origin at all. A typical warming run touches your origin roughly once per URL, then the edge takes over.

What do I need to install?

Nothing. The warmer works without touching your code or your DNS. If your pages are publicly reachable and send cache headers, you're ready. Add your sitemap in the dashboard and start the first run.

Stop serving cold pages.

Your next visitor deserves a warm cache, wherever they are.

Start your 7-day free trial

From the blog

All posts →