WordPress Site Migration for Agencies: Checklist, Risks & SEO Protection
Most WordPress migration disasters are not technical failures — they are process failures. A missing redirect, an overlooked plugin, a DNS change that propagates while nobody is watching. Here is the full migration checklist I use on agency projects, built from 20 years of watching what goes wrong and making sure it does not happen again.
The Five Ways Migrations Fail
SEO Collapse
Traffic drops 30-60% within 48 hours because redirects were not mapped, sitemaps were not resubmitted, or old URLs were changed without 301 redirects.
Data Loss
Incomplete database exports miss custom tables, serialised data breaks during search-and-replace, or media files fail to transfer completely.
Performance Regression
The new host is not configured the same way — missing caching layers, different PHP version, or resource limits that were fine on the old server.
DNS Propagation Chaos
The site enters a split-brain state where some visitors see the old site and others see the new one — orders, form submissions or content edits get lost.
Phase 1: Pre-Migration Discovery
The biggest mistake in any migration is jumping straight to execution. Before anyone touches a database, you need to understand what you are actually dealing with.
- Full site inventory: Document every page, post, custom post type, taxonomy and media item. Note which pages receive the most traffic so they get priority testing.
- Plugin and integration audit: List every active plugin, custom code snippet and third-party API integration. Identify which ones are critical to business operations.
- The surprise question: Ask the client: Does the site do anything unusual? Members-only areas, custom calculators, SSO integrations, event booking — things nobody mentioned in the initial scope.
- SEO audit: Export all indexed URLs from Google Search Console. Map old URLs to new URLs. Identify high-value pages that must not lose rankings.
Phase 2: Pre-Migration Preparation
- Full backup (off-site): Complete file backup (wp-content, themes, plugins, uploads) plus a full database dump. Store the backup somewhere other than the source or destination server.
- Staging environment: Set up the site on the new host with a temporary URL. Test everything before DNS changes. The staging environment should match the production configuration exactly.
- Low-TTL DNS: Reduce DNS TTL to 300 seconds (5 minutes) at least 24 hours before the migration. This lets you propagate changes quickly without the standard 24-48 hour wait.
- Update wp-config.php: Database credentials, salts, debug mode off, proper memory limits. Verify the PHP version matches or exceeds the old server.
Phase 3: Migration Execution
Step 1: Transfer Files
Use rsync or a migration plugin (UpdraftPlus, WP Migrate, Duplicator) — not FTP, which is too slow and error-prone for large sites. Verify file counts match between source and destination.
Step 2: Import Database
Import via phpMyAdmin or WP-CLI. After import, run a search-and-replace for the old domain to the staging domain. Use WP-CLI's search-replace command or a tool that handles serialised data properly — never a raw SQL REPLACE.
Step 3: Test on Staging
Log in, check every page type, test forms, verify media loads, confirm plugin functionality. Run Lighthouse to catch performance regressions. Fix everything on staging before proceeding.
Phase 4: Go-Live & Post-Launch
- Change DNS and wait: Point the A record or nameservers to the new host. Monitor propagation. Do not make content changes on either site during this window.
- SSL verification: Confirm SSL certificate is active and auto-renewing. Test all pages load over HTTPS without mixed content warnings.
- Resubmit sitemap: Submit the new sitemap to Google Search Console and Bing Webmaster Tools. Request a re-crawl of key pages.
- Monitor for 48 hours: Watch Google Search Console for crawl errors. Monitor uptime, form submissions, eCommerce orders. Keep the old server running for at least 72 hours as a rollback option.
- Performance baseline: Run PageSpeed Insights and establish a post-migration benchmark. Compare to pre-migration numbers to confirm the move improved or maintained performance.
SEO Protection Checklist
| Action | Why It Matters |
|---|---|
| Map all old URLs to new URLs | Prevents 404 errors on indexed pages |
| Set up 301 redirects for changed URLs | Passes link equity to the new URLs |
| Preserve meta titles and descriptions | Maintains existing search rankings |
| Verify robots.txt is not blocking | Ensures search engines can crawl the new site |
| Resubmit sitemap to GSC | Accelerates re-indexing of the migrated site |
| Monitor crawl stats for 2 weeks | Catches issues before they impact rankings |
Need a Safe Migration?
I handle WordPress migrations for agencies — from simple hosting moves to complex platform transitions. Zero SEO loss, full testing protocol, and a rollback plan if anything goes sideways. Your client never knows I was involved.