Warm Up Cache
Warm Up Cache is a WordPress plugin for actively warming site caches from sitemaps, recurring cron schedules, post publish/update events, and a front-end public demo scanner. It is designed for websites that use Cloudflare, LiteSpeed Cache, or other cache layers and need a practical way to reduce cold-cache misses.
Main purpose
The plugin requests URLs before real visitors do, so cached pages are already available when traffic arrives. This improves first-visit performance, helps stabilize cache hit ratios, and gives you visibility into Cloudflare status, application cache status, response time, and Cloudflare colo location.
Why use this plugin?
- To warm pages from a sitemap manually whenever you publish or update important content.
- To run recurring warming jobs from one or more sitemaps on a schedule.
- To warm posts automatically after publishing, updating, or cache purge events.
- To test whether Cloudflare and your application cache are returning
HIT, MISS, BYPASS, or similar states.
- To inspect which Cloudflare edge location answered a request.
- To offer a controlled public-facing demo where logged-in users can run limited scans.
Core features
Manual sitemap scan
Run a live warming scan from a sitemap and watch results appear in real time.
Cron warming
Schedule recurring warming jobs for multiple sitemaps with different frequencies and device modes.
Auto Warm
Warm fresh URLs after publish/update and optionally after LiteSpeed purge detection.
Parallel scanning
Use HTTP/2 parallel requests for faster warming when the server supports it.
Cache detection
Auto-detect common WordPress cache plugins or force a specific application cache engine.
Public demo widget
Expose a front-end test interface with login, quotas, filtering, copy, and rescan controls.
How the plugin works
- The plugin reads URLs from a sitemap or from a queued list.
- It sends requests using the selected device profile and, when configured, the selected proxy/server path.
- It inspects response headers for application cache and Cloudflare cache signals.
- It stores scan results, logs, and statistics in WordPress options.
- It lets you review results live, filter them, copy filtered URLs, or rescan filtered rows.
Admin pages and settings
1) Dashboard
This tab is the overview screen. It shows total scans, total URLs, overall hit rate, average load time, total HIT count, total MISS count, and a last-14-days chart.
- Total Scans: Number of completed scan sessions.
- Total URLs: Number of warmed/tested URLs across all recorded scans.
- HIT Rate: Overall cache hit percentage based on collected results.
- Avg. Load Time: Average request time for scanned URLs.
- HIT / MISS: Quick totals for successful and non-hit outcomes.
- Last 14 Days chart: Recent trend overview for HIT and MISS activity.
2) Manual
This tab is used when you want to test or warm a sitemap immediately.
- Sitemap URL: The sitemap source to scan manually.
- Device: Choose desktop, mobile, legacy no-WebP variants, all variants, or AMP only.
- Application Cache: Auto-detect the cache engine or choose one manually.
- Priority Sorting: If enabled, sitemap priority values are used to change processing order.
- Start Scan / Stop: Start or stop the current manual job.
- Live Results: A real-time table showing URL, device, HTTP code, app cache status, Cloudflare status, Cloudflare location, and response time.
- Live filters: Filter live results by application cache status and Cloudflare cache status.
3) Cron
This tab is for scheduled warming jobs.
- Cron Status: Enable or disable recurring cron-based warming.
- Sitemap List: Add one or more sitemap rows for scheduled warming.
- Per-sitemap URL: The sitemap to process.
- Frequency: 5 minutes, 15 minutes, 30 minutes, hourly, twice daily, or daily.
- Batch: Number of URLs to process per cron run from that sitemap.
- Device: Choose how the sitemap is warmed for that cron row.
- Status: Enable or disable the individual sitemap row.
- Add / Remove: Add new rows or remove existing ones from the list.
- Run Cron Test: Manually trigger the selected cron sitemap row for testing.
4) Auto Warm
This tab controls automatic warming triggered by content changes.
- Status: Turns Auto Warm on or off.
- LiteSpeed Purge Detection: When enabled, the plugin can warm URLs after LiteSpeed purge events.
- After Update: Decide whether auto warm runs only on new publishes or on updates too.
- Post Types: Choose which public post types are included in automatic warming.
- Delay: Delay in seconds before queued warm requests begin.
- Queued: Shows the current queue size when items are waiting.
5) Settings
This tab contains the main operational settings.
Interface Style
- Color Palette: Choose between DiginApps Plum, Classic Neutral, and Ocean Blue.
- This setting affects the WordPress admin interface of the plugin and the front-end public demo widget.
Core Scan Settings
- HTTP/2 Parallel Scanning: Enables fast multi-request warming instead of slow sequential processing.
- Batch Size: Number of URLs processed in each manual/parallel batch.
- Wait: Delay between sequential requests when parallel mode is disabled.
AMP Settings
- Global AMP Warming: Adds AMP warming into supported workflows.
- AMP URL Suffix: Example values include
amp/ or query-style AMP paths.
Proxy
- Status: Enable or disable the proxy path.
- Address / Port: Proxy server connection details.
- User / Password: Optional authentication for proxy usage.
Public Demo Login
- Custom Login URL: Use a social login URL, landing page, or custom login endpoint for the public scan button.
6) Logs
This tab is for reviewing completed scan records.
- Select a record: Load a past scan from the log list.
- App Cache filter: Filter the selected record by application cache status.
- CF filter: Filter the selected record by Cloudflare cache status.
- Copy: Copy filtered URLs to the clipboard.
- Rescan: Start a new scan with only the filtered URLs.
- Results table: Review URL, device, HTTP, app cache, CF, location, and time.
- Pagination: Browse large result sets page by page.
Front-end public demo / homepage widget
The plugin includes a front-end scanner UI intended for demos or controlled user-facing tests. Logged-in users can start scans according to their quota. Non-logged-in users are redirected to the configured login URL. The public widget supports:
- live progress updates,
- application cache filtering,
- Cloudflare filtering,
- copy filtered URLs,
- rescan filtered URLs,
- Cloudflare location display,
- saved recent scan state per user.
Recommended usage flow
- Open Settings and choose your preferred color palette.
- In Manual, confirm your default sitemap URL, device mode, and application cache engine.
- Run a manual scan once to verify that cache headers and Cloudflare locations are detected correctly.
- Configure Cron if you want recurring warming.
- Configure Auto Warm if you want warming on publish/update or purge events.
- Use Logs to review historic results and rerun filtered URLs.
Why this plugin is useful
- It turns cache warming into a visible, repeatable workflow.
- It helps you debug real cache behavior instead of guessing.
- It gives you both operational automation and manual control.
- It works well for content sites, showcase pages, and sites where first-load speed matters.
Plugin package note: this readme describes the features bundled in the plugin interface and explains how each tab should be used in daily operation.