Cache Autopilot – Documentation
Troubleshooting
Updated:
URLs Not Warming After Changes
Possible causes
Cache Invalidator disabled
Check that the main switch is enabled.
Post Type not enabled (or relationiship not set)
See: Cache Invalidator → Post Type Tabs to verify your configuration.
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 main switch.
No cache adapter detected
Both engines 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 engines 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
Cache Warmup uses your sitemap in two ways: it builds full warmup plans from sitemap URLs, and it checks whether targeted URLs belong to your site before warming them.
If sitemap data is missing or out of date, Cache Warmup tries to keep going safely. Full warmups may use fallback pages, while targeted warmups may skip URLs that cannot be verified.
After updating the sitemap URLs, Cache Warmup schedules a sitemap index rebuild for about 30 seconds later. Reload after 30-60 seconds;
if your site uses server cron, it may take until the next cron run.
No sitemap configured
No sitemap URL has been added yet. Full warmups may fall back to published pages, but sitemap-based coverage and targeted URL checks are unavailable.
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.
Sitemap index is being prepared
Cache Warmup has sitemap URL(s), but the page index is not available yet. Targeted warmups may skip unverified URLs until the index is ready.
This can happen after first setup, after an update, or shortly after changing sitemap settings. Cache Autopilot usually prepares the index automatically. If the message remains visible, refresh sitemap data or check that the sitemap URL is reachable.
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
Sitemap index could not refresh
Cache Warmup tried to refresh sitemap data, but the sitemap could not be read at that moment. It uses the last usable sitemap index when one is available.
Full warmups still run, but recent sitemap changes may not be included yet.
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
Sitemap index is using fallback data
Cache Warmup could not read the sitemap, so it built a temporary index from published pages instead.
Warmup still runs, but pages that only appear in your sitemap may be missed until the sitemap can be read again.
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
Sitemap index is invalid
Cache Warmup cannot read the stored sitemap index. It will try to rebuild the index in the background.
Until the rebuild succeeds, targeted warmups may skip URLs that cannot be verified.
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.