All plugins

Dragon Migrate

Migrate, clone and back up WordPress. Resumable database export and import plus serialization-safe search and replace, finishing on any host.

Database export, import and search-replace that understands PHP serialization — page-builder content survives a domain change.

Export

Tools → Migrate → Export: choose tables, optionally set Find (https://old-site.test) / Replace (https://new-site.com), and export. Values are unserialized before replacement and reserialized afterwards, so widget/builder settings don't corrupt. Gzip compression and a dry-run mode ("report what would change without writing a file") included. Save any configuration as a Profile to re-run later — the Profiles tab's Use button loads one straight into the Export form. When an export or archive finishes, a Download button for the new file appears under the progress bar straight away.

Generated columns are left out of the dump (the destination recomputes them). Database views and triggers are not included — the export job log lists any it found so you can recreate them on the destination.

Import

Place a previously exported dump (plain .sql or .sql.gz; dumps from other tools work too) in the migration folder shown on the Import tab, over SFTP or your host's file manager, then reload the tab and pick it. Files are not uploaded through the browser, which fails for large files on most shared hosting. An automatic safety backup of the current database is always taken first, so a failed or wrong import is one restore away from undone.

A large import can replace the very database that holds your login session. The migration still finishes — each job carries its own credential — and the screen tells you to log back in with the imported site's admin credentials afterwards.

An import keeps this site's own Dragon Migrate settings - where its exports and backups live, its version, and its backup retention and uninstall choices - instead of taking the copies inside the dump. A dump from another site that also runs Dragon Migrate therefore imports cleanly over many steps, and your pre-import backup stays on the Backups tab. Add-ons can name their own settings to keep with the dragonmigrate_import_preserved_options filter.

Importing a dump whose tables use a different prefix than this site is reported clearly instead of silently succeeding. Dumps that redefine DELIMITER (triggers, stored routines) are refused with a clear message — re-export without them.

Search & replace

Serialization-safe, and careful about what counts as text: numeric, date, and binary columns are never rewritten, only genuinely textual ones. Values whose serialized data can't be safely rewritten are left untouched and counted in the job's completion message, as are any rows the database refused to update. On the command line, find-replace exits with status 1 and a warning when any row could not be written.

Backups

One-click database backups with the same serialization-safe engine, stored under uploads with an index in Backups.

Retention. The newest 5 backups are kept by default, and that count includes the automatic backups taken before every import and restore. When a backup finishes, older ones beyond the limit are deleted straight away, so a limit of 7 means 7 backups on disk, not 7 plus the one just taken. A backup that a queued or running job is using - the file a restore is about to replay, a restore point another job has recorded, or a backup still being written - is never deleted and does not count towards the limit, so while such a job runs you can see one more. The set goes back to the limit as soon as that job finishes (a restore, or another job that held its restore point), and the hourly housekeeping run catches anything else. Change the limit with WP-CLI, for example wp option update dragonmigrate_backup_retention 7; 0 keeps every backup. Only files this plugin names as backups (dmg-backup-...) are ever pruned; exports, archives and anything else in the folder are left alone. A backup a job is using cannot be deleted from the Backups tab either.

WP-CLI

bash
wp dragon-migrate export [--tables=<list>] [--search=<s> --replace=<r>] [--uncompressed] [--dry-run]
wp dragon-migrate find-replace <search> <replace> [--tables=<list>] [--dry-run]

--uncompressed writes plain SQL instead of gzip.

Data & privacy

Exports contain your full database — treat the files as sensitive. They are stored in a randomly named directory and only served through a capability-checked download endpoint. Uninstalling keeps settings/profiles by default.

Full-site archives

Tools → Migrate → Archive packs the database and your uploads, themes and plugins into one zip to download and keep. Inside it are database.sql.gz and the uploads/, themes/ and plugins/ folders. Dragon Migrate cannot import or restore an archive. To move a site with one, unzip it on your computer, upload the three folders into wp-content on the new host over SFTP, then, on a WordPress install there with Dragon Migrate active and the same table prefix, place database.sql.gz in the migration folder and import it from the Import tab, with Find and Replace set to the old and new site addresses.

Uninstall

Deleting the plugin keeps all its data by default, so a reinstall picks up where you left off. To remove everything on uninstall, opt in first:

bash
wp option update dragonmigrate_delete_data_on_uninstall 1