Troubleshoot WP-Cron when WordPress background tasks are not running
WordPress background tasks can stop even when WP-Cron is not explicitly disabled. This usually happens when the server cannot complete its internal loopback request to wp-cron.php.
In this article
Recognize a WP-Cron or loopback failure
WP-Cron or loopback issues usually affect more than one background feature at the same time. Common signs include:
- Scheduled tasks stay overdue.
- Background logs stop advancing.
- Automated tasks in multiple plugins stop running.
If only one product feature fails while other scheduled tasks continue running, the issue is more likely product-specific than WP-Cron.
Test WP-Cron and loopback requests
Check whether WP-Cron is intentionally disabled
Open wp-config.php and look for:
define('DISABLE_WP_CRON', true);If this line is present, WordPress does not spawn WP-Cron during normal page visits.
If your host intentionally disables WP-Cron and uses a server cron job instead, keep this setting and follow How to set up a real cron job in WordPress?.
Check Site Health for loopback failures
- Go to Tools > Site Health.
- Open the Status tab.
- Check for loopback request failures.
A loopback failure means your server cannot complete internal HTTP requests back to your own site.
Test wp-cron.php directly
Open this URL in your browser, replacing example.com with your domain:
https://example.com/wp-cron.php?doing_wp_cronExpected result: a blank page or no visible error.
- 403 Forbidden usually means a firewall, WAF, security plugin, or CDN rule is blocking the request.
- 405 Method Not Allowed usually means server request-handling rules are rejecting the request method.
Remove the block or configure reliable scheduling
Review any recently added firewall, WAF, security plugin, CDN, or web-server rules that can block requests to wp-cron.php.
If you are not sure what is blocking the request, contact your hosting provider and ask them to:
- inspect server and firewall logs for blocked loopback requests;
- allow WordPress loopback requests to
wp-cron.php.
If WP-Cron is intentionally disabled on your site, keep it disabled and configure a real cron job instead: How to set up a real cron job in WordPress?.
Verify that background processing has resumed
After changes are applied:
- Test
wp-cron.php?doing_wp_cronagain. - Recheck Tools > Site Health for loopback errors.
- Confirm the affected product's logs or task status are advancing again.
If WP-Cron checks pass but only one product still fails, continue with that product's troubleshooting documentation or contact support.
