Website Migration Checklist
Infrastructure Editor
Disclosure: Some links on this page are affiliate links — if you sign up through one, we may earn a commission at no extra cost to you. It never changes our ratings, rankings or verdicts: we don't sell hosting and take no pay-for-placement.
Who it's for
- Site owners switching hosts
- Developers
- Agencies migrating client sites
Moving a live website to a new host is one of the highest-stakes tasks in web hosting. Done in the wrong order, it risks downtime, lost email, or a broken site with no easy way back. This website migration checklist lays out the safe sequence for how to migrate a website. It’s usable for any type of site, not just WordPress.
Before You Start This Website Migration Checklist
- Confirm the new hosting account is active and accessible
- Note the current DNS settings (nameservers and all records) as a rollback reference
- Check the current hosting terms of service for any early-cancellation notice required
- Schedule the migration for a low-traffic window
- Tell anyone who depends on the site (team, clients) the migration is happening
Step 1 — Back Up Everything Before Migration
- Full file backup of the website (all directories, not just the CMS core)
- Full database export/backup
- Backup of any custom configuration (server settings, cron jobs, environment variables)
- Export of hosting email accounts and their messages, if applicable
- Confirm the backup is downloadable and complete before deleting anything
See hosting backups for backup format and storage best practice.
Step 2 — Prepare the Destination
- Set up the same PHP version, database version, and server software the site expects
- Create the database and database user on the new host
- Install any required control panel or server-side prerequisites
- Recreate email accounts on the new host (or plan to migrate email hosting separately)
Step 3 — Transfer Files and Database
- Upload files to the new server (see upload via FTP/SFTP)
- Import the database
- Update the site’s configuration file with the new database credentials
- Update any hardcoded URLs or paths that reference the old server
Step 4 — Test Before Cutover
- Access the site on the new server via its temporary IP address or a hosts-file override — do not change DNS yet
- Test every core page, form, and checkout/login flow
- Check that images, styles, and scripts load correctly
- Test email sending and receiving on the new server, if hosted there
- Verify SSL will be available on the new host before cutover (see install an SSL certificate)
Step 5 — Cut Over DNS to the New Host
- Lower the DNS TTL 24–48 hours in advance, if possible, to speed up propagation
- Update nameservers or DNS records to point to the new host (see point a domain to hosting)
- Monitor DNS propagation until it completes globally
- Keep the old host’s copy of the site untouched and running during propagation
Step 6 — Verify and Clean Up
- Confirm the live domain now resolves to the new host from multiple locations/networks
- Re-test every core page and form on the live domain
- Confirm SSL is active and there are no mixed-content warnings
- Monitor site performance and error logs for the first 24–72 hours
- Only cancel the old hosting plan after everything above is confirmed stable — see how to switch web hosts for the full cancellation sequence
The One Rule That Prevents Most Migration Failures
Never point DNS at the new host until it has been fully tested on its temporary address. Every serious migration failure traces back to skipping that verification step, not to any single hard technical task in the process itself. For a more advanced version of this sequence that avoids any visitor-facing downtime at all, see zero-downtime website migration.
For the full migration guide this checklist condenses, see how to migrate a website. For the resources hub, see web hosting resources.