Directory / plugin
Uruz Cache Warmer
v1.2.4 · by brainrune
Keeps your cache warm by visiting the URLs in your sitemap, in both the desktop and the mobile cache bucket.
About this plugin
A page that falls out of cache is built from scratch for the next visitor. On a WooCommerce store that visitor waits seconds instead of milliseconds.
Uruz Cache Warmer reads your sitemap, builds a queue of public URLs and visits them in the background, so pages are already cached by the time somebody asks for them.
Every request goes to your own site. A URL on any other host is dropped before it is fetched, and the plugin contacts no third-party service.
The mobile bucket
LiteSpeed, and most CDNs, keep a separate cache copy for mobile devices: the response carries vary: User-Agent and the classification rules live in .htaccess or in the CDN. A warmer that sends only a desktop user agent leaves the mobile copy cold, and that is where most store traffic lands.
This plugin warms both and reports them in separate columns, so a bucket that is not being filled is visible at a glance.
What it does
- Reads a sitemap index or a plain
urlset. With no readable sitemap it walks your published content instead. - Extra URLs you list by hand are warmed on top of the sitemap.
- Six-step setup wizard: reads your sitemap on the spot and shows how long a full pass will take at the pace you pick.
- Warms a few URLs while you watch, with the cache answer for each one.
- A secret cron URL that warms one batch. Point a server cron entry at it and the warmer runs on hosting with no WP-CLI, independent of the WordPress cron queue.
- One line at the top of the dashboard says whether warming is running normally or has stopped, and what to do about it.
- A How it works tab: the steps the plugin follows, a live read of your cron setup, and the exact cron and WP-CLI lines to paste.
- Judges the cache only from the second pass onwards. The first warming request is the one that builds the page, so it always reads MISS; that is not counted and not emailed about.
- Warms the home page first, then archives, then everything else.
- Sends requests in parallel through the HTTP library WordPress already ships, with no added dependency.
- Adaptive pacing: slow answers or a loaded server shrink the next run, and a 429 or 503 is honoured for as long as Retry-After says.
- Quiet window: hours in which the warmer uses a larger batch and more parallel requests.
- Detects the cache header (LiteSpeed, Cloudflare, Nginx, Varnish, CloudFront, Kinsta, SiteGround, Sucuri, 20i) and reduces it to hit, miss, bypass or no cache.
- Warms a page the moment it is published or updated, instead of waiting for its turn.
- Emails you when too many warmed pages come back cold.
- Reads the cart, checkout and account pages from WooCommerce, in every language, and never warms them. Extra paths can be added by hand.
- WP-CLI:
wp brl-scw run,rebuild,warm <url>,status,reset. - Sends an identifying header and
DNT: 1, so the traffic can be filtered out of logs and server-side analytics.
No paid tier
Every feature listed above is in this plugin. There is no URL limit, no locked screen and no upsell.