Backup & Migrate
The Backup & Migrate module packages a whole WordPress site (database and files) into a portable, single-file .emcp archive, and gives you four ways to move that data around:
- Backup & Restore: create a full (or database-only / files-only)
.emcparchive, by hand or on a schedule, and restore it from an upload. - Migrate local to live: push this whole site to a live server through a lightweight connector plugin, with no manual upload.
- Sync: push a full or selective scope (chosen tables and/or file areas) to a paired live site.
- Content Sync: push individual changed pages, posts, or CPTs to a paired live site. Content, custom fields, terms, and attached media only, with no full database import and no downtime.
It is a Pro module, on by default, with a switch on EMCP Tools → Modules (group “Site & safety”). All of it is also driveable by a connected AI agent through seven MCP tools.
The Backup & Migrate screen
Section titled “The Backup & Migrate screen”Open EMCP Tools → Safety → Backup & Migrate. In 3.18.0 everything lives on one screen with five sections, switched with the tabs at the top right. Each section has its own URL (admin.php?page=emcp-tools-migrate&view=<section>), so you can bookmark it:
| Section | view= | What it does |
|---|---|---|
| Backup | backup (default) | Create a backup, see Backup health, set up scheduled backups, and list your recent backups |
| Restore | restore | Upload an .emcp (or drop one in by FTP) and restore it |
| Migrate | migrate | Download the connector, pair a live site, and push a backup to it |
| Sync | sync | Push individual content changes, or a full or selective scope, to a paired site |
| History | history | Every backup this site has created, with Download and delete |
A running job keeps going when you switch sections, so you can start a backup and check the History section while it runs. On a free build, or without an active licence, the screen shows the Pro locked screen instead.
How it works
Section titled “How it works”Everything is built on one portable format: the .emcp archive, a single file that streams the database and files with a manifest, so it can be created, moved, and restored in resumable slices instead of loaded whole. Manual backups and restores are driven from your browser in short, time-bounded chunks, so large sites finish reliably even on modest and shared hosts. Scheduled backups run the same chunks from WP-Cron instead. A restore rewrites the site address and Elementor page-data URLs to the destination with a serialization-safe search-replace, preserves your current login, and never touches wp-config.php or your salts.
Choosing the right tool
Section titled “Choosing the right tool”| You want to… | Use |
|---|---|
| Take a safety copy before a big change | Backup |
| Move a local/staging build to its live server for the first time | Migrate |
| Push a full or partial refresh to an existing live site | Sync |
| Publish one page you just edited, without touching the rest of the live site | Content Sync |
MCP tools
Section titled “MCP tools”A connected AI agent can drive the whole feature through seven tools. The four non-destructive tools are enabled by default; the three destructive tools are disabled by default and require an explicit confirm: true. Enable them on EMCP Tools → Tools, platform tab EMCP Modules, category Backup & Migrate first.
| Tool | Purpose | Default |
|---|---|---|
create-backup | Build a full / database / files .emcp on this server and return its id, size, and download URL | On |
list-backups | List existing backups | On |
list-syncable-changes | List the local content changes not yet synced to a paired site | On |
migrate-site | Push the whole site to a paired target and trigger the remote restore | Off, confirm |
sync-to-live | Push a full or selective scope to a paired target | Off, confirm |
sync-content-item | Push one changed page/post/CPT to a paired target | Off, confirm |
discard-sync-change | Mark a local change as not-to-sync | On |
Safety model
Section titled “Safety model”- The connector on a destination is a separate, unlicensed, single-file plugin gated only by a single-use pairing code and HMAC-signed requests. The source side is Pro.
- Destructive operations (migrate, sync, content sync) are disabled by default and require confirmation.
- A restore never modifies
wp-config.phpor your salts, and preserves your current session. - You can remove the connector automatically when a migration completes. It unpairs, purges staged data, deactivates, and deletes its own files.
