Title: Uruz Cache Warmer
Author: brainrune
Published: <strong>12 d'octubre de 2026</strong>
Last modified: 12 d'octubre de 2026

---

Cerca extensions

![](https://ps.w.org/uruz-cache-warmer/assets/icon.svg?rev=3741833)

# Uruz Cache Warmer

 Per [brainrune](https://profiles.wordpress.org/brainrune/)

[Baixa](https://downloads.wordpress.org/plugin/uruz-cache-warmer.1.2.4.zip)

 * [Detalls](https://ca.wordpress.org/plugins/uruz-cache-warmer/#description)
 * [Ressenyes](https://ca.wordpress.org/plugins/uruz-cache-warmer/#reviews)
 *  [Instal·lació](https://ca.wordpress.org/plugins/uruz-cache-warmer/#installation)
 * [Desenvolupament](https://ca.wordpress.org/plugins/uruz-cache-warmer/#developers)

 [Suport](https://wordpress.org/support/plugin/uruz-cache-warmer/)

## Descripció

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.

## Captures

[⌊The dashboard: queue size, cold share, and the measured time for a full cycle.⌉⌊
The dashboard: queue size, cold share, and the measured time for a full cycle.⌉[

The dashboard: queue size, cold share, and the measured time for a full cycle.

[⌊Settings: pace, the quiet window, and the mobile bucket.⌉⌊Settings: pace, the 
quiet window, and the mobile bucket.⌉[

Settings: pace, the quiet window, and the mobile bucket.

[⌊Recently warmed URLs, with the desktop and mobile bucket in separate columns.⌉⌊
Recently warmed URLs, with the desktop and mobile bucket in separate columns.⌉[

Recently warmed URLs, with the desktop and mobile bucket in separate columns.

[⌊The setup wizard turns the pace you pick into how long one full pass over the 
site takes.⌉⌊The setup wizard turns the pace you pick into how long one full pass
over the site takes.⌉[

The setup wizard turns the pace you pick into how long one full pass over the site
takes.

[⌊How it works: the steps the warmer follows, a live read of this site's cron setup,
and the WP-CLI commands.⌉⌊How it works: the steps the warmer follows, a live read
of this site's cron setup, and the WP-CLI commands.⌉[

How it works: the steps the warmer follows, a live read of this site’s cron setup,
and the WP-CLI commands.

## Instal·lació

 1. Upload the plugin folder to `wp-content/plugins/`, or install the ZIP from Plugins
    > Add New.
 2. Activate it.
 3. The setup wizard opens: it reads your sitemap, you pick a pace, and the last step
    turns the worker on.
 4. For hosting where WP-Cron is unreliable, add the cron entry shown under Settings
    > Running the worker.

## PMF

### Does it hammer my server?

No. A small batch per run, a delay between requests, a 45-second ceiling per run,
and adaptive pacing that backs off when the site slows down or the machine is under
load. All of these are settings.

### Why are URLs never warmed on my low-traffic site?

WP-Cron only fires when somebody visits, which a quiet site rarely has at night.
Add a real cron entry at your host calling `wp brl-scw run`, or hitting `wp-cron.
php`.

### Should I turn on the mobile pass?

Yes, if your cache serves separate mobile copies, which LiteSpeed and most CDNs 
do. It doubles the requests per cycle, and the first cycle after you enable it is
slow, because every mobile page is built from scratch.

### The admin page hangs when I press «Run one batch now»

Your site is serving one PHP request at a time. The warm requests queue up behind
the admin request that started them, and neither can finish. It shows up on dev 
servers and on a php-fpm pool sized to a single worker.

Let the background worker do the warming instead, or raise the number of PHP workers.
On normal hosting this does not happen.

### What counts as «cold»?

Only a real MISS. Bypass and no-cache are decisions your stack made on purpose, 
and unknown means no cache header could be read, so neither counts as cold.

### Is the cron URL safe to leave on the site?

It runs one batch and nothing else, and only when the request carries the random
key generated on your site. A wrong key gets a 403, and you can replace the key 
from Settings at any time. A cron entry cannot send a login or a nonce, so the key
is the credential.

### Can I use it with Cloudflare HTML caching?

Yes, and the plugin reads `cf-cache-status`. If you also run LiteSpeed, keep one
purge strategy rather than two.

## Ressenyes

No hi ha ressenyes per a aquesta extensió.

## Col·laboradors i desenvolupadors

«Uruz Cache Warmer» és programari de codi obert. La següent gent ha col·laborat 
en aquesta extensió.

Col·laboradors

 *   [ brainrune ](https://profiles.wordpress.org/brainrune/)

[Traduïu «Uruz Cache Warmer» a la vostra llengua.](https://translate.wordpress.org/projects/wp-plugins/uruz-cache-warmer)

### Interessats en el desenvolupament?

[Navegueu pel codi](https://plugins.trac.wordpress.org/browser/uruz-cache-warmer/),
baixeu-vos el [repositori SVN](https://plugins.svn.wordpress.org/uruz-cache-warmer/),
o subscriviu-vos al [registre de desenvolupament](https://plugins.trac.wordpress.org/log/uruz-cache-warmer/)
per [fisl de subscripció RSS](https://plugins.trac.wordpress.org/log/uruz-cache-warmer/?limit=100&mode=stop_on_copy&format=rss).

## Registre de canvis

#### 1.2.4

 * Renamed to Uruz Cache Warmer, slug `uruz-cache-warmer`.

#### 1.2.3

 * The admin page moved to `admin.php?page=brl-scw-cache-warmer`, and the WP-CLI
   command is now `wp brl-scw`. The old command name still works.
 * The Events log keeps its columns: a long context folds to one line and opens 
   to the full JSON on click.
 * Database queries name the queue table through a placeholder instead of building
   it into the SQL.
 * Uninstall also removes the canary timestamp and the setup wizard’s cached sitemap
   count.
 * The warmer’s user agent carries the plugin’s real version.
 * Recently warmed shows the path instead of the full address, so the desktop and
   mobile columns stay on screen on a laptop.
 * No more sideways scrollbar under the admin screens.
 * Setup lays the pace and quiet-window fields out side by side, and the Back button
   is readable on the dark bar.
 * Notices are plain cards with a small status dot.

#### 1.2.2

 * Purges done outside WordPress are now caught: each run checks three recently 
   warmed URLs, and only when all three come back cold is the queue reset. A single
   check fired on the partial purges a stock sync makes.

#### 1.2.0

 * Archive pagination: an optional switch warms page 2, 3… of categories, brands,
   the shop and the blog. A sitemap names only the first page of an archive, and
   on a big category the second page is visited almost as often. The page count 
   comes from the term count and the products-per-page setting; a cap (default 3)
   limits how deep it goes.

#### 1.1.0

 * Rebuilt adaptive pacing around measured request latency and exact concurrency.
 * Made large sitemap rebuilds use safe database batches.
 * Hardened same-site requests and the secret cron endpoint.
 * Split the admin renderer and stylesheet into maintainable modules.
 * Added automated tests and WordPress.org quality checks.

#### 1.0.0

 * First release.

## Meta

 *  Versió **1.2.4**
 *  Darrera actualització **fa 22 hores**
 *  Instal·lacions actives **Menys de 10**
 *  Versió del WordPress ** 6.4 o posterior **
 *  Provada fins a **7.1.3**
 *  Versió del PHP ** 7.4 o posterior **
 *  Idioma
 * [English (US)](https://wordpress.org/plugins/uruz-cache-warmer/)
 * Etiquetes
 * [cache](https://ca.wordpress.org/plugins/tags/cache/)[cache warming](https://ca.wordpress.org/plugins/tags/cache-warming/)
   [litespeed](https://ca.wordpress.org/plugins/tags/litespeed/)[performance](https://ca.wordpress.org/plugins/tags/performance/)
   [sitemap](https://ca.wordpress.org/plugins/tags/sitemap/)
 *  [Vista avançada](https://ca.wordpress.org/plugins/uruz-cache-warmer/advanced/)

## Valoracions

Encara no s'ha enviat cap ressenya.

[La vostra ressenya](https://wordpress.org/support/plugin/uruz-cache-warmer/reviews/#new-post)

[Visualitza totes les ressenyes](https://wordpress.org/support/plugin/uruz-cache-warmer/reviews/)

## Col·laboradors

 *   [ brainrune ](https://profiles.wordpress.org/brainrune/)

## Suport

Teniu quelcom a dir? Necessiteu ajuda?

 [Visualitza els fòrums de suport](https://wordpress.org/support/plugin/uruz-cache-warmer/)