How to Set Up WordPress Cron Jobs for Automated Tasks

Your WordPress Site Needs to Run Scheduled Tasks. Here Is How to Make Sure They Actually Run.

WordPress cron handles scheduled tasks — publishing scheduled posts, checking for updates, sending automated emails, running backups. But WordPress’s built-in cron system only runs when someone visits your site. On a low-traffic site, scheduled tasks may not run for hours or days. A real server cron job fixes this.

“WordPress cron works until it does not. On low-traffic sites, scheduled posts miss their publish time, backups skip days, and emails do not send. A real cron job solves all of this.”

Setting Up Real Cron Jobs

1. Disable WordPress built-in cron. Add define('DISABLE_WP_CRON', true); to wp-config.php. This stops WordPress from running cron on page visits. 2. Set up a server cron job. In your hosting control panel (cPanel, Plesk, or custom), create a cron job that runs every 15 minutes and calls wp-cron.php: wget -q -O - https://yoursite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1 or the PHP equivalent. 3. Verify it is working. Use the WP Crontrol plugin to see which cron events are scheduled and when they last ran. Confirm your scheduled posts publish on time and backups run as scheduled. For professional cron configuration, see our WordPress Services page.

“A real cron job is set-and-forget. Spend ten minutes configuring it and your scheduled tasks run reliably forever.”