What is Cron Job?
Definition
A scheduled task that runs automatically at set times or intervals on your web server, used for backups, email sends, database maintenance, and more.
Why It Matters
- Cron jobs automate repetitive server tasks so you don't have to remember to run them manually—ideal for backups, cache clearing, sending scheduled emails, and updating content.
- For WordPress sites, cron jobs handle essential background work like publishing scheduled posts, checking for updates, and running security scans at regular intervals.
- Without properly configured cron jobs, critical maintenance tasks can be missed, leading to bloated databases, outdated content, stale caches, and potential security vulnerabilities.
- Understanding cron jobs helps you evaluate hosting plans—some shared hosts heavily restrict cron access, while VPS and dedicated servers give full flexibility.
How It Works
Cron is a time-based job scheduler built into Linux/Unix servers (which power most web hosting). You define a schedule using cron syntax—five fields representing minute, hour, day of month, month, and day of week—followed by the command to run. For example, "0 3 * * *" means "run at 3:00 AM every day." The cron daemon checks the schedule every minute and executes matching tasks. On shared hosting, you typically set cron jobs through cPanel or a similar control panel. On VPS/dedicated servers, you edit the crontab file directly via SSH. WordPress has its own pseudo-cron system (WP-Cron) that triggers on page visits rather than true server time, which can be unreliable on low-traffic sites—many developers replace it with a real server cron job for accuracy.
Pros & Cons
Advantages
- Automates repetitive tasks—backups, cache clearing, report generation—without manual intervention
- Runs at precise times regardless of whether anyone visits the site
- Reduces human error by ensuring maintenance tasks never get forgotten
- Flexible scheduling from every minute to once a year
- Essential for keeping WordPress sites healthy and performant
Disadvantages
- Cron syntax can be confusing for beginners (e.g., "*/5 * * * *" means every 5 minutes)
- Shared hosting often limits cron frequency—some only allow jobs every 15 or 30 minutes
- Poorly written cron jobs can overload server resources if they run too frequently or overlap
- WordPress WP-Cron is not a true cron and can miss scheduled tasks on low-traffic sites
- Debugging failed cron jobs requires checking server logs, which isn't always straightforward
Common Misconceptions
- !WordPress handles scheduled tasks perfectly on its own (WP-Cron only triggers on page visits—on low-traffic sites, tasks can be delayed by hours)
- !Cron jobs are only for developers (Most control panels offer simple interfaces for scheduling tasks without command line)
- !You can run cron jobs as often as you like on shared hosting (Shared hosts restrict frequency to prevent overload—per-minute jobs usually require VPS)
Do You Need Cron Job? Checklist
Consider cron job if any of these apply to you:
- Check your hosting plan's cron job limits—frequency restrictions and maximum number of jobs
- Replace WordPress WP-Cron with a real server cron job for reliable scheduling
- Set up automated daily or weekly database backups via cron
- Schedule cache clearing during low-traffic hours to avoid performance dips
- Monitor cron job output/logs to catch failures early
- Stagger multiple cron jobs to avoid running them all at the same time
Recommended Hosts for Cron Job
Hosting.com
Full cron access on all plans with no frequency restrictions on VPS
SiteGround
Easy cron setup via Site Tools with support for per-minute jobs on higher plans
Kinsta
Real server cron replaces WP-Cron by default on all managed WordPress plans
Frequently Asked Questions
What is cron job syntax and how do I read it?
How do I set up a cron job in cPanel?
Should I disable WP-Cron on WordPress?
What happens if a cron job fails?
Can cron jobs slow down my website?
Related Terms
Need Help Choosing?
Use our calculator to find the perfect hosting plan for your needs.
Try Calculator