How to Check if WordPress Cron Is Working

WordPress uses scheduled tasks for updates, publishing scheduled posts, clearing transients, sending some plugin emails, running WooCommerce actions, and other background jobs. If those jobs stop running, the site may look fine while important maintenance silently falls behind.

On normal WordPress installs, WP-Cron is triggered by site visits. That works for many small sites, but low-traffic sites, cached sites, and busy WooCommerce stores can need a real cron job in Enhance for more predictable scheduling.

Signs WordPress Cron May Be Failing

  • Scheduled posts miss their publish time.
  • WooCommerce scheduled actions build up.
  • Backup or security plugin scans do not run.
  • Plugin emails are delayed.
  • Site Health reports loopback or scheduled event issues.

Check Site Health

In WordPress, go to Tools → Site Health. Look for warnings about scheduled events, loopback requests, or background updates. Site Health is not a full cron monitor, but it is a quick first check.

Check Scheduled Events

For a clearer view, use a WordPress plugin that lists cron events. Look for missed events, events scheduled far in the past, or one plugin creating thousands of tasks.

If WooCommerce is installed, also check WooCommerce → Status → Scheduled Actions. Failed or pending actions can point to a plugin, payment, email, or webhook issue.

Test wp-cron.php

Visit the cron endpoint in a browser:

https://example.co.uk/wp-cron.php?doing_wp_cron

A blank page is normal. A visible fatal error, timeout, or security block is not. If this endpoint is blocked by a security plugin, firewall rule, or broken PHP code, scheduled jobs may not run.

Check for Disabled WP-Cron

Open wp-config.php and check whether WordPress cron has been disabled:

define('DISABLE_WP_CRON', true);

This setting is fine if a real server cron job has been configured. It is a problem if nobody added the replacement cron job.

Set a Real Cron Job in Enhance

In Enhance, open the website and go to Advanced → Developer tools → Cron jobs. Add a cron job that calls WordPress cron on a schedule such as every five or fifteen minutes, depending on the site workload.

*/5 * * * * wget -q -O - https://example.co.uk/wp-cron.php?doing_wp_cron >/dev/null 2>&1

If command-line PHP is preferred, confirm the path and site location before using it. The exact command should match the hosting environment and application path.

Check Logs if Cron Still Fails

If tasks still do not run, check website error logs in Enhance. Look for PHP fatal errors, memory exhaustion, plugin errors, or timeout messages around the time cron should have run.

Related TekLan Posts

Read Setting Up Cron Jobs in Enhance, How to Check Website Error Logs in Enhance, and How to Check the PHP Version in Enhance.