Print this. Follow it in order. Every migration failure is a step done out of sequence.
Phase 1: prepare (before touching anything) 1. Full backup from old host: files + database export 2. Download the backup to YOUR laptop too 3. Note current PHP version and extensions the site uses 4. List all email addresses on the domain 5. Lower old host's DNS TTL to 300 (24h ahead) 6. Active plan/trial ready on the new host
Phase 2: build the copy 7. Upload files (ZIP → extract) 8. Create database + user, import .sql 9. Update config with new credentials 10. Test on subdomain/hosts-file: EVERY page, form, checkout 11. Fix what breaks (usually a config line or an extension)
Phase 3: the switch 12. Pick a quiet hour (your analytics show low traffic — for most Pakistani sites: 3–5am) 13. Flip DNS: nameservers or A records to the new host 14. SSL reissues automatically — verify the padlock on https 15. Force-https redirect confirmed
Phase 4: email continuity 16. MX records verified (if mail was on the old host, migrate or repoint) 17. Send/receive test from a non-domain address 18. Keep the old mailbox alive 3–7 days for stragglers
Phase 5: the week after 19. Watch Search Console + analytics for crawl errors 20. Keep the old account frozen (the rollback) for 7 days 21. Cancel old hosting ONLY after a clean week — and keep the laptop backup forever
The sequence makes migrations boring — and boring is exactly what a migration should be. Kairalmas support walks every phase on WhatsApp when you want a second pair of eyes.