Before You Touch Anything: The Pre-Flight Checklist
Full backup. Files (via FTP or your host’s file manager) AND database (via phpMyAdmin export). Download both locally — never migrate without a local copy.
Note your environment. PHP version, special server configs (.htaccess rules), cron jobs, and email accounts. These are what break silently after migration.
Lower DNS TTL. 24 hours before migrating, change your domain’s TTL (time-to-live) to 300 seconds at your registrar, so DNS changes propagate in minutes instead of hours.
Step 1: Set Up the New Host First
Create your hosting account, add the domain (don’t change DNS yet), and install a clean WordPress (or your platform) if you’re rebuilding rather than copying.
Most quality hosts offer free migration — Hostinger, SiteGround, and Cloudways all move sites professionally. Use it if available; this guide covers the DIY path.
AdvertisementStep 2: Copy Files to the New Server
Upload your site files to the new host via FTP/SFTP or the file manager. For WordPress, this is everything in the site root: wp-content, wp-config.php, .htaccess, and core files.
Step 3: Export and Import the Database
In phpMyAdmin on the old host: select your database → Export → Quick method → SQL format. On the new host: create a database + user, then Import the SQL file.
Update wp-config.php with the new database name, user, and password. Your site should now work on the new server — test it via its temporary URL or a local hosts-file entry before going live.
Step 4: The Hosts File Trick (Test Before You Commit)
Edit your computer’s hosts file to point your domain to the new server’s IP. Your browser will show the migrated site while the rest of the world still sees the old one — the ultimate pre-flight test.
Click through everything: pages, forms, login, checkout, media. Fix any issues now; DNS hasn’t changed, so there’s zero risk.
Step 5: Switch DNS
Update your domain’s A record to the new server’s IP (and AAAA if IPv6). With the lowered TTL, most visitors switch within 5 minutes; stragglers’ caches clear within a few hours.
Keep the old host alive for 7 days. DNS propagation is a gradient, not a switch — decommissioning early strands some visitors on a dead server.
Step 6: Post-Migration Verification
Check for mixed-content warnings (http:// assets on an https site), regenerate permalinks (Settings → Permalinks → Save twice), test contact forms, and verify SSL is active on the new host.
Monitor uptime for 48 hours, then — and only then — cancel the old hosting.
🏆 The Bottom Line
The golden rule: build and fully test on the new host before touching DNS. Every downtime horror story skips that one step.
Frequently Asked Questions
How long does a hosting migration take?
DIY: 2–4 hours for a typical WordPress site. Professional migration services: usually 24–48 hours including verification.
Will I lose email during migration?
If email is hosted with your old provider, migrate mailboxes first or keep MX records pointing at the old provider until mailboxes are recreated — email uses MX records, independent of website A records.
Can I migrate without my old host’s cooperation?
Yes — everything you need (files, database) is accessible via FTP and phpMyAdmin with your own credentials. Host cooperation is only needed for specialized setups.