MainWP centralizes management of WordPress sites from a single dashboard. Hub at mainwp.abreumovers.com for WPX-hosted sites.
4-Layer Monitoring
| Layer | What | Frequency | |-------|------|-----------| | Uptime | HTTP status, SSL/domain expiration | 5 min / daily | | WP Health | WP/PHP versions, pending updates, disk/DB usage | Every sync / 12h | | Security | Vulnerability scanning, malware, firewall status | Every sync / daily | | Performance | Lighthouse audits (target: 90+ all categories) | Weekly |
Alert Priority
| Condition | Severity | Response Time | |-----------|----------|---------------| | Site down | Critical | 15 min | | SSL expiring < 7 days | Critical | Same day | | Critical vulnerability | Critical | Same day | | Response > 5s | High | 24 hours | | Plugin update available | Medium | 1 week | | Domain expiring < 30 days | Medium | 1 week |
Staged Update Pipeline
Run weekly. Monday is update day.
| Stage | Sites | Wait Before Next | |-------|-------|-----------------| | Detect | Sync all, categorize updates | — | | Canary | 1-3 low-risk sites | 24 hours | | Non-Critical | Remaining standard sites | 4-8 hours | | Critical | High-value client sites (backup first) | 24 hours |
After each stage: verify sites load, no PHP errors, uptime stable.
Connection Troubleshooting
Check first:
- MainWP Child plugin active on child site
- No firewall blocking Dashboard → Child requests
- SSL valid on both dashboard and child
- Correct URL format (include www or not, must be consistent)
Common fixes:
| Problem | Fix |
|---------|-----|
| Child not detected | Activate MainWP Child plugin |
| Cloudflare 403 | WAF → IP Rules → Allow dashboard IP |
| Wordfence blocking | Whitelist dashboard IP in Wordfence |
| OPENSSL_ERROR | Reconnect (rotates keys) |
| Timeouts | Set max_execution_time = 300 on child |
Reconnection flow: Sync → Reconnect → Remove and re-add → Full connection checklist.
API Access
Two APIs available:
| API | Auth | Best For |
|-----|------|---------|
| REST v2 (/wp-json/mainwp/v2/) | Bearer token | Traditional CRUD |
| Abilities API (/wp-json/wp-abilities/v1/) | Application Password | AI agents, automation |
Abilities API has 62 actions covering sites, updates, clients, tags, and batch operations. Destructive operations require confirm: true after preview.