Avoiding Oversights During Moves—Same Applies to Websites
The biggest worry when moving is not packing but fearing something important gets left behind. Documents, utility cancellations, and new keys—if missed—can cause later trouble.
Website migration follows the same logic. Many assume copying files is enough, only to later face unreachable email, dropped search rankings, or broken forms. DNS, SSL, databases, email, and SEO—if neglected—can cause downtime or data loss.
Real cases show most failures result from incomplete planning. This checklist covers the full process from preparation to verification, aiming for zero downtime and zero data loss.
Before Moving: Why Change Hosting?
Clarify the reason for migration first, as different motives affect planning priorities:
| Migration Reason | Planning Focus | Risk Level |
|---|---|---|
| Poor hosting service | New environment validation, contract end date | Medium |
| Slow website speed | Performance benchmarking, CDN setup | Medium |
| Higher security needs | SSL/TLS configuration, firewall rules | High |
| Growing traffic requiring expansion | Load testing, auto-scaling | High |
| Reducing operating costs | Cost comparison of plans | Low |
| Technical architecture upgrade | Compatibility, version updates | High |
Common mistake: Regardless of reason, start planning at least 30 days before contract expiry; for revenue-critical sites, allow 60 days. One case started only 5 days prior, resulting in rushed work and compromised quality.
See related hosting guides for plan selection.
Stage 1: Full Backup and Environment Inventory
The first step is to inventory all components without missing anything:
Items That Must Be Backed Up
- Website files: Code, images, uploads, and configs
- Database: Full structure and data export
- Email: Account settings, backups, forwarding rules
- SSL certificate: Files and private key, or prepare for reissue
- DNS records: Export all A, CNAME, MX, TXT records
- Scheduled tasks: Cron Jobs and automation scripts
- Environment variables: DB connections, API keys, third-party settings
Environment Compatibility Check
| Check Item | Old Host | New Host | Compatible? |
|---|---|---|---|
| PHP version | Record version | Confirm supported version | ✓ / ✗ |
| Database version | MySQL / MariaDB version | Confirm version and encoding | ✓ / ✗ |
| Web Server | Apache / Nginx | Confirm config compatibility | ✓ / ✗ |
| Memory limit | Check current setting | Confirm quota | ✓ / ✗ |
| File size limit | upload_max_filesize | Confirm upper limit | ✓ / ✗ |
| SSL/TLS support | Check type | Confirm support | ✓ / ✗ |
Keep at least two backups (local and cloud) and test restoration. Cases exist where backups were corrupted or unrecoverable, halting the entire plan.
See related backup guides for details.
Stage 2: New Host Environment Setup and Pre-Testing
After backup, replicate the environment on the new host. Focus on completing tests without affecting the live site; allow at least 3-5 days unless the site is very simple.
Environment Setup Steps
- Install system environment: PHP, database, Web Server versions must match
- Upload website files: Use SFTP or rsync
- Import database: Restore backup and verify tables
- Adjust config files: Update connections and paths
- Install SSL certificate: Request or install on new host
- Set scheduled tasks: Rebuild all Cron Jobs
Pre-Testing Checklist
Before DNS switch, test by editing local hosts file to point to new host:
- Home page displays correctly
- All main pages load properly
- Form submissions work as expected
- Login functions operate normally
- Images and files display fully
- Email send/receive works
- HTTPS functions without mixed content warnings
- Site speed meets expectations
- Mobile browsing works correctly
Custom systems should additionally test APIs, integrations, and admin functions.
Stage 3: DNS Switch—The Critical Moment
The DNS switch is the most critical and error-prone step.
DNS Switch Preparation
- Lower TTL: Reduce to 300 seconds 24-48 hours before switch
- Choose low-traffic window: Analyze traffic data for quietest period
- Notify stakeholders: Inform team and relevant parties
DNS Switch Steps
- Confirm all tests on new host pass
- Perform final synchronization
- Update DNS A record to new IP
- Update MX record (if moving email too)
- Ensure all subdomain records updated
- Monitor logs on both hosts
DNS propagation takes 2-24 hours; keep both hosts running for 48 hours after switch. One case of shutting down the old host too early caused major order loss.
See related DNS guides for more.
Stage 4: SEO Protection—Prevent Ranking Loss
SEO risk is often overlooked during migration; hard-earned rankings can disappear overnight.
SEO Migration Checklist
| Check Item | Description | Importance |
|---|---|---|
| Consistent URL structure | Ensure all page URLs remain identical | ★★★★★ |
| 301 redirect setup | Set permanent redirects for any URL changes | ★★★★★ |
| sitemap.xml | Update and resubmit Sitemap | ★★★★☆ |
| robots.txt | Confirm search engines are not blocked | ★★★★★ |
| canonical tags | Verify correct canonical URLs | ★★★★☆ |
| Structured data | Validate Schema.org markup | ★★★☆☆ |
| Google Search Console | Update settings and submit Sitemap | ★★★★★ |
| GA / GTM tracking | Confirm tracking codes work | ★★★★☆ |
| Internal links | Check for broken internal links | ★★★★☆ |
| Image alt attributes | Ensure alt text is preserved | ★★★☆☆ |
Post-Migration SEO Monitoring
Monitor closely for 4-6 weeks after launch:
- Ranking changes: Track main keywords via Search Console
- Indexing status: Confirm Google crawls new pages
- 404 errors: Watch for new error pages
- Site speed: Verify Core Web Vitals metrics
See related SEO migration guides for full strategies.
Stage 5: Launch Verification and Ongoing Monitoring
After DNS switch, perform full verification.
48-Hour Post-Launch Checklist
- All pages load without 500 / 404 errors
- Form submissions work and notifications arrive
- Email send/receive functions normally
- SSL certificate valid and browser shows secure indicator
- Mobile browsing experience is normal
- Google Analytics records data correctly
- Third-party integrations (payments, logistics, APIs) work
- Admin backend functions normally
- Site loading speed meets expectations
- CDN cache cleared and rebuilt
Ongoing Monitoring Items
Continue monitoring for at least 30 days:
- Uptime monitoring: Ensure 99.9%+ availability
- Performance monitoring: Regularly check load times and response
- Security scanning: Verify security settings and scan vulnerabilities
- Backup verification: Confirm automated backups function
Common Migration Failures and Solutions
Based on experience, the most frequent causes are:
1. Database Encoding Mismatch
Old host uses latin1, new uses utf8mb4, turning Chinese into garbled text.Solution: Match encodings before migration; transcode if needed.
2. Incorrect File Permissions
Permissions too loose or strict prevent writing or reading.Solution: Follow least-privilege: directories 755, files 644, upload dirs 775.
3. Forgotten Cron Jobs
Scheduled tasks not rebuilt, stopping background jobs.Solution: List all tasks during inventory; verify each after migration.
4. SSL Certificate Not Updated in Time
Certificate not installed or auto-renewal incomplete after DNS switch.Solution: Complete SSL setup and verify renewal before switching.
5. Overlooked Email Service Migration
Only website moved, email forgotten, causing receive/send issues.Solution: Treat email as separate item; migrate all related DNS records.
Professional Help Brings Peace of Mind
Website migration spans DNS, servers, databases, security, and SEO—among the most delicate maintenance tasks. Unless experienced multiple times, avoid handling the first migration alone to prevent downtime or lost orders from overlooked details.
Experienced teams can assess current architecture and identify risks early. If considering migration or nearing contract end, consult first.