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.

Plugin tags