What this problem looks like
Migration is backup and restore plus DNS timing. Most downtime comes from waiting on DNS propagation, not file transfer.
Move email separately if the domain MX records change. WordPress migration does not automatically move mailboxes.
Prepare the new server
- Match or exceed PHP version and extensions from the old host.
- Create database and user with strong passwords.
- Install SSL certificate for the domain.
- Note whether you need dedicated IP or IPv6 support.
Transfer files and database
Zip wp-content on the old server, download, and upload to the new document root. Export SQL and import on the new database.
rsync -avz oldhost:/path/to/wp-content/ ./wp-content/
wp search-replace 'https://tempsubdomain.host.com' 'https://example.com' --all-tables
Test before DNS switch
Edit your local hosts file to point example.com at the new server IP. Browse the site and wp-admin privately before public cutover.
DNS cutover checklist
- Lower TTL to 300 seconds a day before migration.
- Update A record to new IP.
- Wait for propagation and test from mobile data.
- Cancel old host only after a week of stable traffic.
Post-migration fixes
Regenerate permalinks, flush object cache, and reauthorize CDN integrations.
Update cron: disable DISABLE_WP_CRON if the new host uses system cron, or keep default wp-cron if traffic-driven cron is acceptable.
When to stop DIY and hire help
WooCommerce and multisite migrations have extra tables and DNS risk. BugShield migrates WordPress to new UK hosts at a fixed quoted price with rollback planning.