WP Migrate DB


WP Migrate DB exports your database as a MySQL data dump (much like phpMyAdmin), does a find and replace on URLs and file paths, handles serialized data, then allows you to save it to your computer as an SQL file. To complete the migration, you need to use a database management tool (e.g. phpMyAdmin) to import the SQL file to your database, replacing your existing database. It is perfect for developers who need to migrate fresh data from the production site to their local install, or migrate their locally developed site to a staging or production server.

WP Migrate DB handles serialized data (both arrays and objects) by unserializing the data and going through it, identifying strings and running a find & replace on them. Once it has gone through all the data, it serializes it again and sticks it back in the database.

Example: s:5:"hello" becomes s:11:"hello world"

PRO Version with Email Support and More Features

Compare pro vs free →

See the video below or visit the web site to learn more about the pro version.


  • Main screen
  • Settings tab
  • Saving the exported database


  1. Use WordPress’ built-in installer
  2. Access the “Migrate DB” menu option under Tools (or under Settings on multsite intallations)


Why wouldn’t I just use WordPress’ built-in XML export/import to migrate my site?

WP Migrate DB will migrate your entire WordPress database, WordPress’ built-in tools will not. For more details, please see our blog post, WordPress XML Export/Import vs. WP Migrate DB Pro.

Will you migrate my site for me?

Sorry, but we do not offer site migration services at the moment.

Does the plugin support multisite?

Yes, but the Multisite Tools addon for the pro version does a lot more with multisite like migrating a subsite as a single-site install.

Does the plugin migrate files as well?

No, it only operates on the database. The pro version’s Media Files addon allows you to migrate media files and the Theme & Plugin Files addon allows you to migrate plugin and theme files as well.

Why do I end up with a wp-login.php download instead of the exported SQL file?

It is likely you have a download manager plugin or extension installed in your web browser. You will need to disable it for the SQL download to work properly.

Does the plugin handle serialized data?

Yep, it will run a find & replace on your serialized data and migrate it without corrupting it. See our documentation for details.

What are the requirements?

They are the same as the requirements for WP Migrate DB Pro.

Do you offer email support?

If you upgrade to WP Migrate DB Pro, we will gladly provide you with email support. We take pride in delivering exceptional customer support. We do not provide email support for the free version.


November 1, 2019
The free version doesn't give you enough features for it to be of any actual use because the import, pull and push options are disabled. If you don't allow imports then you may as well use a UI like phpMyAdmin for the export because you'll need it for the import anyway. The plugin has a lot of potential but the premium version is way overpriced if you just want one site like myself, so the free version is the only option and doesn't give you the right tools to do anything productive with it.
September 26, 2019
This plugin does only half of expected. If i need to pay for import, then this free version is useless for me. Maybe you could keep the basic functions for free as migration means export+import.
September 16, 2019
I'll admit I may have found a similar solution on Git Hub, which after 6 months of constant errors and long migration times, I decided to purchase Migrate DB Pro. After just one migration, I wish I'd purchased the Pro version of this plugin 6 months ago. Migrate DB Pro has additional features that avoid issues caused by alternatives and the migration time was incredibly quick in comparison. Even faster when using their CLI Add On. A massive time saver!
August 24, 2019
The find replace works pretty well as you import databases. However, it is now only in the paid tier. :/ Consider using Peach which is a free, open-source web migration tool on github under psaia/Peach
August 21, 2019
This plugin used to be very nice. Since they removed the 'import' feature from the free version, the 'free' version has become obsolete. (Pro version should still be good though)
Read all 214 reviews

Contributors & Developers

“WP Migrate DB” is open source software. The following people have contributed to this plugin.


“WP Migrate DB” has been translated into 7 locales. Thank you to the translators for their contributions.

Translate “WP Migrate DB” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


WP Migrate DB 1.0.11 – 2019-04-30

  • Bug fix: WP_Filesystem initialized on all wp-admin pages

WP Migrate DB 1.0.10 – 2019-02-12

  • Improvement: Compatibility with MySQL 8
  • Improvement: UI Updates

WP Migrate DB 1.0.9 – 2019-01-29

  • Bug fix: Bit fields with a value of NULL are handled incorrectly
  • Improvement: Major refactor to remove third-party dependency injection container

WP Migrate DB 1.0.8 – 2018-11-29

  • Bug fix: WordPress filesystem class not correctly loaded and causes 500 error
  • Improvement: Remove deprecated PHP code making PHP 7+ compatibility checks pass

WP Migrate DB 1.0.7 – 2018-11-21

  • Bug fix: WP Migrate DB Anonymization plugin no longer functions
  • Bug fix: 500 errors occur when another plugin is installed that includes Composer
  • Improvement: Add Theme & Plugin Files Addon to addons list
  • Improvement: Remove un-needed template files

