Editor’s note: This post is part of our collection on managing multiple WordPress websites.
Your WordPress sites currently live with a hosting service you’re not too pleased with. The sites are slow, the customer service is poor, and you’re paying a lot. Or worse, your client sites are strewn across a bunch of different hosts and your current setup is in a shambles.
If this sounds familiar, fear not: we’re here to make things easier.
Switching your WordPress sites (or all your clients’ sites) to a new host doesn’t have to be daunting.
With the right tools, it’s a straightforward and, dare I say, enjoyable process.
So if you’re ready to switch hosting providers and get all your WordPress sites on one host, we’ve put together a practical guide to pain-free WordPress migrations:
- First, we’ll cover what you need to know before migrating your sites, including the right time to move, and how to choose the right WordPress host for your sites.
- Next, we’ll walk through each step of migrating your sites to a new platform, without any downtime or calls from angry clients.
- Finally, we’ll help you make sure the new site is running smoothly and problem-free.
An important note before we jump in: If you’re migrating your sites to GoDaddy Managed WordPress hosting, you can migrate your current WordPress sites in a single click! Feel free to jump ahead to the 1-click migration section to learn how you can migrate your sites to GoDaddy quickly and easily.
Step 1: Know when it’s time to switch WordPress hosts
The first step when switching WordPress hosts is to recognize the signs that it’s the right time to switch. Since moving providers can be daunting, it’s important to be sure you’re making the right decision for your business, or for your clients.
These are the main reasons you might want to look into switching to a new WordPress host:
Your site is often down when you aren’t expecting.
Unexpected downtime is bad for business, and frequent drops in traffic can also affect your search rankings. If your site is going down multiple times each month, it’s a clear indication you need to switch to a new host.
Your current host is too slow.
Having a fast and responsive site is an important factor when optimizing your site for higher search rankings and providing a better user experience. If your site continues to load slowly after disabling unnecessary WordPress plugins, a new host might be the right solution.
Your current host’s customer support is poor.
When your site is down, the last thing you want is to hear that customer support can’t help you. If your host’s support team is slow to respond, difficult to reach, or they simply don’t know how to help, it’s time to move on.
Your current host is missing key features.
Say you’re looking to add e-commerce functionality to your WordPress site, but your host doesn’t support WooCommerce. Rather than trying to set up and manage the software yourself, it’s easier to find a host that manages that functionality for you.
Your current host doesn’t back up your site automatically.
Having a frequent backup of your site is critical—without one, recovering your site can be slow and painful, if not impossible. If your current host doesn’t provide frequent backups of your site for you, it might be time to say goodbye.
You have to install WordPress updates yourself.
Most managed WordPress providers should automatically install WordPress core updates and security patches for you. If your current host makes you manage this on your own, you can save time and reduce risk by switching to a managed WordPress host instead.
It’s important to note that every provider will have some things you’re happy with, and other things you don’t like. While you might be able to live with one or even two of these red flags, if more than two of the above items are affecting your sites, or if one or more problems keep coming up over and over, that’s a clear sign it’s time to find a new hosting provider.
Step 2: Choose a new WordPress host
When you’re choosing a new managed WordPress host, it’s critical to make sure you pick the right balance of features and service—after all, the last thing you want to do is be switching hosts again only a few months down the road!
There are a lot of benefits when choosing managed WordPress hosting over regular hosting:
- Most managed WordPress providers will offer to migrate your WordPress sites for you — GoDaddy included.
- Many providers will automatically install commonly used plugins for you, such as WooCommerce or Yoast SEO.
- A lot of managed WordPress hosting plans include a free staging site, making it easier to test out changes to your sites without affecting the live site.
- WordPress core updates, security patches, and even some plugin updates are managed automatically for you.
- Managed WordPress hosts will regularly back up your site, and make it easy to quickly roll back your site to a prior backup if needed.
- Having a dedicated WordPress customer support team ensures you can always get a hold of someone who can fix your problems.
Of course, we’d always recommend choosing GoDaddy Managed WordPress for your hosting needs—with simple installation and migration, pre-loaded themes, automatic updates, and award-winning customer support, GoDaddy makes it easy to get your WordPress site up and running.
Now that you’ve chosen your host, it’s finally time to get the migration started!
Step 3: Prepare your old WordPress site for migration
Now that you’ve chosen a new managed WordPress host, the first thing we’ll need to do is pack up the old site so that it can be migrated. To do this, we’ll be using a free WordPress plugin called Duplicator. The plugin makes it easy to pack up your existing site, and also to unpack it on the new provider.
While you could migrate your entire site without using any plugins, Duplicator makes things much more straightforward.
To install the Duplicator plugin on your old host, navigate to Plugins > Add New and type “Duplicator” into the search bar. Once you find the right plugin, click Install Now, and then activate the plugin once it’s installed.
Step 4: Package up your old WordPress site and database
Now that you’ve installed Duplicator, you can use it to package up your site for moving it to a new host.
To get started, go to Duplicator > Packages, then click Create New in the top right-hand corner.
On the next screen, you’ll see a few options for creating the package. While you do get some additional options as part of the Duplicator Pro package, such as cloud storage for backups and a branded installer, most sites can make do with the default settings.
Click Next to run a scan of your site and ensure it’s ready to pack—the scan should only take a few seconds. At this point, the plugin will warn you if you have any issues that might affect the migration of your site, such as an unsupported server setup or any enormous files.
If any errors come up, you can check the FAQ page for the plugin for more information on how to resolve the issues before running the scan again.
If everything looks good and your site checks out, click Build to start creating the migration package. Depending on the size of your site, it might take several minutes for the build to complete.
After the build is done, you’ll see two buttons, the first to download the installer and the second to download the site archive. There’s also a convenient One-Click Download link below the buttons—save yourself a few seconds and click that link, saving the files somewhere convenient.
Step 5: Create the MySQL database and user on the new host
This step assumes you’re moving to a vanilla web host without a managed WordPress offering. If your provider offers managed WordPress hosting, it’s much more convenient to have your provider take care of the migration for you.
While the Duplicator installer can install WordPress for you on the new host, you still need to manually create the database and set up a new user, since the plugin can’t do that on its own.
If your new host offers cPanel access, you can quickly set up the new database and user from within cPanel. (Here are instructions for how you can set up the database on GoDaddy’s cPanel hosting.)
If your new host doesn’t offer cPanel access, you should be able to find instructions for creating the database in their support documentation.
When you create the database, make sure to give it a memorable name, since you’ll need to enter it into the Duplicator plugin later. It can help to prefix the database name with “wp_” so you remember it’s a WordPress database, especially if you have multiple databases on the same server.
Make sure you also record the new username and password somewhere secure, as we’ll also need those when we set up the new site within the Duplicator plugin.
Finally, make sure the new database user has all privileges assigned for the database you’ll be using.
OK, time for the next step—installing the site on the new host!
Step 6: Import the WordPress site to your new host
Next, you’ll need to upload both the installer and archive files you downloaded from Duplicator earlier to the root folder on your new host. Make sure the root folder is completely empty, then upload the files using the File Manager in cPanel or using FTP
Once the files are uploaded, you’ll need to access the installer.php file in your browser to start the installation process. There’s one caveat, though: your domain is still pointing to the site on the old host, so you’ll need to access the new site directly via its IP address. If your site is on a shared hosting provider, you’ll also need to include your username in the address as well.
In cPanel, find the IP address of the new server, along with your username. In your browser, enter the IP address of the server, followed by “~username/installer.php”. Be sure to replace username with your user name, marked in red in the screenshot below.
The address bar should look something like this: http://220.127.116.11/~myusername/installer.php
When you make it to the installer, the first step will run some checks on the new host to ensure the archive can be installed properly. If everything shows a pass, then click Next to continue to the next step.
On the next screen, type in the name of the database you created earlier, along with the database username and password. Most of the time, you can leave the host as localhost. Click Test Connection, and hopefully, you should see two Success messages, showing that the server is connected and that the database has been found.
Assuming everything checks out, click Next to continue the installation, then click Yes in the confirmation dialog that appears to begin the deployment. The database will be installed, which will take a few minutes.
On the next screen, you should see the path to the files and database for the new installation. This is where the Duplicator plugin really comes in handy—it modifies the contents of the WordPress database to match the new database name, file locations and domain name, so you don’t have to change them manually.
If you’re changing to a new domain name as part of this process, go ahead and type in the new domain name in the New Settings boxes. Even if you’re keeping the same domain, you might need to re-type the old domain, since the plugin sometimes detects the IP address of the site instead.
Once you’ve entered all the details, click Next. If everything has gone according to plan, the final screen should not be showing any errors, and should give you some suggestions for tests to run on the new host.
That’s the difficult part finished – give yourself a high five!
Step 7: Double check your files on the new host
At this point, it’s a good idea to double-check that all your files have been migrated properly to the new host before deleting anything from the old host or canceling your account.
Using the File Manager in cPanel or your FTP software, ensure all the files on the new host match the files on the old host. If you spot a few extra files on the new host from the installation process, they can be safely ignored. If you happen to spot anything that’s missing, simply transfer the file over manually using cPanel.
Step 8: Update your DNS records to point to the new host
Once you’ve checked all your files have transferred properly, you’ll need to update your domain name to point at the new host. The exact method of updating your DNS records varies by DNS provider, so it’s best to look up specific instructions in your provider’s support documentation.
On the new host, follow the instructions to add your domain to the new account. After linking the domain to your account, you should be provided with two or more name server addresses to point your domain name to. Add those name servers to your existing DNS host, making sure to completely clear out the old addresses.
Remember, any changes to your DNS records could take up to 48 hours to propagate throughout the world. If you just can’t wait to get started on your new site, be sure you’re able to access the new site on your existing domain before making changes!
Step 9: Test everything thoroughly
Once the migration is complete, it’s time to make sure everything’s working as expected on the new host.
First, it’s helpful to verify that the DNS changes have updated, and you’re definitely updating the new site instead of the old site. One way to do this is to upload a file using WordPress’s Media Manager, then try to find the file you uploaded using the File Manager in cPanel on the new site. Once the file shows up you can start making changes, confident that you’re updating the new site.
Once the new WordPress site is up and running, it’s important to make sure your permalinks to your posts and pages are updated. In WordPress, go to Settings > Permalinks, and click Save (you don’t need to change anything else on this page). This makes sure all the permalinks are refreshed to match the new host, since they sometimes get messed up during a migration.
After refreshing the permalinks, navigate around your site, clicking on every page, post, and link you can. Look for missing images, broken links, and other signs that things might be broken. If you find any problems, be sure to fix them in WordPress.
Also, be sure to delete the installer and archive files from the Duplicator plugin, since they can pose a security risk. The Duplicator plugin makes this fairly straightforward—simply click Security Cleanup in the final step of the installer to delete those files. You can also delete the files manually using cPanel.
Last but not least, be sure to cancel your account with your old hosting provider, so you don’t get charged twice.
Give yourself a pat on the back—you’re done!
The easy way: GoDaddy’s 1-Click Migration
Even when you use the Duplicator plugin to make the process easier, manually migrating your WordPress site is a time-consuming and error-prone process. If you’re stuck with sub-par hosting for your WordPress site and it’s time to move on, you can switch to GoDaddy Managed WordPress hosting with a single click.
GoDaddy’s 1-Click Migration tool makes migrating your WordPress site pain-free:
- Your WordPress site is migrated to a temporary domain on GoDaddy, making it easy to test your site before making it live.
- You can check your new site out thoroughly and confirm everything is working the way you expect it to.
- If everything checks out, you can automatically point your domain name to the new site (if your domain is also registered with GoDaddy), or you can grab the DNS records to switch your domain to the new site (if your domain is with a different host).
Are you managing multiple sites for clients? You can also use GoDaddy Pro Sites for easy one-click site migrations, cloning, and backups, no matter where your clients’ sites are hosted.
Image by: Photo by Wes Hicks on Unsplash