◦ Comprehensive security
◦ 24/7 support
WordPress Guide → Admin → WP-Content
WordPress cron jobs: What they are, setup, management, and more
If you’ve ever scheduled a post, set up automated backups, or relied on plugins to run timed tasks, you’ve used WordPress cron jobs—even if you didn’t know it. Cron jobs are a powerful tool for automating repetitive actions, but WordPress handles them a bit differently than traditional servers do.
Understanding how WP-Cron works can help you manage performance, streamline automation, and avoid missed or delayed tasks.
Get fast, reliable hosting for WordPress
Power your site with the industry’s fastest, most optimized WordPress hosting
What is WP-Cron?
WP-Cron is WordPress’s internal scheduling system. Unlike standard server cron jobs, which rely on the server’s operating system to run tasks at exact times, WP-Cron only triggers when someone visits your site.
That means if there’s no traffic, scheduled tasks won’t run. And if you have high traffic, it could run too often, affecting performance.
WP-Cron handles jobs like:
- Publishing scheduled posts
- Checking for WordPress core, theme, and plugin updates
- Running backups and security scans (depending on your plugins)
- Sending scheduled emails or notifications
- Cleaning up expired transients and spam comments
It’s not a true cron system—it’s event-based and traffic-triggered. That’s both a strength and a weakness depending on your site’s needs.
How it works
Every time someone loads a page on your site, WordPress checks for any scheduled tasks. If one is due, it executes it right then. These tasks are stored as scheduled events in the database and handled asynchronously.
Behind the scenes, WordPress relies on functions like wp_schedule_event(), wp_schedule_single_event(), and wp_cron() to register, trigger, and manage these jobs.
WordPress cron job uses
You’ll find WP-Cron working quietly in the background of many common WordPress tasks, including:
- Scheduled publishing of posts or pages
- Auto-updates for themes, plugins, and core files
- Regular backups using tools like UpdraftPlus or BackupBuddy
- Security scans from plugins like Wordfence
- Email digests or notifications from form plugins or membership tools
- Expiring temporary content like flash sales or one-time banners
- Cleaning up old session data or expired tokens
For custom functionality, developers often hook into WP-Cron to run their own scripts at specific intervals.
How to view and manage WP-Cron jobs
The easiest way to manage WP-Cron is with the WP Crontrol plugin. It gives you a dashboard view of all scheduled events and hooks.
- Install and activate WP Crontrol.
- Go to Tools → Cron Events to see existing jobs.
- From here, you can:
- Edit or delete existing cron jobs
- Add new events and assign callback functions
- Manually run any job for testing
How to disable WP-Cron and use a real cron job
WP-Cron can cause performance issues on very high-traffic or very low-traffic sites. Too many users can trigger jobs constantly; too few users means tasks get delayed.
To disable WP-Cron:
- Edit your wp-config.php file. Add this line:
define(‘DISABLE_WP_CRON’, true); - Next, set up a real server-side cron job that hits the WP-Cron system at regular intervals:
If using cPanel:
- Go to Advanced → Cron Jobs
- Add a new cron job with this command:
wget -q -O – https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1 - Set the frequency to every 5 or 10 minutes
If using command line (Linux):
Add this to your crontab:
*/5 * * * * wget -q -O – https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
This triggers WordPress cron without relying on site traffic.
Creating custom cron jobs in WordPress
You can create your own scheduled tasks using three main steps:
1. Register the event with wp_schedule_event()
if (!wp_next_scheduled(‘my_custom_cron_hook’)) {
wp_schedule_event(time(), ‘hourly’, ‘my_custom_cron_hook’);
}
2. Define the callback function
function my_custom_cron_function() {
// Your scheduled code here
}
3. Hook it into WordPress
add_action(‘my_custom_cron_hook’, ‘my_custom_cron_function’);
You can also add custom intervals using the cron_schedules filter if hourly, twice daily, or daily don’t fit your needs.
Troubleshooting common WP-Cron issues
Things can go wrong with cron jobs, especially if you don’t know they’re happening behind the scenes.
- Low traffic sites: Cron jobs might not run because no one is visiting. Set up a real cron job on your server to fix this.
- Caching conflicts: Page caching tools can interfere with wp-cron.php firing. Use server-side cron jobs to work around it.
- Missed or failed events: Use WP Crontrol to check for overdue or failing jobs. Add custom logging with error_log() or tools like Query Monitor.
- Duplicate jobs: If you register events without checking for existing ones, you can create duplicates. Always use wp_next_scheduled() before registering a new job.
Best practices for WP-Cron management
- Avoid unnecessary scheduled tasks. Clean up inactive plugins that still register cron events
- Use server-level cron for time-sensitive or resource-heavy tasks (like large imports or daily email blasts)
- Regularly audit your cron jobs with WP Crontrol to make sure nothing is stuck or failing
- Log important jobs if they impact orders, payments, or customer communication
Upgrade your WordPress experience
Understanding WP-Cron gives you more control over your site’s automation and performance. Whether you’re scheduling backups or pushing time-sensitive updates, using the right cron strategy makes a big difference.
Start by installing WP Crontrol or setting up your first real cron job. It’s one of the simplest upgrades you can make for long-term reliability.
Ready to take the training wheels off your WordPress site? Upgrade to professional hosting and see how better speeds, security, and reliability provide a foundation for a website and a brand that people find engaging and trustworthy. Liquid Web’s WordPress hosting options configure business-class servers and support plans specifically for WordPress websites.
Don’t want to deal with server management and maintenance? Our fully managed WordPress hosting is the best in the industry. Our team are not only server IT experts, but WordPress hosting experts as well. Your server couldn’t be in better hands.
Click through below to explore all of our WordPress hosting options, or chat with a WordPress expert right now to get answers and advice.
Additional resources
How to use your WordPress admin login page →
How to find, use, and troubleshoot your admin page
How to limit WordPress admin access →
Do you want to allow user registration on your WordPress website or give blog writers access so they can make changes? You aren’t alone.
Easy WordPress website maintenance tips →
7 simple steps to keep on regular rotation