WP Migrate DB 1.0.6 – 2018-11-19

  • New: Increased PHP version requirement from PHP 5.2+ to PHP 5.4+
  • Improvement: Major reorganization of the PHP code into better classes and a better folder structure

WP Migrate DB 1.0.5 – 2018-11-09

  • New: Updated YouTube video in migration progress modal
  • Bug fix: Duplicate JavaScript causes console error

WP Migrate DB 1.0.4 – 2018-09-13

  • Bug fix: Overall progress bar spins when font-awesome loaded

WP Migrate DB 1.0.3 – 2018-09-10

  • Bug fix: Usage of static keyword errors in PHP 5.2.4

WP Migrate DB 1.0.2 – 2017-10-25

  • Bug fix: Some plugins causing “Invalid nonce” errors when using compatibility mode
  • Bug fix: Error for invalid permissions for Exports not displaying

WP Migrate DB 1.0.1 – 2017-09-14

  • Bug Fix: Parse error on PHP 5.2
  • Bug Fix: Row not set for wpmdb_replace_custom_data filter

WP Migrate DB 1.0 – 2017-08-11

  • New: Plugins and themes are disabled by default for HTTP requests made by WP Migrate DB Pro for better performance and compatibility
  • Improvement: Page is reloaded automatically after migrations that alter the wp_options, wp_users, and wp_usermeta tables
  • Improvement: Additional constants added to the diagnostic log for better debugging by our support team
  • Improvement: Compatibility mode directory permission errors are now dismissable and fewer notices are displayed
  • Bug Fix: Find & Replace not operating on wp_site and wp_blogs tables on multisite

WP Migrate DB 0.9.2 – 2016-12-16

  • Bug Fix: Fixing 500 error for exports due to missing dependency on the WPMDB_Filesystem class

WP Migrate DB 0.9.1 – 2016-12-15

  • Bug Fix: Tables occasionally shown as completed twice, throwing off migration progress
  • Bug Fix: Backups run before find/replace operations sometimes have incorrect encoding

WP Migrate DB 0.9 – 2016-10-20

  • New: In-place Find & Replace functionality added – a find and replace can now be run on a site’s own database
  • New: CLI find-replace subcommand added
  • Improvement: Removed font-family declarations from stylesheets
  • Improvement: Truncate WP Migrate DB Pro diagnostic log to always be < 1MB, to help with memory exhaustion errors
  • Improvement: Added help tooltips for the default find and replace fields
  • Improvement: Added multisite specific constants to the diagnostic log
  • Improvement: “Clear Error Log” button only removes error messages and updates any changed diagnostic values
  • Improvement: Total stage progress now remains visible when scrolling migration item progress
  • Improvement: Show/Hide Tables setting does not persist between sessions.
  • Improvement: Progress bar animations now reflect paused migration state
  • Improvement: JS files now include a version number to better avoid cache issues

WP Migrate DB 0.8 – 2016-04-12

  • New: Migration progress UI
  • New: Individual table migration progress
  • New: Migration progress shown in title bar
  • New: Settings tab UI
  • Improvement: Adding a new find/replace row now automatically adds focus to the new “find” input
  • Improvement: Compatibility with WordPress 4.5

WP Migrate DB 0.7.2 – 2015-12-03

  • Improvement: “Migrate” button renamed to “Export”
  • Improvement: Uses WP_Filesystem instead of direct PHP filesystem functionality where possible
  • Improvement: Remove Find & Replace row icon is now a little dimmer to reduce UI clutter
  • Improvement: Compatibility with WordPress 4.4

WP Migrate DB 0.7.1 – 2015-07-09

  • Improvement: Added more diagnostic info to facilitate debugging
  • Improvement: Global JS variables moved to single global object to avoid conflicts
  • Bug Fix: WP Migrate DB and Pro can be activated at the same time when activating plugins in bulk or via WP-CLI
  • Bug Fix: BINARY data not exported properly
  • Bug Fix: BIT data not exported properly
  • Bug Fix: When post_max_size is set to 0 (unlimited), wpmdb_bottleneck is broken
  • Bug Fix: Saved Profiles link is broken in certain situations

WP Migrate DB 0.7 – 2015-06-12

  • New: WP-CLI export subcommand
  • New: Quick copy find textbox value to replace textbox by clicking arrow icon in between (hat tip Jonathan Perlman)
  • New: Added filters to hook into find & replace routine and deal with encoded data (example)
  • Improvement: Greatly reduced data passed through each HTTP request for better security and reliability
  • Improvement: Massive overhaul of input sanitization for better security
  • Improvement: Add _mig_ prefix to wpmdb_alter_statements table
  • Improvement: Cleanup wpmdb_alter_statements tables from failed migrations
  • Improvement: Show dimmed remove icons in find & replace rows to indicate they can be removed
  • Improvement: Dim remove icons next to saved profiles
  • Improvement: Better error message when empty response received from remote server
  • Improvement: Added diagnostic info to facilitate debugging and decrease time to resolution for support requests
  • Improvement: Warning notice when WP_HTTP_BLOCK_EXTERNAL constant is set to true
  • Improvement: Leave it to WordPress core to convert tables to utf8mb4
  • Improvement: Workaround to fix issues with Siteground’s staging environments
  • Bug fix: Connection URL with space(s) in beginning failing
  • Bug fix: Cancelling a gzipped Export does not remove file
  • Bug fix: Unusual table names causing regular expressions to fail
  • Bug fix: Preserving options not working when default subsite is not 1
  • Bug fix: NAN% shown at beginning of a migration
  • Bug fix: Migration progress bar is overflowing the scale, passing 100%
  • Bug fix: Custom post type links broken after migration with Compatibility Mode enabled
  • Bug fix: Saving a new profile does not change the URL to that saved profile URL

