How to Move Your WordPress Website to a New Hosting Provider

If you’ve been running a website for any length of time you’ve probably had occasion to become dissatisfied with your hosting provider and thought about moving to another.

That’s happened to me 3 times in the past 10 years.

In the first case it was because the hosting provider I used did not support SFTP, and in the other two cases it was because their service level and support deteriorated so badly that I had to move.

Initially this may seem like something you wouldn’t want to take on, but it’s actually pretty straightforward.

There’s no need to feel trapped into putting up with poor service!

Many hosting providers offer to transfer your existing website to their service for free, but there are usually two restrictions:

  1. The host you are moving from must be using cPanel
  2. The receiving host will only transfer one website (for free)

So this article describes how to move your WordPress website, using the same domain, in cases where those conditions are not met.

The steps you need to go through

Here, in summary, are the steps that must take place for a WordPress website to be moved successfully:

  1. A new database must be set up on the new host, which you can do through cPanel (MySQL databases). Make sure to keep a copy of the database name, database user and user password because you’ll need them later
  2. Using PHPMyAdmin, export the site database files from your current host to a location on your computer (they will be in a .sql file)
  3. Download the website files from your current host to your computer, using an FTP client or file manager. Select the entire contents of the public_html folder to ensure all folders and files are moved
  4. Go to your new host and import the database file you exported from your old host. You need to select the new database in PHPMyAdmin and import the .sql file you downloaded earlier
  5. Upload the WordPress files from your computer to the new host (usually to the public_html folder, but check that with your new host)
  6. Edit the wp-config.php file on your new host by replacing the old database name, database user and user password with the ones you used earlier when creating the new database
  7. Go to your domain registrar and change the DNS settings to those of your new host

If you are changing the domain, as well as the hosting provider, then there is an additional step you will need to take: Edit the new database to change the file paths throughout the site to reflect the new domain name.

It’s a straightforward process but it does require close attention to detail, particularly when working with the wp-config.php file and the database, to ensure everything goes smoothly.

Getting anything wrong will result in a blank white screen.

Therefore, if you’re not too comfortable working with those files, I recommend using a plugin.

Move WordPress using BackupBuddy

The easiest way to move your site is to use a plugin, and I’ve used BackupBuddy from iThemes to move WordPress websites from server to server, and domain to domain, for nearly 8 years.

Here’s the process for moving WordPress if you’re using BackupBuddy:

  • Install BackupBuddy on your current host (if you aren’t already using it)
  • Using MySQL Databases in cPanel, create a new database on your new host, remembering to keep a record of the database name, database user and user password
  • Take a Complete Backup of your site with BackupBuddy. The ‘Complete’ backup includes both your database and your site files
  • Download the backup file to your computer (it will be a .zip file)
  • Go to the BackupBuddy > Migrate/Restore screen and click the link to download the Importbuddy.php file to your computer. Adding a password in the field that’s presented and clicking OK will start the download
  • Go to your domain registrar and change the DNS settings to the settings of your new host. Wait an hour or so for the DNS change to take effect – you can check it using this website
  • Upload both the backup zip file and the Importbuddy.php file to your new host (most likely to the public_html folder, but check)
  • Make sure the DNS change has propagated and, if so, navigate to the importbuddy file on your domain using this URL: https://yourdomain.com/importbuddy.php. If the DNS change has taken effect you will be presented with the ImportBuddy screen asking for the password you set up before downloading it
  • Insert the password and follow the steps. There will be two items you need to add or confirm when prompted:
  1. You will need to add the new database name, user name and user password. You can also change the database prefix in this step, which would be a good security step
  2. You can check the domain name (which you should not change unless you are moving to a new domain)
  • The final screen will invite you to check that your site has imported properly. Do so in a new tab
  • If everything is OK click the ‘Finish’ button. This will delete the working files used in the process

If you’re moving to a new domain as well as a new host, then you can change the domain name in point 2 of those two items you need to edit or verify. BackupBuddy will then make the necessary edits throughout the database.

In closing

I’ve used BackupBuddy for 8 years to backup and move WordPress websites. I’ve managed sites up to 12 GB in size with it and it has always performed flawlessly.

I reviewed BackupBuddy on my WP Security Basics website, so if you’re interested to read more details please click here.

Cheers,

Martin Malden

P.S. Still struggling to make good money online? This may help:

Comments on this entry are closed.

  • Laura 20 March, 2019, 1:25 pm

    Oh WOW! this is awesome. I had no idea backup buddy existed. I have moved my website 3 times in the past 4 years. Mostly for the same reasons you just mentioned.

    Your teaching and instructions are so easy to follow. I do appreciate this. I will bookmark it for future reference and to share with others.

    Thank you bunches for taking the time to instruct on this much-needed process.

    • Martin Malden 20 March, 2019, 1:58 pm

      Hi Laura,

      You’re very welcome and I’m glad you find it useful.

      Unfortunately the world of website hosting changes pretty quickly – in my experience good hosts have become bad hosts in less than a year.

      Knowing how to move your site quickly and easily takes away a lot of the stress when the service provided by your hosting company deteriorates.

      Many times, hosting companies rely on the fact that many people who own websites don’t know how easy it is to move – and it is easy, so there’s no need to put up with bad service!

      Cheers,

      Martin.

  • Norman Richards 20 March, 2019, 5:32 pm

    For me, this is a lot of information to digest but what I love is that a person can move from one hosting provider to the next if the need arises.

    The process may take some time, especially for a person that is new to this, or may not be tech savvy, but it is good to know that it is easy enough to do.

    You have laid out the steps very logically to make the journey in this process a lot easier.

    • Martin Malden 21 March, 2019, 7:17 am

      Hi Norman,

      Actually it doesn’t really take that much time. I live in an area where Internet access is slow and, because of that, the longest steps in that process for me are downloading and uploading the backed up files..!

      None of the other steps take that much time.

      As I mentioned in the article, many hosting companies offer to import a site free of charge when you’re moving to them, so you can always take up that offer. They will email you when the migration is complete.

      This may actually take longer than doing it yourself because they will put your job in the queue behind all the others!

      Cheers,

      Martin.