WP Cache Autopilot – Documentation
Troubleshooting
Updated:
URLs Not Warming After Changes
Possible causes
1. Cache Invalidator disabled
Check that the master switch is enabled.
2. Post Type not enabled (or relationiship not set)
See: Cache Invalidator → Post Type Tabs to verify your configuration.
3. Sitemap membership
The URL may not be present in configured sitemaps. Only URLs included in your sitemap are eligible for targeted warmup.
Membership is maintained automatically in the background. If a URL was recently added or changed, it may take a short moment to be included.
See: Cache Invalidator → Settings Reference to verify your configuration.
Verify
- the URL appears in your sitemap
- the URL is canonical (matches sitemap format)
Automatic Cache Warmup disabled
Check the warmup master switch.
No cache adapter detected
Both plugins are designed to operate with a supported cache plugin. Without one, invalidation and warmup have no practical effect.
Full warmup preparing
If a full warmup is currently preparing, targeted URLs may be buffered and warmed shortly after preparation completes.
See: Cache Warmup → Settings Reference to verify your configuration.
Cache Adapter Not Detected
Verify a supported cache plugin is installed and active.
WP-Cron Not Running
WP-Cron is the task scheduler that WordPress uses for background processing. Both Cache Invalidator and Cache Warmup depend on it for async deep invalidation, timed invalidation rules, warmup run preparation, and warmup batch execution.
Symptoms: warmup runs staying in preparing, batches not executing, timed invalidation rules not firing, async deep invalidation not processing.
- Check if
DISABLE_WP_CRONis set totrueinwp-config.php. If so, configure a server-side cron job. - Use the Cache Warmup WP-Cron diagnostics panel to test loopback connectivity.
- Low-traffic sites may experience delayed cron execution. A server-side cron job resolves this.
Disabling WP-Cron and setting up a server-side cron job is the most reliable and predictable way the two plugins work as expected, and is therefore recommended.
Setting up a server-side cron job
If your site has low traffic or WP-Cron is disabled, a server cron job ensures background processing runs reliably. Most hosting providers allow configuring this either via their control panel or with a cron command.
Hosting panel (recommended)
- Open your hosting control panel and locate Cron Jobs
- Add a job running every 1–5 minutes
- Use your WP-Cron URL:
https://your-site.com/wp-cron.php?doing_wp_cron
Cron command (example)
- Example command running every minute:
*/1 * * * * wget -q -O /dev/null https://your-site.com/wp-cron.php?doing_wp_cron - Replace the URL with your site’s actual URL
- See your hosting documentation for details
Warmup Runs Stalling
- Check the stale run minutes setting. Runs with no activity beyond this threshold are automatically recovered.
- Verify WP-Cron is firing (see above).
- Check server error logs for timeout or memory issues during warmup requests.
- Auto-pacing adjusts batch size based on server performance. If manually pacing, reduce pages per batch.
- Runs stuck in preparing usually indicate WP-Cron is not firing.
See: Cache Warmup → Settings Reference for pacing and stale run configuration.
Sitemap Notices
These notices mean Cache Warmup can’t reliably determine which pages to warm.
Missing sitemap
No sitemap is configured. Cache Warmup doesn’t know which pages belong in a full warmup.
How to fix
- Go to Cache Warmup Settings → Warmup.
- Add your sitemap URL(s)
- Click Save.
See: Cache Warmup → Settings Reference → Warmup Tab for more details.
Membership degraded
Cache Warmup couldn’t fully refresh your sitemap data. Warmup still runs, but some pages may be skipped.
How to fix
- Check you sitemap URL(s) in Cache Warmup Settings → Warmup.
- Make a small content change (for example, update a page)
- Wait a moment and reload
If it persists:
- Open your sitemap URL in the browser (use link below the sitemap field)
- Make sure it loads publicly
Membership missing or invalid
Cache Warmup can’t use your sitemap data. Page matching may not work correctly.
How to fix
- Check you sitemap URL(s) in Cache Warmup Settings → Warmup.
- Make a small content change (for example, update a page)
- Wait a moment and reload
If it persists:
- Open your sitemap URL in the browser (use link below the sitemap field)
- Make sure it loads publicly
Multilingual URLs Missing
- Verify that your multilingual plugin (see Multilingual Compatibility) is active and configured.
- Cache Invalidator detects multilingual plugins in a fixed order. If using multiple plugins, only the first detected is used.
- Review multilingual fanout policy toggles. Post triggers default to same-language fanout while non-post triggers default to all-languages fanout.
Debug Logging
Support Debug Mode
If anything does not work as expected, the support debug mode can be enabled from Cache Invalidator → Settings → Support & Debugging.
- Both Cache Invalidator and Cache Warmup write to the same shared log file.
- Only high-signal entries (INFO, WARNING, ERROR) are recorded. Verbose output is excluded.
- Download the log file directly from the settings panel and share it with support.
- The log file appears after the first diagnostic event fires. Use the Refresh button to check.
- Disable support debug mode when troubleshooting is complete. This deletes the log file automatically.
See: Cache Invalidator → Support Debug Mode for detailed debug mode documentation.
Developer Constants
For developer-level debugging with access to the server error log:
- Set
WP_DEBUGandWP_DEBUG_LOGtotrueinwp-config.php. - Define
ECI_DEBUGand/orECW_DEBUGto enable plugin-specific logging to the PHP error log. - Define
WP_CACHE_AUTOPILOT_DEBUGto enable bothECI_DEBUGandECW_DEBUGbehavior simultaneously.
Operational Limitations
Password protected sites
If the sites is password protected via .htaccess or a plugin like Password Protected, the URLs can’t be preloaded.
In order to warm a URL it must be publicly available.
As soon as the site is live, trigger a manual warmup.