Backup and migration in WordPress: move or restore a whole site safely
By Mariusz Szatkowski · Updated: 2026-06-20
Two moments decide whether a WordPress site survives a bad day: when something breaks and you need to restore, and when you move the site to a new host or domain. Both depend on a backup that is genuinely complete and a migration that does not corrupt the database. This guide explains what a real WordPress backup includes, why migration is harder than it looks, and what to look for in a tool.
What a Complete Backup Includes
A WordPress site is two things that must be backed up together:
- The database, which holds posts, pages, products, settings, users and most configuration.
- The files, which hold uploads (your media), themes and plugins.
Restoring only one half leaves a broken site: a database with no images, or files with no content. A complete backup captures both, ideally into a single archive that is easy to store and move.
Why Migration Is the Hard Part
Backing up is the easy half. The hard part is migration, because a WordPress site records its own URL and file paths throughout the database. Move to a new domain and every one of those references has to change to the new address.
The trap is that some of this data is serialized: PHP arrays and objects stored as text, where the length of each string is written into the data. A plain find-and-replace of the old URL changes the text but not the recorded lengths, which silently corrupts those settings. Widgets, theme options and plugin configuration are common casualties.
A correct migration uses serialization-safe URL rewriting: it updates every occurrence of the old URL and recalculates the string lengths so the serialized data stays valid. Migrator for WordPress backs up the whole site to one file and rewrites URLs serialization-safely when you restore to a new domain.
Self-Hosted, One File, No Account
A backup is only useful if you can actually get to it and trust where it lives. Two properties matter:
- Self-hosted. The backup runs on your own server and produces a file you hold, with no external account required. Your site data does not pass through a third party.
- One archive. A single file is simple to download, store off-site and restore, rather than a scattered set of exports.
Migrator is self-hosted, needs no account, and produces a single archive you control. The same file restores a site in place after a problem, or migrates it to a new host or domain.
It Applies to WooCommerce Too
A WooCommerce store is a WordPress site with additional database tables and serialized settings. The same rules hold: back up the database and files together, and migrate with serialization-safe rewriting so order, product and settings data arrive intact at the new address.
Migrator Versus Default WordPress
WordPress has no built-in backup or migration. Here is the difference for backup and migration specifically:
| Capability | Default WordPress | Migrator |
|---|---|---|
| Whole-site backup | None built in | One file: database + files |
| Migrate to a new domain | Manual, error-prone | Serialization-safe URL rewriting |
| Restore in place after a problem | None | Yes, from the same archive |
| External account required | n/a | No, self-hosted |
| Where the backup lives | n/a | A single file you control |
| WooCommerce-aware | n/a | Yes (tables and serialized settings) |
| Cost | Free (core has none) | Free; PRO adds scheduling, cloud, multisite |
Migrator vs Duplicator vs All-in-One WP Migration
Three plugins dominate WordPress backup and migration. The practical difference shows up in the free tier and in what each one charges to remove its main limit.
| Capability | Migrator | Duplicator | All-in-One WP Migration |
|---|---|---|---|
| Full backup and migration in free | Yes | Yes | Yes (with import limit) |
| Artificial size limit | None | None | 512MB in free |
| Self-hosted, no account | Yes | Yes | Yes |
| Serialization-safe URL rewrite | Yes | Yes | Yes |
| Scheduled and incremental backups | Pro | Pro (higher tiers) | Add-on / Pro |
| Cloud storage (Amazon S3, Dropbox, Google Drive) | Pro | Pro | Separate paid extensions |
| Multisite | Pro | Pro | Paid extension |
| Server-to-server transfer | Pro | Pro | No |
| Encrypted backups | Pro | Pro | No |
| Open source (GPLv2) | Yes | Core GPL | Core GPL |
| Paid plan price | Set at launch | from ~$69/yr | Unlimited ~$69/yr + cloud add-ons |
The clearest gap is the import size limit: All-in-One WP Migration caps free imports at 512MB and charges around $69 a year to lift it, while Migrator imposes no artificial size limit in the free edition. Competitor data and pricing are as of June 2026; check the vendors’ sites for current pricing.
The Short Version
A WordPress backup must cover the database and the files together, and a migration must rewrite URLs serialization-safely or it will corrupt the site. Prefer a tool that is self-hosted, produces one file you control, and handles both restore-in-place and move-to-a-new-host. That is the safe foundation for any site, including a WooCommerce store.