Cron + live mode
Cache warming can be tied to a cron job (overnight, early morning) - or triggered live after a theme deploy.
No first visitor has to wait - scheduled warming of all caches, multi-shop and customer-group aware.
Instead of hoping the first real visitor will fill the cache, we do it beforehand - scheduled, complete, with the right customer groups.
Cache warming can be tied to a cron job (overnight, early morning) - or triggered live after a theme deploy.
Product detail pages, listings, CMS pages, category pages - for every active storefront language and sales channel.
Each customer group gets its own cache run. B2B prices, net displays, restricted assortments - all kept warm correctly.
Multiple shops? No problem - cache warmer processes them sequentially and spares the server from parallel load.
Instead of a new connection per page, HTTP/2 with connection pooling is used - significantly faster at scale.
If the target server cannot do HTTP/2 or has connection issues - automatic fallback to HTTP/1.1.
admin.cache-warmer.de shows what is going on right now. Plus searchable history of the last 30 days per shop.
admin.cache-warmer.de provides a live dashboard showing in real time which shop is being warmed, how many pages are through, how much time remains. Including history of the last runs per shop.
Real-time display of currently processed pages per second - directly comparable to the trend of past runs.
For every shop and customer group, the success rate is tracked - error pages are flagged in the history.
All runs of the past 30 days are searchable in the dashboard - including duration, errors and affected URLs.
Per-shop email reports after every run - or Slack webhook. Threshold alerts dampen the noise.
After every run, a mail report goes to the configured addresses - including duration, error pages and performance trend.
Mail delivery via PHP sendmail - no SMTP setup, no external services, no vendor lock-in.
If a page returns an error (404, 500, timeout) - the report shows the exact URL, status and response time.
In the mail the average response time is compared with the last run - regressions are immediately visible.
Optional: only send mail when the success rate drops below X % - no daily "all OK" mails.
Instead of mail (or in addition): Slack webhook for the whole team - same content, directly in the channel.
Status of the current Cache Warmer setup at admin.cache-warmer.de.
Instead of large frameworks: lean Node worker, SQLite for state, PM2 for stability.
Node worker per shop, shared queue via SQLite. better-sqlite3 replaces the earlier sql.js which ran into WASM memory crashes. PM2 secures auto-restart on crashes.
Runs on Creoline server s23409 on port 3010, reachable at admin.cache-warmer.de. nodenv for Node version pinning, installable without root access.
Full service description, documentation and booking form at:
shopware-cachewarmer.de →
It requests the pages of your shop on a schedule before real visitors arrive. Product pages, listings and CMS pages are already cached, so the first visitor does not wait for a freshly rendered page.
Runs are tied to a cron job, for example at night or early in the morning. A run also makes sense after clearing the cache, after a deployment or after a larger import.
Yes. Each customer group gets its own run, so B2B prices are cached too. Multiple shops are processed one after another through a shared queue.
After every run an email report lists the pages that returned an error such as 404, 500 or a timeout. Optionally the report goes to a Slack webhook, or is only sent when the success rate drops below a threshold.
The cache warmer is a service with its own product page at shopware-cachewarmer.de, including prices and configuration options. For the setup you can contact us directly.
Full service description with pricing, configuration options and booking form on the product page. On request we handle the complete setup - including customer-group mapping, mail configuration and integration with your monitoring.