WordPress is a powerful content management system, but like any platform, it has its quirks. One of the known performance issues is the default behavior of WP-Cron, the system WordPress uses to handle scheduled tasks. While WP-Cron is essential for running tasks like publishing scheduled posts, checking for updates, and sending email notifications, its default setup can slow down your site, especially under high traffic or on shared hosting.
In this article, we will explore what WP-Cron is, why disabling it can improve performance, and how to replace it with a more efficient system.
What Is WP-Cron
WP-Cron is WordPress’s built-in pseudo-cron system. Unlike traditional cron jobs that run at fixed intervals, WP-Cron is triggered every time someone visits your site. When a page loads, WordPress checks if there are any scheduled tasks to run. If there are, it executes them during that page load.
WP-Cron Common Tasks
While this system works fine for low-traffic sites, it can become problematic as traffic increases or if the site is hosted on a server with limited resources.
- Publishing scheduled posts
- Checking for plugin and theme updates
- Sending email notifications
- Cleaning up temporary files
- Running backups (if configured)
Why WP-Cron Can Slow Performance
Here’s why WP-Cron can slow down your site:
Triggered Every Page Load
Each time a visitor accesses your site, WP-Cron checks for scheduled tasks. If tasks are found, they run during that page load, potentially delaying the response time.
Concurrency Issues
On high-traffic sites, multiple visitors can trigger WP-Cron simultaneously, leading to overlapping executions and increased server load.
Unreliable Execution
If your site has low traffic, scheduled tasks may not run on time because WP-Cron only triggers when someone visits the site.
Resource Intensive
Tasks like backups or email campaigns can consume significant server resources, especially if they run during peak traffic hours.

Easy Management of DNS Records is Here!
Your search for a reliable hosting service ends now! You have Hostonce to rely on. We are a smart alternative for better reiliability, support, speed, and management!
Benefits of Disabling WP-Cron
Disabling WP-Cron and replacing it with a real server-side cron job offers several advantages:
- Tasks won’t run during user visits.
- Tasks run at fixed intervals regardless of traffic.
- Prevents multiple executions of the same task.
- Ideal for high-traffic or resource-constrained environments.
How to Disable WP-Cron
Disabling WP-Cron is a two-step process: first, you disable the default behavior, and then you set up a real cron job on your server.
Step 1: Disable WP Cron in wp-config.php
Access your control panel. Navigate to wp-config.php under public_html folder. Add the following line to your wp-config.php file, ideally above the line that says /* That's all, stop editing! Happy publishing. */:
define('DISABLE_WP_CRON', true);
This tells WordPress not to run wp-cron.php on every page load.
Step 2: Set Up Real Cron Job
Now that WP-Cron is disabled, you need to manually trigger wp-cron.php at regular intervals using your server’s cron system.
Using Control Panel
Log in to your hosting control panel.

Go to Cron Jobs. Choose the interval, for example, every 15 minutes.

Add the following command:
wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
Replace yourdomain.com with your actual domain name.
Using SSH and Crontab
SSH into your server. Type crontab -e to edit your cron jobs. Add the following line:
*/15 * * * * curl -s https://yourdomain.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
This runs WP-Cron every 15 minutes. You can adjust the timing as needed.
Testing Setup
After setting up the cron job, check if scheduled posts are published on time. Monitor server performance using tools like New Relic or GTmetrix. Use plugins like WP Crontrol to view and manage scheduled tasks.
Final Thoughts
WP-Cron is a clever solution for basic scheduling, but it’s not built for scale. By disabling it and using a real cron job, you take control of your site’s performance and reliability. Whether you are running a blog, an eCommerce store, or a high-traffic news site, this simple tweak can make a big difference.
FAQ
What is WP-Cron in WordPress?
WP-Cron is WordPress’s built-in task scheduler for handling automated tasks like publishing posts or checking updates.
Why should I disable WP-Cron?
Disabling WP-Cron can reduce server load and improve performance, especially on high-traffic or shared hosting environments.
How do I disable WP-Cron?
Edit your wp-config.php file and add define('DISABLE_WP_CRON', true); to disable WP-Cron.
What replaces WP-Cron after disabling it?
You can set up a real cron job via your hosting control panel or server to trigger wp-cron.php at scheduled intervals.
Will disabling WP-Cron affect my site?
It won’t break your site if you set up a proper server cron job; scheduled tasks will still run normally.