WP Migrate DB 0.6.1 – 2014-10-29

  • New: breadcrumb-style UI for saved profiles
  • New: Brazilian Portugese translation
  • Security: Added .htaccess to backup folder to help prevent direct downloads
  • Security: False values not included in signature
  • Improvement: Compatibility with TGM Plugin Activation
  • Improvement: Fixed hundreds of PHP Code Sniffer warnings
  • Improvement: Switch to update_site_option() and get_site_option()
  • Improvement: Cleaner and more instructive error message on JSON decoding failure
  • Improvement: New hooks to massage data before and after find & replace
  • Improvement: Common server security rules better accommodated
  • Improvement: Better compatibility with SSL on WP Engine
  • Improvement: Minify all the Javascripts
  • Improvement: Use PHP’s DIRECTORY_SEPARATOR instead of our own constant
  • Improvement: Updated tons of translation strings to be translator-friendly
  • Improvement: Find & replace field error messages could suggest removing the fields
  • Improvement: Download button for Diagnostic Info & Error Log
  • Bug fix: 404 errors after successful migrations due to caching
  • Bug fix: Multisite exports broken on PHP < 5.4.7
  • Bug fix: Using relative paths for file includes
  • Bug fix: Typing new profile name does not select “Create new profile” option
  • Bug fix: Find & replace field errors stick around even after removing fields
  • Bug fix: wpmdb_error_log option is auto loading
  • Bug fix: Inconsistent stripping of slashes
  • Bug fix: Spinner is inconsistent with WP 3.8+ spinner
  • Bug fix: Apostrophe in path not being handled
  • Bug fix: Inappropriate use of htmlentities()
  • Bug fix: The table tooltip still shows during the media files migration
  • Bug fix: Import/Export issues between MySQL 5.1 and 5.5+
  • Bug fix: Notice error on Updates dashboard page
  • Bug fix: Signature verification error when local and remote plugins are different versions
  • Bug fix: Find & replace handle icon is rendering poorly
  • Bug fix: PHP Notice: Undefined variable: safe_mode
  • Bug fix: Fatal error: Cannot use object of type WP_Error as array in verify_download()

WP Migrate DB 0.6 – 2014-08-19

  • New: Updated the migration UI to include a detailed progress bar, time elapsed, pause and cancel buttons and more!
  • New: Option to exclude transients (temporary cached data)
  • New: Migration profiles
  • New: Setting to configure the maximum request size (how much data is exported in a given HTTP request)
  • Improvement: Unlimited find & replace fields with drag & drop reordering

WP Migrate DB 0.5 – 2013-07-26

WP Migrate DB 0.4.4 – 2013-05-19

WP Migrate DB 0.4.3 – 2012-12-18

  • Fixed deprecated error notices when debug mode is on
  • Bug fix: Exports views as tables
  • Compatibility tested with WordPress 3.5

WP Migrate DB 0.4.2 – 2012-09-13

  • Moved screenshots to /assets folder and updated them to support retina
  • Added sidebar including author profile and survey to gauge interest for a pro version

WP Migrate DB 0.4.1 – 2012-08-15

  • Removed WP App Store installer – not allowed in WP.org repo

WP Migrate DB 0.4 – 2012-08-07

  • New: More than 4x faster than version 0.3 due to find & replace improvements
  • New: Option to turn off replacing GUIDs
  • New: Option to exclude spam comments and post revisions from the export
  • New: Option to save file with gzip compression
  • New: Added date and time to file names
  • New: Display path to SQL file on the server
  • New: WP App Store installer integration
  • Bug fix: Notices and warnings displayed when WP_DEBUG is on

WP Migrate DB 0.3 – 2011-12-16

WP Migrate DB 0.2.2 – 2011-09-23

WP Migrate DB 0.2.1 – 2009-12-13

  • Moved to WordPress.org hosting

WP Migrate DB 0.2 – 2009-04-03

  • Moved menu link from “Settings” to “Tools”
  • The random string of characters no longer appears in the filename on save.

WP Migrate DB 0.1 – 2009-03-20

  • First release