Your AI can build a whole site. Then comes the unglamorous part: getting it off your local machine, onto a live server, and keeping the two in sync as you keep editing. That is usually a manual dance of export plugins, giant uploads that time out, and search-replace scripts you hope you got right.
3.12.0 makes it one workflow. It is a complete Backup, Sync & Migrate suite, and it is the biggest thing we have shipped since EMCP Cloud.
One portable file: Backup & Restore
At the core is a single, portable .emcp archive. Package your whole site (database and files) into one file, or database-only, or files-only, and restore it locally or from an upload.
The part that actually matters on real hosting is that it finishes. Backups and restores are driven from your browser in short, resumable, byte-offset slices that adapt to whatever your host allows. If a chunk is rejected, the uploader automatically halves it and retries at the same spot, converging on your host’s real limit without you knowing what it is. We tested it byte-for-byte on a 446 MB archive over a host that fights large requests. A restore rewrites URLs to the destination with a serialization-safe search-replace, keeps you logged in, and never touches wp-config.php or your salts.
For very large sites, you can skip the browser entirely: drop the .emcp into wp-content/emcp-backups/uploads/ over FTP and it shows up in the restore list.
Move it to a live server: Migration
Migrate pushes this whole site to a live server with no manual upload at all.
Download a tiny connector plugin from the admin, install it on the destination, pair the two sites, and hit Push & Restore. The archive streams over in resumable, firewall-safe packets. No single request runs long enough for a host to kill it, and a hiccup resumes from the last confirmed byte. The connector restores everything itself, running past a browser disconnect, and never touches the destination’s wp-config or salts.
When it is done, one click tells the connector to remove itself: unpair, purge staged data, deactivate, and delete its own files. Zero residue on the live site.
Keep them in sync: full, selective, and per-page
Migration is a one-time move. Sync is for everything after, pushing updates from your local or staging build to the paired live site.
- Full or selective sync pushes the whole site, or an exact scope you pick: chosen database tables and/or file areas (themes, plugins, uploads). A files-only sync never rewrites the live database.
- Content Sync is the one you will use every day. A Changes to sync list shows the pages, posts, and CPTs you changed locally. Sync any one of them to your live site with a click. Only its content, custom fields, taxonomy terms, and attached media travel (the featured image plus every image referenced in the content and Elementor data), matched by a stable id, with media IDs and URLs remapped so it renders correctly. No full database import, no downtime, and the rest of the live site is untouched. Push the About page you just rewrote without going anywhere near the live site’s orders, comments, or form entries.
Your AI can drive all of it
Seven MCP tools expose the whole feature to a connected agent: create-backup, list-backups, migrate-site, sync-to-live, sync-content-item, list-syncable-changes, and discard-sync-change. “Back up the site, then push the pricing page to production” is now something you can just ask for. The destructive tools are disabled by default and require an explicit confirmation, so nothing overwrites a live site by accident.
Two fixes worth calling out
- Dynamic content no longer locks a template out of the tools. If a Theme Builder template used a post’s date, category, or author as a paragraph, editing any element of it failed with
paragraph: invalid_value. Elementor was re-validating the whole document on save and rejecting an editor-authored dynamic value it could not resolve outside the live editor, so those edits now save the way the editor itself would. - No more silent blank pages on container-off sites. On long-lived installs with Elementor’s Flexbox Container feature turned off, creating a page with the tools stored a page that rendered empty. The tools now detect this and tell you to enable the feature first, instead of quietly producing a blank page, and
detect-elementor-versionreports what the site supports so your agent picks the right tools.
There is also a fix for an OAuth edge case where a sign-in could hand back a token it never actually saved, leaving you unable to reconnect.
Get it
Update from your WordPress dashboard (free) or via Freemius (Pro, since the Backup, Sync & Migrate module is Pro). Full details are in the Backup, Sync & Migrate docs and the changelog.
