VO-Solo-Post-Sync
Sync WordPress blog posts, images, and metadata to a failover server over DNS or IP without changing public URLs.
by VO WordPress · github.com/vopvtltd/vo-solo-post-sync · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/vopvtltd/vo-solo-post-sync/archive/refs/heads/main.zipSync WordPress blog posts, images, and metadata to a failover server over DNS or IP without changing public URLs.
Description
Use this when the same site (for example riveroaksmri.com/blogs) runs on Server A and a standby Server B. Publishing on A used to leave B stale, which hurts SEO after DNS failover.
Install the plugin on both WordPress copies. The primary pushes:
- Post title, slug, content, excerpt, status, and exact publish/modified dates
- Featured images and attached media, written to the same uploads path
- Categories, tags, and custom taxonomies
- SEO and custom field metadata (Yoast, Rank Math, ACF, and others)
- Deletes or trash, if enabled
Visitor-facing URLs stay on the public domain. The plugin never rewrites content to the failover IP or internal hostname.
Installation
- Copy the
vo-solo-post-syncfolder intowp-content/plugins/on Server A and Server B. - Activate VO-Solo-Post-Sync on both sites.
- On both sites, open VO Solo Post Sync → Settings and paste the same Shared API key.
- Server A: role = Primary. Set Destination URL to Server B’s WordPress home URL.
- Server B: role = Failover.
- On Server A click Test connection, then Sync all posts once to seed B.
DNS mode: Destination URL is a hostname that already points at Server B (internal DNS, hosts file, or a dedicated failover name).
IP mode: Destination URL is the public HTTPS URL (https://riveroaksmri.com or https://riveroaksmri.com/blogs). Destination IP is Server B. Requests keep the real Host/SNI so the SSL certificate still validates.
Frequently Asked Questions
Will this change permalinks or image URLs?
No. Slugs and upload relative paths are copied as-is. Public URLs stay on the visitor domain.
Do post IDs stay the same?
Not necessarily. Matching uses a hidden sync GUID, then the same slug. Gutenberg image IDs and attachment meta are remapped automatically.
What if we already created some posts by hand on Server B?
A full sync updates the failover post that has the same slug, so you do not get duplicates.
Changelog
1.0.0
- Initial release.