Complete website migration guide: steps and considerations for changing hosting
Website migration sounds simple, but DNS propagation delays, data loss, SSL issues, and configuration differences can cause downtime. Here's a proven migration process.
Pre-migration preparation
1. Full backup
Back up all files, databases, and configurations before making any changes.
2. Check new environment compatibility
- PHP/Node.js/Python version matching
- Database version compatibility
- Required system extensions and libraries
- Sufficient disk space and inodes
3. Lower TTL
Reduce DNS TTL to 300 seconds (5 minutes) 48 hours before migration to speed up propagation.
Migration execution
- Set up new environment with same software stack
- Migrate data using rsync for files, MySQL dump/import for databases
- Test new environment via hosts file before DNS switch
- Switch DNS records to new server
- Monitor and verify with dig, curl, SSL checks
Common issues
| Issue | Solution |
|---|---|
| DNS propagation delay | Lower TTL early, wait 24-48 hours |
| SSL mismatch | Reissue or install certificate on new server |
| DB connection failure | Check database user and host permissions |
| File permission errors | Check file/directory permissions |
| Email delivery failure | Update SPF/DKIM/DMARC records |
Rollback plan
Should be able to roll back within 30 minutes:
- Point DNS back to old server
- Keep old server for at least 7 days
- Keep full backups
16IDC Takeaway
90% of migration issues can be prevented with thorough preparation. Create a detailed migration checklist and verify each item. Use trial periods to fully test new hosting before committing.
Check our server recommendations for reliable hosting providers.