How to Migrate Your WordPress Site to a New Domain or Host
Moving a WordPress site to a new host or domain is a task that intimidates many site owners, but with the right approach it is a manageable process that can usually be completed in under two hours without any loss of content or SEO value. The key is to follow a structured sequence and not rush the DNS cutover.
Whether you are moving to faster hosting, consolidating multiple sites, rebranding to a new domain, or switching from a shared host to a VPS, the migration process follows the same fundamental steps. This guide walks you through each one.
Preparing for the migration
Before touching anything, create a complete backup of your existing site: all files via FTP or your host’s file manager, and the database exported as a .sql file via phpMyAdmin. This is your insurance policy. If anything goes wrong during the migration, you can restore from this backup and start again.
If you are migrating to a new host, set up the new hosting account and create the target database before starting the migration. Note down the new database name, username, password and host — you will need these when updating wp-config.php. If you are migrating to a new domain, decide whether you want to set up a temporary domain on the new host for testing before pointing the real domain across.
Transferring files and the database
The simplest way to migrate WordPress is with the Duplicator plugin or All-in-One WP Migration. These plugins package your entire site — files and database — into a single archive file that you can download and deploy on the new server with a guided installer. Duplicator is particularly well-suited to domain changes because it handles the URL replacement in the database automatically.
If you prefer to migrate manually, upload all your files to the new server via FTP, import the .sql database file via phpMyAdmin on the new host, then update wp-config.php with the new database credentials. After importing the database, you will need to update the siteurl and home values in the wp_options table to reflect the new domain. You can do this via phpMyAdmin or by running a search-and-replace with a tool such as WP-CLI: `wp search-replace 'olddomain.com' 'newdomain.com' --all-tables`.
Testing and DNS cutover
Before updating DNS, test the site on the new server using a hosts file modification or a temporary URL provided by your new host. Check that all pages load correctly, images display, forms work and — if applicable — the checkout process functions end to end. Confirm that the WordPress dashboard is accessible and that your SSL certificate is active on the new host.
When you are confident the migration is successful, update your domain’s DNS records to point to the new host’s IP address. DNS propagation typically takes between one and 48 hours, during which some visitors will reach the old server and some the new one. Keep the old hosting account active for at least 72 hours after the DNS change before cancelling, and ensure both servers are serving identical content during this overlap period.
Common questions.
Will migrating my WordPress site affect my Google rankings?
How long does a WordPress migration take?
Do I need to reinstall WordPress on the new server?
More on web design & ux.
Want a hand putting this into practice?
Book a free, no-obligation consultation with a Norwich-based specialist.
Let's put your business in a better light.
Book a free, no-pressure consultation. We'll talk through your goals and tell you honestly what we'd do — whether you work with us or not.