How to move your WordPress blog

First of all, moving your WordPress blog to a new host is not fun. It’s always a process that’s a bit stressful and can cause some unexpected issues.

But let’s not be all that pessimistic here. The truth is that if you do some preliminary tasks and plan everything out, you can hope for a smooth process, and your readers will probably not even notice that there was a big operation running in the background.

The fast and expensive way

Depending on what hosting company you’ve chosen, and how expensive your plan is, your new provider may offer transferring your blog without additional payments.

In most cases, this is something you should take advantage of. It’s always better to have a professional handling such a task. If someone’s been doing this as their job, they’ve probably already seen every issue that can come up during the process.

Besides, you always get someone to yell at in case anything goes wrong…

If, on the other hand, you’re moving your WordPress for the simple reason that it has outgrown your previous provider, but you want to keep this as cheap as possible, then you will probably have to do everything on your own.

How to move WordPress to a new host by yourself

First of all, a little clarification. In this guide I’m describing how to move WordPress to a new host without changing the domain name. Changing your domain along with your hosting provider will require some additional steps not described here.

0. Signing up and selecting a plan

This isn’t actually part of the main process – that’s the reason why it’s step number zero.

Besides, I can’t really tell you what hosting plan you should select… Depending on your niche, traffic, budget, and location, some plans will be more attractive than others, so this is on you.

However, before you can move to the next step, make sure that you have these things set in place:

  • Access to your new cPanel or any other hosting account management platform.
  • Access to an FTP account.
  • Access to phpMyAdmin – a database management platform.
  • Your old domain hooked up to the new cPanel.
  • DNS servers’ addresses of your new hosting account.
  • The IP address of your new server.

1. Pick the low-traffic day

It’s always best to do this kind of operations the day when your blog receives the least amount of traffic.

For most blogs, it’s Sunday or some other day during the weekend. Simply go to your Google Analytics and see what’s the situation for you.

Also, take notice what’s the low traffic hour during that day.

When the day comes proceed to the next step.

2. Deactivate plugins

Whenever you’re making a switch to a new hosting environment the thing that’s most likely to fail are your plugins. WordPress itself is pretty good at working on different machines, but the plugins are a lot more unstable … even the most popular ones.

Therefore, before you do anything. Go to your plugins page in WP admin and deactivate every single one of them.

3. Backup

This is the funny part. Because in step #2 I told you to deactivate all plugins, and now I’m telling you to get the Online Backup for WordPress plugin, install and activate it. Well, anyway, bear with me please…

Once you have the plugin, go to Tools > Online Backup, then the “Backup” tab, and do a complete backup of your site.

This can take a while; up to 10 minutes, depending on the size of your blog.

When the process is done you can download the backup to your local computer.

4. Creating a database mirror

Online Backup for WordPress creates a backup as a ZIP archive you can then use in many ways.

Take the archive, and extract it somewhere on your local hard drive. What’s important in this step is to locate the .sql file, which holds your whole database. The file should be named: OBFW_Database.sql.

Go to the database management platform – phpMyAdmin – on your new hosting account, and create a new blank database. Name it whatever you like.

Select “Import” from the top menu. Upload the OBFW_Database.sql file and hit the main submit button. If everything goes well, in a minute you’ll see a success message. This means that a new mirror of your blog’s database has been created.

5. Set your new wp-config.php

Go back to your backup archive created by the Online Backup for WordPress plugin and locate the wp-config.php file.

Switch the settings to use the new database mirror (the parameters: DB_NAME, DB_USER, DB_PASSWORD, DB_HOST).

6. Upload your site

Connect to your new host via FTP and upload your whole site to the proper location/directory (check this with your hosting provider; usually a directory named “public_html” or something similar).

Once this is done, you have a new mirror of your whole WordPress site.

However, no one can actually see it yet, but this is a good thing. You want to make sure that everything is working before you let people through the door.

This next part is all about tweaking, activating plugins, doing some final touches, and pressing the main launch button, so to speak.

7. Changing your local hosts file

This is for Windows users.

Find your hosts file and open it with Notepad. The file is located in: C:WindowsSystem32driversetc.

