Monitoring Workflow
FreshProactive monitoring strategy for your WordPress fleet using MainWP.
Monitoring Layers
Layer 1: Uptime Monitoring
Configuration
Dashboard → MainWP → Settings → Monitoring
- Enable: Yes
- Interval: 5 minutes
- Keyword Check: Optional (verify specific text on page)
- Timeout: 30 secondsUptime Check Types
| Check | Description | Frequency |
|---|---|---|
| HTTP Status | Verify 200 OK response | Every 5 min |
| Keyword | Verify specific text appears | Every 5 min |
| SSL Validity | Certificate expiration | Daily |
| Domain Expiry | Domain registration expiration | Daily |
Response Actions
| Status | Action |
|---|---|
| Down (1st check) | Wait for 2nd check (avoid false positive) |
| Down (2nd check) | Send alert email |
| Down (3rd check) | Escalate — check server |
| SSL < 30 days | Alert to renew certificate |
| SSL < 7 days | Critical alert |
| Domain < 30 days | Alert to renew domain |
Via API
bash
# Check all sites
curl -X POST -u "admin:xxxx" \
-H "Content-Type: application/json" \
-d '{"input":{"site_ids":"all"}}' \
"https://dashboard.com/wp-json/wp-abilities/v1/abilities/mainwp/check-sites-v1/run"Layer 2: WordPress Health
What to Monitor
| Metric | Source | Frequency |
|---|---|---|
| WordPress version | Sync data | Every sync |
| PHP version | Sync data | Every sync |
| Plugin updates available | Update check | Every 12 hours |
| Theme updates available | Update check | Every 12 hours |
| Disk usage | Site health | Weekly |
| Database size | Site health | Weekly |
Health Dashboard
Dashboard → MainWP → Overview
- Sites with updates: [count]
- Sites with issues: [count]
- Sites disconnected: [count]Layer 3: Security Monitoring
Vulnerability Scanning
With the Vulnerability Checker extension:
| Setting | Recommended |
|---|---|
| Scan frequency | Every sync |
| Alert on Critical | Immediate email |
| Alert on High | Daily digest |
| Auto-deactivate | Only for Critical CVEs |
Malware Scanning
With Sucuri or Wordfence extensions:
| Setting | Recommended |
|---|---|
| Scan frequency | Daily |
| Alert threshold | Any detection |
| Auto-quarantine | Enabled (with backup) |
Layer 4: Performance Monitoring
Lighthouse Audits
With the Lighthouse extension:
| Metric | Target | Action if Below |
|---|---|---|
| Performance | 90+ | Investigate, optimize |
| Accessibility | 90+ | Fix accessibility issues |
| Best Practices | 90+ | Review security headers, HTTPS |
| SEO | 90+ | Fix meta tags, structured data |
Schedule weekly Lighthouse audits from Dashboard → Lighthouse → Schedule.
Alert Configuration
Email Notifications
Dashboard → MainWP → Settings → Email
- Notification email: admin@example.com
- Daily digest: Enabled
- Immediate alerts: Critical issues onlyAlert Priority Matrix
| Layer | Severity | Response Time |
|---|---|---|
| Uptime — down | Critical | 15 minutes |
| SSL expiring < 7 days | Critical | Same day |
| Security vulnerability (Critical) | Critical | Same day |
| Uptime — slow (>5s) | High | 24 hours |
| Plugin update available | Medium | 1 week |
| Performance score drop | Medium | 1 week |
| Domain expiring < 30 days | Medium | 1 week |
| Translation update | Low | 2 weeks |
Daily Monitoring Routine
- Morning — Review Dashboard overview widgets
- Check alerts — Respond to any overnight notifications
- Quick scan — Sites with issues → investigate
- Updates — Review available updates, apply if scheduled
- End of day — Verify no new alerts