Guides

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:

CapabilityDefault WordPressMigrator
Whole-site backupNone built inOne file: database + files
Migrate to a new domainManual, error-proneSerialization-safe URL rewriting
Restore in place after a problemNoneYes, from the same archive
External account requiredn/aNo, self-hosted
Where the backup livesn/aA single file you control
WooCommerce-awaren/aYes (tables and serialized settings)
CostFree (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.

CapabilityMigratorDuplicatorAll-in-One WP Migration
Full backup and migration in freeYesYesYes (with import limit)
Artificial size limitNoneNone512MB in free
Self-hosted, no accountYesYesYes
Serialization-safe URL rewriteYesYesYes
Scheduled and incremental backupsProPro (higher tiers)Add-on / Pro
Cloud storage (Amazon S3, Dropbox, Google Drive)ProProSeparate paid extensions
MultisiteProProPaid extension
Server-to-server transferProProNo
Encrypted backupsProProNo
Open source (GPLv2)YesCore GPLCore GPL
Paid plan priceSet at launchfrom ~$69/yrUnlimited ~$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.

Migrator for WordPress