Go back to the cPanel of your new hosting account, or review the emails your provider sent your when you signed up for your new hosting. What you’re looking for is the exact IP address of your new server. Take this IP and go back to your hosts file.

Go to the end of the file and create a new entry. Example entry:

1.1.1.1 yourdomain.com

  • 1.1.1.1 – replace with the IP of your new server.
  • yourdomain.com – replace with your site’s domain name.

Save the file and close it.

This trick enables you to see the new mirror of your site by going to its normal address (yourdomain.com). Now, you are the only person in the world who sees this. Everyone else sees the old mirror (the one on your old hosting account).

This enables you to make sure that your site is working properly before launching it to the public.

8. Final touches

If everything went well, at this point you should be able to see your site normally, but with all plugins disabled, so there’s probably a lot of functionality missing.

Now it’s time to activate your plugins.

I had some problems with various plugins and hosting accounts, that’s why I like to enable each plugin individually and see how it affects the site.

Go to your WP admin, to Plugins, activate your plugins one by one, and always go back to your blog and view it after each activation.

If you’re lucky, all plugins should work equally as good as they did on your old host.

If you stumble upon any problems, it’s best to contact the support team of your new host and ask them for solutions.

Keep in mind that even if something goes bad, your visitors still see the old – working – version of your site, so you don’t have to worry that much.

Also, check the basic functionality. Do things like: submit a comment, use the contact form, click the re-tweet button, visit your custom page templates, etc.

9. DNS change

If everything’s fine you can make the final step and switch your domain name’s DNS to point to your new host.

This is done either by contacting your domain registrar or using an online tool provided by the registrar.

Once you’re done with this, the only thing left to do is … waiting. This can take up to 48 hours.

During this time, some visitors can still submit comments and interact with your old site. If they do, you will have to go through your old database manually (once the switch is done) pick all the comments and place them in your new database by hand.

(That’s why we’ve picked the low traffic day for this whole operation).

Also, go back to your local hosts file and erase the entry you made a while ago. You don’t need it now.

10. Do a fresh backup

Remember to install the Online Backup for WordPress plugin on your new site too. Then create a fresh new backup of the new site. You know … just in case.

11. Uninstall the old site

After a week or so you can safely delete your old site. First, “drop” the database, and then delete the files through your FTP account.

From now on you have a single instance of your site, sitting on your new hosting account. Fin.

Other scenarios

This guide describes how to move your WordPress without changing the domain name. However, if your situation is different, feel free to visit the Codex (moving WordPress) and check other possible scenarios.

One final thing: What’s your experience with moving WordPress around? Did you have to change hosting providers at some point of your blog’s existence? How did it go?

IMPROVE PAGE SPEED SCORE BY 78%

Find out how to get a higher score on Speed Test

Join our mailing list to receive your FREE ebook about how to boost your site speed, along with the latest news and giveaways.

