Common WordPress Migration Mistakes

WordPress migrations usually fail in predictable ways. Knowing the common mistakes makes them easier to avoid.

Forgetting the Database

WordPress content and settings live in the database. Copying files alone is not a migration.

Export the correct database, import it on the destination and update wp-config.php with the new database name, user, password and host. Confirm the table prefix matches. If the site changes while you migrate it, plan a final database sync or short content freeze so orders and form entries are not left behind.

Breaking Serialized Data

Use WordPress-aware tools when replacing URLs in the database. Basic text replacement can break serialized values.

Run a dry-run search and replace first, exclude immutable identifiers such as GUIDs unless you understand the consequence, and take another database backup before committing replacements. Check widgets, page-builder content and plugin settings afterwards because they commonly contain serialized URLs.

Changing DNS Too Early

Test the new copy before switching traffic. Keep the old hosting available until the new site is confirmed working.

Preview through a temporary URL or local hosts-file entry. Test the homepage, several internal pages, login, media, search, forms and checkout. Change DNS only after HTTPS can be issued or the certificate plan is understood. Keep the old account intact until propagation and final testing are complete.

Ignoring Email

Website DNS changes can accidentally affect mail. Preserve MX and authentication records.

Changing nameservers replaces the whole authoritative DNS zone, not just the website address. Copy MX, SPF, DKIM, DMARC, autodiscovery and verification records before the switch. If mailboxes are also moving, migrate messages separately and test sending and receiving.

Missing Files, Versions and Scheduled Work

Include hidden files such as .htaccess, uploads outside the standard media directory and any files created by membership or download plugins. Match a supported PHP version and required extensions at the destination. Recreate cron jobs, redirects, caching rules and SMTP settings rather than assuming they travel with WordPress.

Verify Before Cancelling

Check browser and PHP logs, submit real workflows and compare recent orders or enquiries with the old site. Take a fresh destination backup. Only cancel the old service after DNS has settled and somebody familiar with the site has confirmed both the public pages and administration area.

A careful migration is a sequence, not a rushed file upload.

← Older DNS Checklist Before Launch Newer → How to Organise Multiple Websites in One Account