WP Migrate 2.6 Released: Full-Site Exports and Import to Local

By Kevin Hoffman, Product Manager

Today we’re pleased to announce the release of WP Migrate 2.6, which introduces full-site exports and a new integration for seamlessly importing to Local. Together, WP Migrate and Local are simplifying migrations with a new remote-to-local workflow that is 100% free to the WordPress community, courtesy of our friends at WP Engine.

📤 Full-Site Exports

With full-site exports, we’re extending the existing database exports to allow for the bundling of media, themes, plugins, and other files into a single ZIP archive. WP Migrate Pro users who have done push or pull migrations in the past will instantly recognize the familiar panel-based UI that is now present when configuring an export.

How It Works

In version 2.6, the Database Export action has been replaced with a more flexible Export action that is able to include the database, files, or both.

New full-site export action

Choosing What to Export

By default, WP Migrate exports the database as a SQL dump file the same as it always has. If any files such as media, themes, or plugins are selected, then the resulting export will be downloaded as a compressed ZIP archive instead of a SQL dump file. The contents of this archive include the database and files that together represent a complete WordPress site.

Full-site export profile with database and files included

Including WordPress Core Files

A full-site export wouldn’t be complete without the inclusion of WordPress core files, represented by a new panel at the bottom of each Export profile. By including core files, the exact version of WordPress can be preserved and subsequently restored at its destination.

For a complete overview of the new export possibilities and some specific multisite gotchas, check out our documentation of Full-Site Exports.

🐉 Drag-And-Drop Import to Local

Now that we’ve got a reliable method for exporting a full site from any server, we can use the generated ZIP archive to spin up a local development environment. That’s where Local comes in.

Local desktop app

How It Works

With WP Engine’s acquisition of Delicious Brains, the teams behind WP Migrate and Local now work under the same metaphorical roof. As a result, we have a lot of insight into each other’s products, culminating in a silky smooth import flow.

Fully Compatible ZIP Archives

The full-site ZIP archives generated by WP Migrate are structured exactly to meet Local’s requirements. This means importing to Local is as simple as dragging and dropping the ZIP file onto the Local app. Alternatively Import can be selected from the Local menu to open the file browser.

Local drop zone

Environment Matching

Each site exported with WP Migrate includes a wpmigrate-export.json file which contains metadata such as the PHP and MySQL versions that were last used on the site. During the import, Local reads this file and attempts to match the environment to that of the exported site, so the local site works (and breaks!) just like its remote counterpart. For all of you troubleshooters, this one’s for you.

Local environment details

Zero-Config WP Migrate Setup

When exporting a full site, WP Migrate itself can be included in the list of plugins, which means it’ll be pre-installed and activated as soon as the Local site spins up. This setup feels like a dream compared to the old days of configuring multiple plugins, add-ons, and license keys across two environments. We’ve come a long way.

For a complete step-by-step walkthrough of the remote-to-local workflow, check out our documentation for Importing WordPress to a Local Development Environment.

🐘 Why Export and Import When You Can Push or Pull?

Before we wrap up, let’s address the elephant in the room.

WP Migrate has spent years building its reputation on pushing and pulling directly between sites. That’s our bread and butter. We strongly believe push/pull is still the best method for moving between two existing WordPress installs, and of course it really shines when migrating incremental changes over time.

With full-site exports, we’re adding a new tool to the toolbox, one that makes sense for certain situations where a second WordPress install may not even exist yet. This is often the case when migrating a site to a local development environment for the first time, which is a barrier to entry for new developers and a tedious chore for others.

When we realized how much simpler we could make the remote-to-local workflow by embracing full-site exports, we reached out to the Local team who helped make it happen. Massive thanks to everyone at WP Engine who got behind this effort. We can’t wait to hear what you think.

Full Changelog

For a full list of new features, improvements, and bug fixes, see the 2.6 Changelog.

Next Up

With 2.6 out the door, we’re shifting our focus back to migration recovery and resiliency. We’ve gathered a list of the most problematic errors that cause migrations to fail, and we are working to either fix them outright or at least handle them more gracefully.

Until then, we want to hear your thoughts on the WP Migrate + Local integration. Let us know on Twitter or in the comments below.

About the Author

Kevin Hoffman Product Manager

Kevin Hoffman is a Sr. Product Manager at WP Engine where he is building WordPress plugins such as WP Migrate and WP Offload Media. With a background in user interface design and web development, he transitioned into product management at GiveWP and Delicious Brains before joining WP Engine in 2022. Kevin works remotely from Pittsburgh, Pennsylvania, where he lives with is wife and son.