WCP Synchronizer
Wordpress Plugin for sync content between site A & site B
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/joydumply/synchronizer/archive/refs/heads/main.zipReadme
WCP Synchronizer
WordPress plugin for two-way content synchronization between two WordPress sites via REST API.
What it syncs
- Posts and pages (with all meta, ACF fields, featured image, taxonomies)
- Media files (with alt text, title, caption)
- Taxonomy terms (with all term meta and Yoast data)
Requirements
- WordPress 5.6+
- PHP 7.4+
- Both sites must have the plugin installed
Setup
- Install and activate the plugin on both sites
- Go to Settings → WCP Synchronizer on each site
- Set the same API Key on both sites
- Set the Remote Site URL pointing to the other site
- Set the Allowed Domain to the current site's production hostname (e.g.
example.com) — without protocol or trailing slash - Enable sync with the toggle
Domain protection
The Allowed Domain field is a safety lock against accidental sync when a developer pulls the production database locally.
- If the field is empty — sync is always disabled
- If the current site's domain does not match the configured hostname — sync is automatically disabled and a warning is shown in the admin panel
- If the domains match — sync works normally
Recommended workflow:
- Set
Allowed Domainto your production hostname on the production site before any DB snapshots are taken - When a developer pulls the DB locally, the local domain won't match, so sync will be automatically blocked — no risk of local changes accidentally reaching the production remote site
How it works
Both sites are identical — each one can send and receive. When you save a post, term, or upload media, the plugin sends it to the remote site via REST API using a shared API key for authentication.
ID collisions are handled automatically. If the remote ID is taken by a different post type, a new entry is created and the mapping is stored.
API endpoints
POST /wp-json/content-sync/v1/post
DELETE /wp-json/content-sync/v1/post/{id}
POST /wp-json/content-sync/v1/media
PATCH /wp-json/content-sync/v1/media/{id}
DELETE /wp-json/content-sync/v1/media/{id}
POST /wp-json/content-sync/v1/taxonomy
DELETE /wp-json/content-sync/v1/taxonomy/{id}
Logs
Settings page has a Logs tab where you can filter sync events by type and status.