Plan the migration before moving files
Successful WordPress migrations are mostly about preparation. Before moving anything, document the current environment, PHP version, active plugins, theme, database size, redirect rules, scheduled tasks, SMTP settings, and third-party integrations. Many migrations fail because the files move correctly but the connected services are not revalidated afterward.
Content and URL integrity should be treated as first-class requirements. Confirm permalink settings, custom post types, taxonomies, media paths, and menu links. If the new environment changes the domain, path, or SSL handling, test every internal link pattern and check how serialized values are updated inside the database. A quick string replacement is not enough when serialized settings are involved.
Test business-critical paths
After import, check the public side and the operational side. Homepage layouts, blog archives, service pages, contact forms, search, login, editor access, plugin settings, caching behavior, and scheduled jobs should all be reviewed. If the site sends email, confirm SMTP or provider settings immediately. If the site takes leads or orders, test the full path from user action to admin notification.
SEO continuity matters as well. Review indexability, canonical behavior, XML sitemap availability, robots handling, and redirect coverage for old URLs. If you are replacing an existing live site, a careful migration should leave no ambiguity about where search engines and visitors should land.
Use a go-live checklist
Before final cutover, purge caches, regenerate critical plugin caches if needed, re-save permalinks, verify analytics and conversion tracking, and take a fresh backup of the destination state. A written go-live checklist reduces mistakes during the most time-sensitive part of the migration and makes rollback decisions clearer if something unexpected happens.
Featured image: original illustration.
The migration checklist, phase by phase
Before you move anything
- Document PHP version, active plugins/versions, theme, database size, and any custom cron jobs.
- Export a full database backup and a full file backup separately (don’t rely on one combined snapshot only).
- List every third-party integration: SMTP provider, payment gateway keys, analytics IDs, CRM webhooks.
Moving the site
- Use a dedicated migration tool: All-in-One WP Migration for full-site moves, WP Migrate for database-focused moves with find-and-replace, or Duplicator for a packaged installer.
- If the domain or path changes, run a proper serialized-safe search-and-replace (a plain SQL find-replace corrupts serialized PHP arrays stored in options/postmeta) — WP Migrate and Better Search Replace both handle this correctly.
- Re-point DNS only after the new environment is fully tested on a temporary URL or via a local hosts-file override.
After cutover
- Re-save Permalinks (Settings > Permalinks > Save) to flush rewrite rules on the new server.
- Test SMTP/email delivery immediately — this is the single most commonly forgotten step.
- Verify SSL is active and force HTTPS in the site URL settings.
- Submit the XML sitemap to Google Search Console again if the domain changed, and set up 301 redirects for any changed URLs.
- Purge every cache layer: plugin cache, host-level cache, and CDN cache.
Frequently Asked Questions
Why did my site look fine after migration but forms stopped sending email?
SMTP settings (API keys, sending domain) are almost never carried over automatically by migration plugins — they need to be reconfigured on the new environment.
Do I need to worry about serialized data during migration?
Only if the domain, URL path, or table prefix changes. If you’re moving to the exact same URL, serialized data is unaffected. If anything in the URL changes, use a serialization-safe search-replace tool, not a raw SQL query.
How long should I keep the old environment running after migration?
At least 1-2 weeks, with DNS TTL set low beforehand, so you can quickly roll back if an issue surfaces after real traffic hits the new environment.
Related reading: Best Backup Plugins for WordPress Sites.
