The WP-Cron system in WordPress is not a true cron system, meaning events may not run exactly according to their schedule, as it relies on regular traffic to the website to trigger scheduled events.
CrawlWP utilizes WordPress Cron to perform scheduled tasks at a later time.
Reasons WP-Cron events can miss their schedule
- Low-traffic websites may not trigger the event runner frequently enough.
- A fatal error caused by a plugin or theme can disrupt the event runner’s functionality.
- A plugin or theme may unintentionally or intentionally interfere with the event runner.
- BasicAuth, a firewall, or other access restrictions may block the event runner.
- A problem with your web hosting or web server may break the event runner.
- The
DISABLE_WP_CRON
configuration constant is set, but no alternative cron runner has been put in place. - Long-running events may temporarily block the event runner.
- High-traffic websites may suffer from sequential processing issues that block the event runner.
How can I fix this?
There’s no single solution to this problem. Your best approach is to:
- Deactivate other plugins on your site one by one to see if any of them are causing things to break. Start with ones that you’ve recently updated or recently installed.
- Contact your web hosting provider as they commonly have experience dealing with problems with WP-Cron. They’ll often recommend setting up a server-level cron job to trigger the WP-Cron event runner.
Articles with more information
Host-Specific Instructions
- SiteGround: How to replace WP-Cron with a real cron job
- Pantheon: Configuring and optimizing the WP-Cron feature
- WP Engine: WP-Cron and WordPress event scheduling
- Kinsta: How to Disable WP-Cron for Faster Performance