Skip to content

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:

php
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 ​

  1. Go to Tools > Site Health.
  2. Open the Status tab.
  3. 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:

text
https://example.com/wp-cron.php?doing_wp_cron

Expected 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:

  1. Test wp-cron.php?doing_wp_cron again.
  2. Recheck Tools > Site Health for loopback errors.
  3. 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.

Was this helpful?