WP Rocket, LiteSpeed and W3TC preload your server's page cache. Great, keep them. But if your CDN caches HTML, there's a second cache in 300+ locations worldwide that no plugin can fill. That one is ours.
Free plugin. Connect it with a revocable Deploy Hook from your warmup.rocks project.
A WordPress page travels through two caches before it reaches a visitor. Plugins handle the first. The second empties itself constantly, in every location separately.
WP Rocket's preload, LiteSpeed's crawler and W3TC keep rendered HTML on your server so PHP and MySQL stay out of the hot path. This works, and we tell everyone to keep it. Our guide says a plugin preload is all a single-region site needs.
With Cloudflare APO, a cache-everything rule or any CDN caching HTML, every edge location keeps its own copy. Your plugin fills exactly zero of them. It runs on your server, so its requests never even leave the building.
Publish a post, update WooCommerce stock or clear the plugin cache, and most setups purge the CDN too. Until someone in each region visits each page again, your global visitors get origin-speed WordPress, TTFB and Core Web Vitals included.
Install warmup.rocks from WordPress.org, then paste the revocable Deploy Hook from your project settings. The plugin sends no post content, customer data or WordPress credentials.
Posts, pages, products, taxonomies, themes and plugin changes trigger a run after a 90-second delay. Core, Yoast and Rank Math sitemaps are detected and securely synced, so new public URLs join the next run.
Distributed requests warm public pages across 90+ edge locations. The dashboard records HIT, MISS, BYPASS and DYNAMIC by location. Client-side analytics does not count the requests because the warmer executes no JavaScript.
No. Those WordPress cache plugins warm the page cache on your origin server. warmup.rocks warms the separate CDN edge cache used by Cloudflare, CloudFront, Fastly, Akamai, bunny.net and other CDNs. Keep your page-cache plugin enabled and use both layers.
Yes. Cloudflare APO makes WordPress HTML cacheable at the edge. warmup.rocks then requests those public pages from distributed locations instead of waiting for the first visitor in each Cloudflare data center. It also reports whether Cloudflare returned HIT, MISS, EXPIRED, BYPASS or DYNAMIC.
Yes, when your CDN already excludes carts, checkout, accounts, logged-in sessions and private responses. The plugin does not weaken those rules. It warms public product and category pages, while the CDN remains responsible for deciding what may be cached.
A purge removes cached copies, while each CDN location can also expire or evict a page independently. Scheduled and publish-triggered runs request the public URLs again. Adaptive warming uses observed cache headers and HIT/MISS history to avoid blindly warming every URL on every run.
The plugin detects WordPress core sitemaps plus common Yoast SEO and Rank Math sitemap indexes on the same HTTPS site. warmup.rocks resolves nested sitemap indexes before runs, so newly published public pages can be discovered without maintaining a URL list by hand.
Client-side analytics never counts us (we don't execute JavaScript). Server-side stats can exclude the documented WarmupRocks user agent or a custom header with one filter rule (step-by-step guide).
Install the free WordPress plugin, connect your project, then check which CDN edges return a HIT.