Dashboard-Child Synchronization
FreshSource: MainWP Sync Documentation
How Sync Works
MainWP Dashboard communicates with child sites through HTTPS requests using cURL. Each sync request requires three parameters:
- Username - Administrator credentials for connection
- Function - The specific function to execute on the child site
- MainWP Signature - Authentication verification (must match or request fails)
Example Request
https://childsite.com/wp-admin/admin-ajax.php?user=demouser&function=stats&mainwpsignature=dgTOIUbQyBWvCh0pNhnwmxmHoeayfg34...Data Retrieved
The get_site_stats() function in MainWP Child retrieves:
- Plugin, theme, and WordPress core updates
- Potentially abandoned plugins and themes
- Site health metrics
- Extension-specific information
Extension Data Hook
The mainwp-sync-others-data hook allows extensions to include data in sync requests. Supported plugins include:
BackWPup, BackupWordPress, BackupBuddy, Client Reports, WP Staging, WP Time Capsule, UpdraftPlus, Page Speed, WP Rocket
Security Mechanism
Asymmetric cryptography: One key encrypts data; only its corresponding key decrypts it, ensuring only authorized Dashboard instances can communicate with child sites.
Performance Management
Synchronizing requires CPU resources. To mitigate availability issues:
- Expand server resources
- Reduce Maximum simultaneous sync requests in MainWP Settings > Advanced Settings