Skip to content
Subset

User guide

Getting started

Connect two sites, run your first pull, and know what stays behind on the destination.

Migration moves a WordPress database and media library between two sites: push this site to another, pull another site into this one, or export and import a .sql.gz file. Themes and plugins are out of scope on purpose.

Install on both sites

wp plugin install subset-migration --activate

Install it on both sites. On multisite, network-activate it.

Connect them

On the site you will connect to, open

Tools → Subset Migration → Connection settings (placeholder — not final) and allow push, pull or both. Both are off by default, so a site nobody has configured cannot be overwritten. Copy that site’s connection info — its URL and a secret key — and paste it into Subset Migration on the other site.

Run a pull

Choose Pull, pick what to bring across (the database, the media library or both) and read the preview: it lists the tables, the URL and path rewrites, and the size of the backup that will be taken first.

The job runs in resumable steps. If the browser closes or a request fails, resume it from the same screen, or with wp subset migration resume.

What stays behind

A pull or import replaces the destination’s database, but these stay with the destination: its connection settings and saved connections, home, siteurl, upload_path, upload_url_path, blog_public, and the plugin’s own activation.

Because the users table is replaced too, you are signed back in as the user with the same username in the new data, or signed out if there is none.

The developer reference covers WP-CLI, the hooks fired around a migration, and locking settings from wp-config.php.