Migrate WordPress to a new server
For moving an entire site from host A to host B (same domain or a new domain).
Pre-flight check
On the source host (A):
- PHP version and the list of plugins in use
- Database and file sizes
- Files outside
wp-content(custom root files) - Email accounts, cron jobs, SSL certificate
On the destination host (B):
- PHP version >= the source (downgrading easily causes errors)
- MySQL version >= the source
- Free disk >= 2× the site size
- SSL certificate already issued (if you need HTTPS)
Step 1: Create a full backup on host A
Exclude folders you do not need:
wp-content/cache/wp-content/backups-slm/(itself)- Large log files
Wait for the build to finish → download it to your computer or upload it to cloud storage so you can move it to host B.
Step 2: Set up host B
- Create an empty database and a user with full privileges
- Create a web root for the domain (if the host requires it)
- Configure SSL if needed
How you create a database depends on the hosting:
- cPanel: Database → MySQL Databases → Create New Database
- Plesk: Databases → Add Database
- Managed WP hosting: usually has its own interface
Step 3: Upload and run the installer
Upload installer.php + the archive to host B's web root.
Open https://[IP-host-B]/installer.php (use the IP because DNS does not point there yet).
Or use the hosts file on your local machine to map the domain temporarily:
[IP-host-B] example.com
Then open https://example.com/installer.php as usual.
Step 4: Verify the site
- Log in to wp-admin → check Posts/Pages
- Test the contact form, checkout and sign-up
- Check that images are not broken
- Verify that cron is running
Step 5: DNS cutover
Once everything checks out, change the DNS A record to host B's IP. Lower the TTL to 300s 24 hours before the cutover.
While DNS propagates:
- Put host A in read-only mode (warn users not to make updates)
- Or redirect host A to host B if you can
Step 6: Clean up host A
Wait 7-14 days after DNS propagation completes → delete host A once you are sure you will not need to roll back.