WordPress Migration: Moving Your Site Safely
Why WordPress Migrations Go Wrong
Moving a WordPress site between hosts should be straightforward, but it frequently results in broken sites, lost data, or extended downtime. The problems usually stem from database URL references, file permission issues, or DNS timing mistakes.
SecureTechs has migrated hundreds of WordPress sites between hosts with zero downtime. Our process is systematic, tested, and accounts for every edge case that can derail a migration. This guide shares the exact process we follow.
Pre-Migration Checklist
Before You Touch Anything
- Full backup: Files AND database, tested by restoring to a staging environment
- Document current setup: PHP version, WordPress version, active plugins, theme version
- List all domains and subdomains: Include email hosting if on the same server
- Check email hosting: If email is on the current host, plan email migration separately
- Note cron jobs: Any scheduled tasks that need recreation on the new server
- Record DNS settings: Screenshot all current DNS records
- Test new host: Ensure PHP version, MySQL version, and extensions match requirements
Step-by-Step Migration Process
Step 1: Set Up the New Host
- Create the hosting account and configure PHP settings to match current site
- Install required PHP extensions (check with your plugins)
- Set up SSL certificate (most hosts offer free Let’s Encrypt)
- Configure database server and create empty database
Step 2: Transfer Files
Use one of these methods, depending on site size:
- Plugin method (UpdraftPlus, All-in-One WP Migration): Good for sites under 1GB
- Manual FTP/SFTP: Reliable for any size, transfer entire wp-content directory
- SSH + rsync: Fastest for large sites with SSH access on both ends
- Host migration tools: Many hosts offer free migration services
Step 3: Migrate the Database
- Export database from old host using phpMyAdmin or WP-CLI
- Import to new host database
- Run search-and-replace for URLs (use WP-CLI or Better Search Replace plugin)
- Handle serialized data carefully (simple find-replace breaks serialized strings)
Step 4: Test Before DNS Switch
Access the site on the new host before changing DNS:
- Edit your local hosts file to point the domain to the new server IP
- Test every critical page, form, and functionality
- Check images, downloads, and media files load correctly
- Verify SSL certificate works properly
- Run a broken link checker
- Test email sending from the new server
Step 5: DNS Switch
- Lower TTL to 300 seconds 24-48 hours before migration
- Update DNS A records to point to new server IP
- Update any CNAME records for subdomains
- Keep old server running for 48-72 hours while DNS propagates globally
Zero-Downtime Migration Strategy
For businesses that cannot afford any downtime:
- Set up the new site as a complete mirror days in advance
- Use database replication or scheduled syncs to keep new site current
- Switch DNS during lowest-traffic hours
- Use a temporary maintenance page on old server that redirects to new
- Monitor both servers during the transition window
Post-Migration Verification
- Check all pages load correctly (especially with caching cleared)
- Verify forms submit and emails are received
- Test e-commerce checkout process completely
- Confirm scheduled posts and cron jobs are working
- Check Google Search Console for crawl errors
- Verify Google Analytics tracking is active
- Test site speed (should be equal or better)
- Monitor 404 errors for broken internal links
Common Migration Problems and Fixes
| Problem | Cause | Fix |
|---|---|---|
| White screen of death | PHP version mismatch | Match PHP version to old host |
| Broken images | Incomplete URL replacement | Re-run search-replace for all URL variants |
| 404 on all pages | Missing .htaccess or mod_rewrite | Re-save permalinks in Settings |
| Database connection error | Wrong credentials in wp-config.php | Update DB_NAME, DB_USER, DB_PASSWORD, DB_HOST |
| Redirect loops | SSL/HTTPS configuration mismatch | Check wp_options siteurl and home values |
Need a Stress-Free Migration?
SecureTechs handles WordPress migrations with zero downtime and thorough post-migration testing. We manage the entire process while you focus on running your business. Schedule your migration consultation.
A well-planned migration takes 2-4 hours of actual work. A poorly planned one can take days of troubleshooting. Invest the time in preparation and testing, or let our maintenance team handle it with a proven process that works every time.