WordPress Maintenance Troubleshooting

WordPress Scheduled Posts/Backups Not Running? WP-Cron Is Probably Broken (Fix Guide)

If scheduled tasks are "overdue," WordPress cron isn't firing. It's common, and it's fixable — here's the diagnostic checklist.

Feb 18, 2026

TL;DR

If scheduled tasks are "overdue," WordPress cron isn't firing. It's common, and it's fixable.

Why This Happens (the Boring Truth)

WordPress scheduling relies on WP-Cron. Unlike a real server cron job, WP-Cron only fires when someone visits your site. If your site has low traffic or hosting blocks loopback requests, scheduled events can stop running — then your backups, emails, and scheduled posts quietly stall.

The Diagnostic Checklist (10 Minutes)

1. Confirm Symptoms

  • Scheduled posts stuck in "Scheduled" status

  • Backup plugin shows overdue runs

  • WooCommerce/marketing automations delayed

2. Check if WP-Cron Has Been Disabled

In wp-config.php, look for:

define( 'DISABLE_WP_CRON', true );

If this line exists, WP-Cron has been intentionally disabled. That's fine — if there's a server cron replacing it. If there isn't, that's your problem right there.

3. Try the Alternate Cron Mode

Some hosts block loopbacks. WordPress support commonly suggests adding this to wp-config.php:

define( 'ALTERNATE_WP_CRON', true );

This uses a redirect-based approach instead of the default loopback, which can bypass hosting restrictions.

The "Do It Properly" Fix (Recommended)

If you have access to server cron:

  1. Disable WP-Cron in WordPress — add define( 'DISABLE_WP_CRON', true ); to wp-config.php

  2. Set a real server cron to hit wp-cron.php on an interval (every 5–15 minutes)

This removes the "traffic-dependent scheduling" problem entirely. Your backups, posts, and automations fire on time regardless of traffic.

Watch-Outs (Don't Break It Worse)

  • If you disable WP-Cron and don't add server cron, scheduling dies completely.

  • Some plugins rely heavily on cron; once it's stable, a bunch of "mystery bugs" disappear.

  • If you're on shared hosting without cron access, the ALTERNATE_WP_CRON method is your best bet.

FAQ

Can WP-Cron run too often?

Yes; WordPress documents a cron lock timeout setting to prevent overlapping runs.

Is this only a low-traffic problem?

Low traffic makes it more likely, but host restrictions can cause it even on busy sites.

How do I know if it's fixed?

Schedule a test post 5 minutes in the future. If it publishes on time, you're good.

Don't want to touch server config? Superpress sets up proper cron as part of every maintenance plan — it's one of the first things we fix.