there are 27 comments added

  1. Wpfix 12th June 2012

    Nice tutorial karol.

  2. Rick Roberts 12th June 2012

    Very nice tutorial. I would add that we also advise customers to disable comments and advise authors that there is a moratorium on submissions during the transition.

    • Karol K 2nd August 2012

      That's a good idea, thanks.

  3. mike 15th June 2012

    One important consideration you overlooked: serialized data. For some reason, many plugins store the full path of some values (usually graphics), and so too does WP in some content areas (at least, that's been my experience). So, records in the database will contain pointers or links to http://www.yourolddomain.com/some_asset, and break on the new domain (or will break when the old domain goes away!) Some widgets don't work because their values are lost. I found wp-migrate-db to be amazing for this, as it exports your data in sql format, but changes the serialized info during the export. A HUGE timesaver. Works great from test to live server work as well.

    • Karol K 2nd August 2012

      Sure, you are right, but the guide here describes how to move to a new host only. Without changing the domain. Changing both your hosting and a domain is a lot harder to do at the same time.

  4. Guglielmo 19th June 2012

    Thx for the tutorial ;)

  5. Dan J 30th September 2012

    Have you ever tried or seen this? claims to be compatible with wordpress but I am reluctant to try this on my live blog (my goal is to switch from godaddy to dreamhost and I have a new domain at dreamhost)

  6. Adam Gore 8th October 2012

    Hey there, youthink I could do this on http://www.decodehosting.com/?

  7. Jihan 25th November 2012

    I was just migrating a wordpress site to a new host it helps me a lot to understand the ways around. Thanks !

  8. Simon 13th December 2012

    Really good guide which I followed last night and successfully moved my eCommerce marketing blog over to a new host. The reason for the move was to increase rankings further. Because we target the UK it's best to have our server in the UK, before it was in Germany on slow hosting from 1and1 - then again for £5 per month you get what you pay for. So with the speed of the new server, on a dedicated IP address and the box fully optimised for Wordpress, then this should increase organic search rankings. Also at the same time lower my CPC costs on Adwords and Bing/Yahoo. Thank you again for the guide, everything went better than I thought it would and I have very little technical knowledge.

    • Karol K 17th December 2012

      Glad I could help!

  9. The WP I need to migrate is v2.8.4 and the plugin is rated as 2.8.6 or later. I really need to move this and wonder whether it might work?

  10. Apon 19th May 2013

    It is always very critical for me to transfer a site.

  11. Ciprian 26th July 2013

    If you have modified the hosts file from your Windows folder, but you are still redirected to the old domain, click on Start, choose Run, type cmd and on the black window type ipconfig /flushdns.

  12. Jay Hee 31st August 2013

    This guide is perfect. I was able to transfer my wordpress site to its new host smoothly. I didn't deactivate the plugins and the site was not messed up. Thank you! My only problem now is how to transfer email accounts.

    • Karol 20th September 2013

      Transferring emails isn't very effective. I'd advise downloading them from your old hosting account in case you'll need to use them in the future, and then just creating the same email handle on the new host. So the host change will go unnoticed to your audience.

  13. mahi 8th January 2014

    It is always very critical for me to transfer a site.

  14. Paul 10th February 2014

    thanks for the great walkthrough. Just thought I’d mention that I’m about to launch my new service at migrately.com which will help those folks who can’t or don’t want to move their site themselves. The service will focus purely on moving WordPress websites from one host to another. Nothing more or less than that. It will also be priced competitively! Launching soon, but there is a sign-up page at the above address where folks can register for more information. Thanks again for the post!

  15. Paulo Werdana 30th January 2015

    Nice tutorial. I’ve been considering moving one of my WP blogs to another host but always dreaded the move. When I googled the cms2cms tool, I wasn't sure it will work. However, my the most forward-thinking expectations were fulfilled. I wish I would have done it sooner, but I was afraid.

  16. Siddharth shanker mishra 12th March 2015

    Thanks a lot for this tutorial. I am planning to move my blog from Godaddy hosting to any other good hosting. i was looking for this info in advance. I will do this after my hosting provider search will result in positive. A BIG thanks for that local hosts trick. I think i can use it one or two days before the final migration of blog.

  17. Jerryy 29th May 2015

    This is great wonderful Services.. awesome Ideas Thanks.

  18. alex 29th May 2015

    Hi. I have this website: pharma-steroids.com It is created on PrestaShop. Can you help me to move it to another host? Thanks!

  19. MD AFJAL 24th October 2015

    nice and very informative post...Word press is a Content Management System (CMS) software. These bloggers software (system) is very popular, especially some reasons. At any point, you can create your blog free of charge. The domain registration, web hosting will not have to pay for anything. Very easy to use. Information blog in the search engines, the software itself. There are several templates for use. Any of the choice to select the design of your site can use.

  20. Karen 2nd November 2015

    I MOVED MY WORDPRESS PAGE TO GODADDY. DID THE EXPORT XML FILE AND IMPORTED IT. I LOST MY THEME THO? HOW DO I TRANSFER OR GET MY THEME BACK?

  21. Amit 31st January 2016

    very diffrent and good article..

  22. kAUSHIKKUMAR DABHI 20th August 2017

    This is great wonderful Services. AND Very Useful this post Sir Thanks.

Reset fields

back to top