cPanel Intermediate

How to disable WP-Cron and set up a cPanel cron job

By Angus Published 14 May 2026 4 min read

WordPress does not have a real task scheduler. Instead, it fires its scheduled tasks on every page request by running wp-cron.php whenever a visitor loads a page. On a site with significant traffic this means the same scheduled task may run hundreds of times per hour, consuming CPU and memory that should be serving your visitors.

You will disable WordPress’s built-in cron and replace it with a server-side cron job in cPanel that fires on a schedule you define. This reduces unnecessary resource usage and makes scheduled tasks more reliable on busy and low-traffic sites.

Before you begin

Disable WP-Cron in wp-config.php

Disabling WP-Cron requires adding a single constant to your WordPress configuration file. This prevents WordPress from triggering wp-cron.php on page requests.

  1. Open File Manager.
    In cPanel, open File Manager and navigate to the root directory of your WordPress installation (usually public_html or a subdirectory within it).
  2. Edit wp-config.php.
    Right-click wp-config.php and choose Edit. If prompted to confirm, click Edit.
  3. Add the disable constant.
    Find the line that reads define('WP_DEBUG', false); (or true on development sites – either is fine). Add the following line immediately after it:
define('DISABLE_WP_CRON', true);

The section should now look like this:

define('WP_DEBUG', false);
define('DISABLE_WP_CRON', true);

/* That's all, stop editing! Happy publishing. */
  1. Save the file.
    Click Save Changes in File Manager. WP-Cron is now disabled – no scheduled tasks will run until you set up the cPanel cron in the next step.

Add a cron job in cPanel

Now that WordPress will no longer fire its own scheduled tasks, you need a server-side cron job to trigger wp-cron.php at regular intervals.

  1. Open Cron Jobs.
    In cPanel, locate the Advanced section and click Cron Jobs.
  2. Set the schedule.
    Choose how often to run the cron. For most sites, once every 15 minutes is the right balance between responsiveness and resource use. Use the Common Settings dropdown to select Once Per 15 Minutes.
  3. Enter the command.
    In the Command field, enter the following, replacing yourdomain.co.uk with your actual domain:
/usr/bin/wget -O /dev/null https://yourdomain.co.uk/wp-cron.php?doing_wp_cron
  1. Add the cron job.
    Click Add New Cron Job to save it. The cron job appears in the list at the bottom of the page.
cPanel Cron Jobs screen with a wp-cron.php command configured to run every 15 minutes
Set the cron job to run wp-cron.php on a fixed schedule in cPanel.

WordPress scheduled tasks now run at the interval you set, regardless of whether anyone is visiting your site.

Choose the right frequency

The frequency you choose depends on what your site uses scheduled tasks for:

  • Once daily – sufficient for informational sites that do not publish time-sensitive content.
  • Every 15 minutes – suitable for most WordPress sites, including those that schedule posts and use spam filtering plugins.
  • Every minute – reserved for e-commerce sites or platforms with real-time stock, payment or sync requirements. Do not run more frequently than needed, as it generates unnecessary server load.

Wrapping up

You disabled WP-Cron’s per-request behaviour by adding DISABLE_WP_CRON to wp-config.php, and replaced it with a real cPanel cron job on a fixed schedule. Scheduled tasks now run reliably without adding overhead to every page request your site receives.

Monitor your site over the next few days to confirm scheduled tasks – such as post publishing, plugin updates and email notifications – continue to work as expected. If anything appears delayed, reduce the cron interval in cPanel. See our guide on fixing WordPress errors if changes to wp-config.php cause unexpected behaviour.

Our WordPress hosting plans include full cPanel access and cron job support for all scheduled task requirements.

Ready to get started?

Launch your website with our reliable cPanel hosting with unlimited bandwidth and expert support.

Get cPanel Hosting

Need a domain?

Find and register the perfect domain name for your website.

Search Domains