Skip to content
Subset

Migration

Move a database and media library between WordPress sites.

Moving a site usually means a database dump, a find and replace that breaks serialized data, and a folder of uploads copied by hand. Migration pushes or pulls the database and the media library between two sites, rewrites URLs and paths on the way, and swaps the new tables in at once.

DocumentationChangelog

The free version is not on WordPress.org yet. Its listing will be at wordpress.org/plugins/subset-migration and goes live with the first release.

What it does

How Migration works

Rewrites serialized data safely
URLs and paths are rewritten by a tokenizer that changes only string contents, so serialized and JSON values keep valid lengths and nothing is ever unserialized.
Swaps tables in at once
Incoming tables are built beside the live ones and renamed into place in one atomic swap, so the site never serves a half-migrated database.
Survives a timeout
Jobs run in resumable steps that save their place after every chunk, so a failed request or a closed browser resumes where it stopped.
Backs up before it replaces
Before a push, pull or import replaces a database, that database is exported first and listed on the Backups screen to download or restore.
Signs every request
Site-to-site requests are signed with HMAC-SHA256 over a timestamp, a single-use nonce and the exact body, and push and pull stay off until the destination allows them.

Free

What it includes

Everything Migration does is in the free plugin, with no licence to buy.

Free

WordPress.org

The real plugin. No nag, no time limit, no licence.

  • Push, pull, export and import
  • Media transfer of changed files only
  • Find and replace across serialized data
  • Whole multisite networks or one subsite
  • Backups, history and WP-CLI commands

Screens

What it looks like

These are placeholders, not screenshots. Migration is still being built, and a mocked-up admin screen would be a picture of software that does not exist yet. Each frame says what the real image will show.

Placeholder — not a screenshot
Tools → Subset Migration: push or pull a database and media library between two connected sites.
Placeholder — not a screenshot
Connection settings: allow push or pull, and copy this site's URL and secret key for the other site.

Waitlist

Want Migration when it ships?

It is not on WordPress.org yet and there is no date worth printing. Leave an address and you will hear about this one specifically — we record which plugin you asked about, so you are not signed up to news about the others.

One confirmation email, then nothing until there is something worth saying. Unsubscribing takes one click and no account.

Your address and what you are waiting for are stored now. This deployment has no mail provider connected yet, so the confirmation link is queued rather than sent, and it goes out the moment sending works.