WordPress WP-Cron relies on site visits to trigger scheduled tasks, which can be unreliable for low-traffic sites. You can disable WP-Cron and use your server’s cron system for more consistent task execution.
What You’ll Learn
- How to disable WP-Cron for MainWP
- How to set up server cron jobs
- Cron commands for each extension
Prerequisites
- Access to your server’s cron system (cPanel, Plesk, or SSH)
- Knowledge of your WordPress installation path
- PHP binary location on your server
Disable WP-Cron
Once you disable WP-Cron via MainWP > Settings > Advanced Settings, MainWP removes its schedules and you’ll need to set up manual cron jobs through your hosting provider.
Need help setting up cron jobs? Check your hosting provider’s documentation for cPanel or Plesk.
Commands to Use in Crontab
Two command options are available:
Preferred method (direct PHP call - eliminates HTTP timeout issues):
/usr/bin/php /path/to/public_html/wp-content/plugins/mainwp/cron/FILE > /dev/null 2>&1
Alternative method (HTTP call):
wget -O /dev/null http://example.com/wp-content/plugins/mainwp/cron/FILE > /dev/null 2>&1
Replace FILE with the specific cron file for each job listed below.
Cron Jobs by Extension
Core
Domain Monitor
Lighthouse
Maintenance
Post Dripper
Pro Reports
Sucuri
SSL Monitor
Vulnerability Checker
Check for available updates
Frequency: *every minute (crontab schedule: * * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/updatescheck.php > /dev/null 2>&1
This cron job will perform two actions. First, it will first synchronize the Dashboard and then perform auto-updates if any exist.Ping Child Sites
Frequency: *every day (crontab schedule: 0 0 * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/pingchilds.php > /dev/null 2>&1
Check Sites Status
Frequency: *every minute (crontab schedule: * * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/checkstatuschilds.php > /dev/null 2>&1
This cron also controls built-in Uptime Monitoring.Check Sites Health
Frequency: *every hour (crontab schedule: 0 * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/sitehealthmonitoring.php > /dev/null 2>&1
Reconnect Sites
Frequency: *every hour (crontab schedule: 0 * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/stats.php > /dev/null 2>&1
Check Domains
Frequency: *every day (crontab schedule: 0 0 * * )Frequency: every week, on Sunday 00:00 (crontab schedule: 0 0 * * 0)Frequency: *twice a month (crontab schedule: 0 0 1,15 * * )Frequency: *every month (crontab schedule: 0 0 1 * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-domain-monitor-extension/cron/domain_monitor_cron_start.php > /dev/null 2>&1
Send Notifications
Frequency: *every day (crontab schedule: 0 0 * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-domain-monitor-extension/cron/domain_monitor_cron_alert.php > /dev/null 2>&1
Audit Sites
Frequency: *every day (crontab schedule: 0 0 * * )Frequency: every week, on Sunday 00:00 (crontab schedule: 0 0 * * 0)Frequency: *twice a month (crontab schedule: 0 0 1,15 * * )Frequency: *every month (crontab schedule: 0 0 1 * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-lighthouse-extension/cron/lighthouse_cron_start.php > /dev/null 2>&1
Audit Sites - Continue
Frequency: *every 5 minutes (crontab schedule: */5 * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-lighthouse-extension/cron/lighthouse_cron_sync.php > /dev/null 2>&1
Send Notifications
Frequency: *every day (crontab schedule: 0 0 * * )Frequency: every week, on Sunday 00:00 (crontab schedule: 0 0 * * 0)Frequency: *twice a month (crontab schedule: 0 0 1,15 * * )Frequency: *every month (crontab schedule: 0 0 1 * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-lighthouse-extension/cron/lighthouse_cron.php > /dev/null 2>&1
Start Maintenance
Frequency: *every hour (crontab schedule: 0 * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-maintenance-extension/cron/cron_job_start.php > /dev/null 2>&1
Continue Maintenance
Frequency: *every minute (crontab schedule: * * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-maintenance-extension/cron/cron_job_continue.php > /dev/null 2>&1
Drip Articles
Frequency: *every hour (crontab schedule: 0 * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-post-dripper-extension/cron/post_dripper.php > /dev/null 2>&1
Send Report Notifications
Frequency: *every hour (crontab schedule: 0 * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-pro-reports-extension/cron/notice_reports.php > /dev/null 2>&1
Send Reports
Frequency: *every 5 minutes (crontab schedule: */5 * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-pro-reports-extension/cron/send_reports.php > /dev/null 2>&1
Send Reports - Continue
Frequency: *every minute (crontab schedule: * * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-pro-reports-extension/cron/continue_reports.php > /dev/null 2>&1
Send Notifications
Frequency: *every day (crontab schedule: 0 0 * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-sucuri-extension/cron/securityscan_notification.php > /dev/null 2>&1
Start Monitor
Frequency: *every day (crontab schedule: 0 0 * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-ssl-monitor-extension/cron/ssl_monitor_cron_start.php > /dev/null 2>&1
Continue Monitor
Frequency: *every 5 minute (crontab schedule: */5 * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-ssl-monitor-extension/cron/ssl_monitor_cron_continue_run.php > /dev/null 2>&1
Vulnerability Check
Frequency: *every ten minutes (crontab schedule: */10 * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-vulnerability-checker-extension/cron/vulnercheck.php > /dev/null 2>&1
Replace /path/to/ with your actual WordPress installation path. The PHP binary location (/usr/bin/php) may also vary depending on your server configuration.
Self-Check Checklist