Directory / plugin
Cherrylift – Selective Content Sync
v0.3.0 · by Gabriel de Tassigny
Move selected posts, pages, terms and media between WordPress sites without overwriting live data. IDs and links are remapped automatically.
About this plugin
Cherrylift copies the content you choose from one WordPress site to another, for example from staging to production, without migrating the database.
Copying a whole database (or whole tables) overwrites everything created on the target since the last sync: orders, user accounts, form entries, comments. Cherrylift only moves the items you pick, plus everything they depend on, and leaves the rest of the target site alone.
How it works
- On the source site, go to Tools Cherrylift Export, select content and download a package (a zip file).
- On the target site, upload it under Import. A preview shows what will be created or updated, and you can untick anything you don’t want to change.
- Import. Every reference is remapped to the target site’s IDs and URLs.
Features
- Dependencies included automatically: parent pages, categories and tags (with their parent terms), featured images, media used in blocks and galleries, and synced patterns.
- Safe to repeat: every item gets a stable ID that travels with it, so syncing again updates the same content instead of duplicating it. Content created separately with the same slug is recognized too.
- References remapped: parent pages, featured images, term hierarchy, image, gallery, cover, file and video block IDs,
wp-image-…classes,[gallery]shortcodes, media URLs (including every image size) and links to the source domain. - Media handled carefully: files are uploaded with WordPress’s usual checks and image sizes are regenerated; existing media is only replaced when the file actually changed.
- Meta merged, not wiped: custom fields in the package are updated; fields that only exist on the target are kept.
- Large packages are imported in batches with a progress bar.
- Drafts, scheduled and private content can be synced and keep their status.
- WP-CLI:
wp cherrylift exportandwp cherrylift import, including dry runs. - REST API for automation.
- Developer-friendly: more than 25 actions and filters to change what is exported, how content is matched, which meta keys hold IDs, and more. See the hooks reference.
- Translation-ready.
What is never synced
Users, comments, orders and other non-content data, by design. Site settings, themes, plugins, menus, templates and global styles are not synced either.
Source code
The full source code, tests and issue tracker are on GitHub. The admin screen’s JavaScript in build/ is compiled from src-js/ in that repository with @wordpress/scripts: run npm install and npm run build to rebuild it. Contributions are welcome; see CONTRIBUTING.md in the repository.