The warm blog

Deep dives on CDN caching, hit ratios, TTFB and everything that makes the web feel instant.

Warm CDN caches and SEO: Googlebot crawls from where your users aren't

Warm CDN caches and SEO: Googlebot crawls from where your users aren't

Googlebot and AI crawlers fetch mostly from US IPs. Why Search Console's average response time is really a cold-cache metric — and how a warm US edge raises your crawl capacity.

Cloudflare full-page caching for WordPress & WooCommerce: the complete setup

Cloudflare full-page caching for WordPress & WooCommerce: the complete setup

The complete Cache Rules setup: exact bypass expressions, why rule order works backwards from what most guides say, Edge vs. Browser TTL, and APO vs. Cache Rules.

How to view the cached version of any website in 2026

How to view the cached version of any website in 2026

Google Cache is gone. The tools that still work: Wayback Machine and archive.today for snapshots — and cache headers or a multi-location checker for the live CDN copy.

DIY cache warming script vs. managed service: an honest build-or-buy guide

DIY cache warming script vs. managed service: an honest build-or-buy guide

A cache warming script is twenty lines of bash — here it is. When it is enough, where it quietly stops working, and three questions to decide build vs. buy.

CDN cache misses, measured: 408,000 requests across 47 Cloudflare colos

CDN cache misses, measured: 408,000 requests across 47 Cloudflare colos

A cache miss is 3.5× slower than a hit at the median (878 ms vs 253 ms) — and miss rates vary from 0.0% to 9.4% between colos. Real data, full methodology.

WordPress cache warming: preload your page cache and your CDN

WordPress cache warming: preload your page cache and your CDN

WordPress has two caches to warm: the page cache on your server and the CDN edge cache. How plugin preload works, what it misses, and how to keep WooCommerce fast.

Varnish cache warming: keep your hit rate up after restarts, bans and deploys

Varnish cache warming: keep your hit rate up after restarts, bans and deploys

Varnish starts empty after every restart and every ban. Sitemap crawls, grace mode, hash_always_miss — and the CDN layer Varnish can't reach.

Shopify cache warming: what you can (and can't) warm on a hosted platform

Shopify cache warming: what you can (and can't) warm on a hosted platform

Shopify runs its own CDN and cache — so is cache warming even possible? What Shopify caches, where cold starts still happen, and when warming helps.

Magento 2 cache warming: Varnish, Full Page Cache and the CDN edge

Magento 2 cache warming: Varnish, Full Page Cache and the CDN edge

How to warm Magento 2's Full Page Cache and Varnish after cache flushes, deploys and reindexing — and why the CDN edge cache needs its own warming strategy.

Fastly cache warming: instant purge deserves instant re-warm

Fastly cache warming: instant purge deserves instant re-warm

Fastly purges globally in ~150 ms — and leaves every POP cold. How per-POP caching, shielding and soft purge interact with warming.

CloudFront cache warming: 600+ POPs, regional edge caches, and how to fill them

CloudFront cache warming: 600+ POPs, regional edge caches, and how to fill them

CloudFront caches per edge location, with regional edge caches as a second layer. What invalidations cost, what Origin Shield does, and how to warm it.

The Cloudflare Workers Cache API is per-colo — the lesson that became warmup.rocks

The Cloudflare Workers Cache API is per-colo — the lesson that became warmup.rocks

Running a real Astro + EmDash site on Workers taught us: the Cache API is colo-local, ignores SWR, and every deploy starts cold. What we measured — and built.

cf-cache-status explained: every Cloudflare cache status and how to fix it

cf-cache-status explained: every Cloudflare cache status and how to fix it

What HIT, MISS, DYNAMIC, BYPASS, EXPIRED, STALE, REVALIDATED and UPDATING mean, why your HTML shows DYNAMIC, and how to turn every status into a HIT.

Cache Warmer alternative: warmup.rocks vs. single-location cache warmers

Cache Warmer alternative: warmup.rocks vs. single-location cache warmers

Single-location crawlers warm one edge location out of hundreds. How warmup.rocks differs — 90+ locations, per-colo reporting, any CDN.

bunny.net cache warming: Perma-Cache, per-PoP caches and keeping both hot

bunny.net cache warming: Perma-Cache, per-PoP caches and keeping both hot

bunny.net caches per PoP, and Perma-Cache adds a persistent storage layer. How each layer behaves — and how to warm them.

Astro cache warming: prerendered, on-demand, and the Cloudflare Workers edge

Astro cache warming: prerendered, on-demand, and the Cloudflare Workers edge

Astro caches in three layers: prerendered pages, SSR routes with route caching, and the per-colo edge. Which goes cold when — and how to keep it warm.

What is cache warming? A practical guide

What is cache warming? A practical guide

Cache warming explained: how proactively filling caches works, which caches can be warmed (CDN, page cache, object cache), and when it's worth automating.

Time to First Byte: the floor under all your Core Web Vitals

Time to First Byte: the floor under all your Core Web Vitals

What TTFB is made of, what a good Time to First Byte looks like, how it caps LCP — and why edge caching is the biggest single lever to improve it.

Cloudflare cache warming: why one server can't preload 300+ colos

Cloudflare cache warming: why one server can't preload 300+ colos

Cloudflare caches per data center. How to actually preload the Cloudflare cache — classic CDN cache, Workers Cache and Tiered Cache — from every region.

Cache hit ratio: how to measure it and how to raise it

Cache hit ratio: how to measure it and how to raise it

What cache hit ratio means, request vs. byte hit ratio, how to measure it per CDN — and seven concrete levers to raise yours above 90%.