What You’ll Learn
- Why low traffic affects scheduled MainWP tasks
- How to set up Option 1 with external uptime monitoring or server cron requests
- How to troubleshoot cron-triggering issues from one page
Why cron can become unreliable
WP Cron runs when requests hit the site. On low-traffic Dashboard sites, scheduled hooks may run late or not run at all. MainWP includes minute-level, hourly, and daily schedules. If cron is not triggered often enough, update checks, sync-related processing, uptime checks, and scheduled emails can be delayed.Option 1 (Recommended): Keep Use WP Cron enabled and trigger it externally
This is the default approach for most users and the main setup this article recommends.
Important distinction (avoid confusion)
- Keep Use WP Cron enabled at MainWP > Settings > Advanced Settings
- For this option, “uptime monitoring” means external third-party services sending requests to your Dashboard URL
- Do not rely on MainWP’s own uptime monitoring features to trigger WP Cron on the Dashboard site itself
MainWP uptime monitoring is for monitoring Child Sites. It is not a replacement for external cron-trigger requests to your Dashboard URL.
Method A: External uptime monitoring (no server cron needed)
Use an external service to send regularGET requests to your MainWP Dashboard URL.
Examples of external services:
- Uptime Robot
- Better Uptime
- Pingdom
- StatusCake
1
Create a monitor in an external service
Create a new HTTP(s) monitor in your chosen service.
2
Set the target URL
Start with your Dashboard homepage:
3
Set request method and interval
Use
GET and set the check interval to every minute.4
Save and activate the monitor
Make sure the monitor is active and running continuously.
5
Verify requests are reaching WordPress
If cron does not update in MainWP Cron Schedules, switch the monitor URL to:
Method B: Server cron request (hosting panel or server)
If you prefer host-level scheduling, configure a cron job that callswp-cron.php.
Most users set this up in:
- cPanel
Cron Jobs - Plesk
Scheduled Tasks - SSH
crontab
- Replace
https://example.comwith your MainWP Dashboard URL - Keep Use WP Cron enabled for Option 1
- Ensure auth/firewall/security rules do not block the request
Trigger frequency (Option 1)
Set the trigger to every minute for both Method A and Method B. MainWP registers minute-level cron hooks. Slower intervals introduce avoidable delays for scheduled actions.Option 2 (Advanced): Disable Use WP Cron and run server cron jobs directly
Use this only if you want to maintain manual MainWP cron jobs yourself. For commands and full setup details, follow Disable WP Cron.
Troubleshooting Option 1
Quick checklist
- Use WP Cron is enabled at MainWP > Settings > Advanced Settings
- External monitor or server cron is active and running every minute
- Target URL is reachable (
https://example.com/orhttps://example.com/wp-cron.php?doing_wp_cron) - No HTTP auth, firewall, CDN, or WAF rule is blocking requests
- Cron activity is updating at MainWP > Info > Cron Schedules
Symptom to cause to fix
Final recommendation
For most MainWP Dashboard installations:- Keep Use WP Cron enabled
- Use Method A or Method B to trigger WordPress every minute
- Switch to server cron-only mode only when you can maintain the full cron setup
