WordPress XML Export/Import vs. WP Migrate DB Pro

We’ve been asked this question a few times now, “Why should I invest in WP Migrate DB Pro when WordPress itself has a readily available export feature.”

It’s a great question and one that we’re happy to answer. The long and the short of it is that WordPress does include a suite of export and import features, however, their tools are simply not extensive enough to easily migrate the entirety of one website’s data to another.

Migrate All Your Data

If you head to the export page within your WordPress dashboard you’ll notice that it is quite limited in what it will allow you to export.

Here you’ll notice that you are able to export the following:

  • Posts, pages, navigation menus & custom posts.
  • Comments.
  • Custom fields.
  • Terms.

With WP Migrate DB Pro you’re given the choice of which tables you’d like to migrate. This means you can elect to migrate the entire DB or select tables.

This makes WP Migrate DB Pro a viable option for migrating entire WordPress databases from one location to the other. WordPress’ export tool will only be useful if you want to migrate content such as posts and comments.

Push & Pull Migrations

One of the stand out features of Migrate DB Pro is it’s push and pull functionality. This allows you to connect to a remote website and either push data directly to it or pull data from it. As such, there’s no need to log into the remote website to complete the migration.

WordPress’ export tool does not have this functionality. Instead you’ll need to do the following to complete a migration:

  1. Log into your first WordPress website.
  2. Export your data into an XML file.
  3. Log into your second WordPress website.
  4. Upload and import your XML file.

Migrate DB Pro is simply faster and easier in this regard.

Find & Replace

Migrate DB Pro allows you to export your wp_options table. This table is vital as it contains the majority of the settings required to make your website function correctly. One the biggest caveats when migrating this table is that it contains several absolute URLs, many of these include your website’s domain name.

When migrating a WordPress website from one location to another you’re required to change these values. For instance, let’s say I’m creating a new cat website for a client. I’ve created an alias in my local environment that looks like this: http://dev.coolcats.com. I’ve completed my work on the website and decide to push those changes to a live staging website so that my client can review my changes. The staging website is http://staging.coolcats.com.

The problem is that my local database will contain several references to my local alias (http://dev.coolcats.com). Luckily with Migrate DB Pro you won’t need to worry about this at all. Once you’ve connected to the remote website we will intelligently pre-populate a set of find and replace fields to automatically convert the old site’s URL to the new one during the migration.

On top of this, you’re also able to specify your own custom find and replace fields. This will allow you to find and replace any specific string within your database and replace it with another during migration. Again, WordPress’ own export tools do not have this functionality.

In Conclusion

As you may have noticed, WP Migrate DB Pro and WordPress’ export utilities are extremely different. The biggest difference is that WordPress’ export utilities won’t allow you to migrate your entire WordPress website between hosts, WP Migrate DB Pro will.

For the most part they serve different roles, though the main thing to take away from this is that Migrate DB Pro can accomplish everything WordPress’ export and import tools can only faster and easier.

About the Author

Chris Aprea

Chris wrote a ton of code and helped lots of customers for Delicious Brains during his 2-year stint with us. He has since moved on to other things.

  • Great post. Thanks for making an awesome Plugin.

  • This seems really dope. Is there a trial?

  • Alison Foxall

    How does this handle widgets and serialized data? If I do a find and replace on everything in the database traditionally, I lose my text widgets if my domain name is not the same length as the original. Does this plugin take care of this issue?

    • Yep, it does! It unserializes the data, run the find and replace on each of the elements of the object or array, then serializes it again. 🙂

  • Cheryl Creech

    Can you import blog pieces with the graphics attached to the piece? I have a blog of thousands of articles with graphics and videos embedded and set and preferred pics for facebooks. Trying to go back and fix the pics in every single one after migration is a nightmare.