WordPress uses a file called wp-cron.php as a virtual cron job. This is used to automate scheduled posting, checking updates for plugins and themes, email notification and other automated tasks.
Whenever a user access your blog, wp-cron.php is called automatically on each request. On a low traffic website, this is not a problem but if you have high traffic websites, this can result into high resource usage and it can also affect the website loading.
Disable default wp-cron.php behavior
It is possible to disable this virtual cron file (wp-cron.php). We can do it by adding necessary code in wp-config.php.
 Open your wp-config.php file.
 Add the following line in your wp-config.php file after your database details (after define(‘DB_COLLATE’, ”) line):
 Save your wp-config.php file.
Now WordPress should not call wp-cron.php file each time your blog is accessed by the visitor.
Setup manual cron job for wp-cron.php
Once you disable wp-cron.php using wp-config.php, WordPress will stop doing automated task. To overcome this problem, you can setup a manual cron job to execute wp-cron.php file. If your web hosting provider offers cPanel, you can setup a cron job as follow:
 Login to your cPanel.
 Form Advanced section, go to Cron jobs.
 Select Once an hour from the Common Settings drop-down.
 Now select Every 4 hours from the Hour drop-down.
 Add following line in Command and click on Add New Cron Job.
cd /home/YOUR_USER/public_html; php -q wp-cron.php
You will have to specify the correct path for your WordPress installation directory. Kindly adjust your command according to your WordPress installation path.