How (and why) to use the server cron instead of wp cron

Disclaimer: we recommend testing the use of a server Cron instead of WP Cron on a staging environment first before implementing it on your live website. This will give you the opportunity to make sure that everything works as expected and that your scheduled tasks are running correctly before making any changes to your live website. Always ask your host if you aren’t sure.

WordPress is a powerful CMS that has its own built-in Cron system known as WP Cron. WP Cron is a task scheduler for WordPress that allows you to schedule various tasks such as publishing scheduled posts, running database maintenance, and sending scheduled emails.

However, WP Cron has a few limitations. One of the major limitations is that it relies on website traffic to run scheduled tasks. This means that if your website doesn’t receive any traffic, then the scheduled tasks won’t run. In addition, if you have a high-traffic website, WP Cron can cause performance issues as it can lead to an increase in server load.

To overcome these limitations, you can use the server Cron instead of WP Cron. In this tutorial, we will guide you on how to use the server Cron in WordPress.

What is a Cron?

Cron is a time-based job scheduler in Unix-like operating systems. Cron allows you to schedule tasks to run automatically at specified times or intervals. For instance, you can set up a Cron job to run a script that backs up your website every day at midnight.

Why use a Server Cron instead of WP Cron?

Using a server Cron instead of WP Cron has several advantages. First, server Cron jobs run independently of website traffic, which means that they will run even if your website has no traffic. This ensures that your scheduled tasks will run on time, regardless of the website’s traffic volume.

Second, server Cron jobs are more reliable and efficient than WP Cron. Since server Cron jobs run independently of your website, they do not put any additional load on the server. In addition, server Cron jobs can be set up to run more frequently, ensuring that your scheduled tasks are executed more often.

Third, server Cron jobs are easier to manage than WP Cron. With WP Cron, you need to make sure that your website is receiving traffic so that your scheduled tasks run. With server Cron, you can manage all your scheduled tasks in one place, making it easier to set up, modify, or remove scheduled tasks.

How to use Server Cron instead of WP Cron

To use a server Cron instead of WP Cron, you need to follow these steps:

Step 1: Disable WP Cron in your WordPress installation

To disable WP Cron, you need to add the following line of code to your wp-config.php file:

define('DISABLE_WP_CRON', true);

Once you have added this code to your wp-config.php file, WP Cron will be disabled, and your scheduled tasks will no longer be triggered by website traffic.

Step 2: Set up a Server Cron Job

To set up a server Cron job, you need to log in to your web hosting control panel and locate the Cron Jobs option. The location of Cron Jobs may vary depending on your web host, but it is usually located in the Advanced or Settings section.

Once you have located Cron Jobs, click on the option to add a new Cron Job. You will be prompted to enter the command for your Cron Job.

The command for your Cron Job should look something like this:

php /home/username/public_html/wp-cron.php

Replace “username” with your actual username and “/home/username/public_html” with the path to your WordPress installation.

You can set the frequency of the Cron Job by specifying the time interval. For instance, to run your Cron Job every hour, you can use the following syntax:

0 * * * * php /home/username/public_html/wp-cron.php

This will run your Cron Job at the top of every hour.

Step 3: Verify your Server Cron Job

After setting up your server Cron Job, it’s essential to verify that it’s working correctly. You can do this by checking the error logs or by running a test command to see if the scheduled tasks are executed correctly.

If you’re not comfortable setting up a server Cron job yourself, you can always contact your web hosting provider’s support team for assistance. They can help you set up a server Cron job and ensure that it’s running correctly.

Conclusion

Using a server Cron instead of WP Cron is a great way to ensure that your scheduled tasks run reliably and efficiently, regardless of website traffic. Setting up a server Cron job is a straightforward process that can help improve the performance and reliability of your website.

If you’re experiencing issues with scheduled tasks not running on time or your website’s performance is suffering due to high traffic, it’s time to consider switching to a server Cron. With the simple steps outlined in this tutorial, you can quickly set up a server Cron job and improve the reliability and efficiency of your scheduled tasks.