Documentation Index
Fetch the complete documentation index at: https://mainwp-mintlify-c0f00f42.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
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
Cost Tracker Assistant
Domain Monitor
Lighthouse
Maintenance
Patchstack
Post Dripper
Pro Reports
Regression Testing
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.Deactivated License Alert
Frequency: *every day (crontab schedule: 0 0 * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/deactivatedlicensesalert.php > /dev/null 2>&1
Sends extension license deactivation notification emails when MainWP detects deactivated MainWP Add-on licenses and the deactivated_license_alert notification is enabled.General Schedules
Frequency: *every minute (crontab schedule: * * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp/cron/generalschedules.php > /dev/null 2>&1
Runs registered regular sequence processes. In current MainWP Dashboard source, built-in uptime monitoring notification processing registers with this sequence process.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
Cost Tracker Alert
Frequency: *every day (crontab schedule: 0 0 * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-cost-tracker-assistant-extension/cron/cost-tracker-assistant-alert.php > /dev/null 2>&1
Checks active Cost Tracker Assistant subscriptions and sends configured renewal alert emails when a subscription is within the notification window.This job only sends alerts when Cost Tracker Assistant is enabled. Email notification settings must be enabled for cost_tracker_notification_email, and the Cost Tracker Assistant notification option must also be enabled.
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
Check Domains - Continue
Frequency: *every 5 minutes (crontab schedule: */5 * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-domain-monitor-extension/cron/domain_monitor_cron_continue_run.php > /dev/null 2>&1
Continues Domain Monitor lookup batches after the start job has queued domains for checking. When lookup batches finish, the same continue flow starts and continues domain expiration notification processing.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
Patchstack Start
Frequency: *every day (crontab schedule: 0 0 * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-patchstack-extension/cron/cron_start.php > /dev/null 2>&1
Patchstack Continue
Frequency: *every 5 minutes (crontab schedule: */5 * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-patchstack-extension/cron/cron_continue.php > /dev/null 2>&1
Patchstack Sync Dashboard
Frequency: *every day (crontab schedule: 0 0 * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-patchstack-extension/cron/cron_sync_dashboard.php > /dev/null 2>&1
These jobs respect the Patchstack API sync frequency setting in the Patchstack Add-on settings. Run the daily jobs even when the Add-on is set to weekly or monthly sync; the Add-on skips work until it is due.
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
Start Regression Testing
Frequency: *every day (crontab schedule: 0 0 * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-regression-testing-extension/cron/html-regression-cron-start.php > /dev/null 2>&1
Starts the scheduled Regression Testing process and marks eligible sites for automatic checking.Continue Regression Testing
Frequency: *every 5 minutes (crontab schedule: */5 * * * )wget -O /dev/null http://yourdashboard.com/wp-content/plugins/mainwp-regression-testing-extension/cron/html-regression-cron-continue-run.php > /dev/null 2>&1
Continues scheduled Regression Testing in batches, processes pending site/page checks, and handles follow-up tasks such as tracking CSS/JavaScript changes and notification scheduling.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