Unlike traditional server cron jobs that run on a strict schedule, WordPress has its own internal scheduler—and it’s a bit… weird.
Instead of using your server’s actual cron system, WordPress uses a file called:
arduino
https://yourdomain.com/wp-cron.php?doing_wp_cron
Every time someone visits your site, WordPress checks:
“Hey, do I have any tasks to run right now?”
If the answer is yes, it runs them via wp-cron.php.
What Does WP-Cron Actually Do?
- Publish scheduled posts
- Sends out email notifications (like WooCommerce order emails)
- Handles plugin/theme background tasks (like SEO audits or social shares)
- Cleans up your database
- Runs scheduled backups and security scans
Sounds good, right? But here’s the thing…
It only runs when someone visits your site.
So, if you have a low-traffic blog or aggressive caching in place, tasks might not trigger when they should—or at all.
That’s why setting up a real cron job is often the better solution.
Leave a Reply