How to move WordPress site to new server with zero downtime

Update: I recommend using ManageWP to easily backup/restore/migrate your WordPress sites.

The Hunchback of Notre BresilIt often comes as a topic and I decided to write a quick tutorial on how to move your WordPress site from one host to another with zero downtime.

I will assume you are familiar with basic operations like database backup and FTP. So in order to transfer WordPress to new server you need to follow these steps:

  1. Backup the database from the old site and import it to the new site. Pay attention to database names.
  2. Change your wp-config.php in the old site to point to the database on the new site. Your old site will now run using database based on the new site and once you change the nameservers new site will have the up to date database. (You may want to check with your new hosting if they allow outside database access first. If not, you can skip this step and transfer the database at the end, when the nameserver change propagated)
  3. Backup your entire WordPress installation from the old site (this will include all your uploads, themes, plugins)
  4. Unpack your WordPress installation to the new site
  5. Change wp-config.php on the new site with new database details
  6. Change the nameservers to point to the new site
  7. That's all now you only need to wait :)

Since nameserver propagation can take up to one day, step 2 allows you to have up to date database at the moment it happens. Downside to this is slower site response in the meantime because site still runs from the old server and the database is on the new. But if you do this over the night or periods of low traffic it won't be that noticeable and you will not lose any comments or other activity on your site.

Update: You can use ManageWP to move a WordPress site with less hassle.


More like this:


Posted in: WordPress
TAGS:, , , , , , , , , , , , , , , , , , , , , , ,
Both comments and trackbacks are currently closed.

24 Comments

  1. Apr 18th, 2011 3:05 PM

    Thanks for the great tip. About to transfer my site to a new faster server and your guide is perfect. Gret idea BTW about making the database change first. Going to do that!

  2. Mar 29th, 2011 7:43 AM

    Hey, Thanks for this article, I was searching to migrate wordpress blog from 1 server to another server and I found your article and used the tips as you have mentioned. I used your steps and wow I did my job with 0 downtime.
    Thanks so much

  3. Feb 8th, 2011 10:58 AM

    thanks a lot. Simple and to the point. I am getting a VPS for my blog and will be moving my site to the VPS within a couple of days. I will certainly share my experience with you once the entire transition is complete.

    Regards,
    Sphinx

  4. Oct 27th, 2010 6:21 PM

    Vladimir, I wish to change this site over to a WordPress site. Are there a few things I should focus on to keep the "link juice" intact so I keep the search position that I have built up for years?
    Thanks Gary

  5. Clint
    Sep 8th, 2010 9:08 AM

    I can't tell you how may things I read that didn't work, before I found this simple solution that did!

  6. Aug 26th, 2010 2:54 PM

    helpful article. Server downtime is never good. Thanks for sharing.

  7. Aug 13th, 2010 9:01 AM

    Thanks, Vlad. That was quick and easy guide, I just wish there was plug in or something to automatically do this. Problem I had was my new host does not allow IP to look up site, so I did not know if it was installed correctly until propagated, in our case about 15h. Also we had other scripts installed that needed special requirements. Nevertheless your advise is well appreciated.

  8. Apr 10th, 2010 6:35 PM

    This is basically correct, but with a few changes.

    1) You want to update your website A-record, not the nameserver itself. Updating nameservers will result in a delay of anywhere between 10 minutes and 36 hours, whereas updating your A-record should be virtually instantaneous. You should then set up your nameservers with the other provider and swap it over - this way you should have zero downtime.

    2) You will probably want to check that your site is working on the new hosting before you change any records or nameservers. You can do this by pointing your local hosts file to the new web hosting IP for that domain. See http://en.wikipedia.org/wiki/Hosts_file

  9. Mar 20th, 2010 10:39 PM

    Thanks for the tips, i just moved to another host without any downtime :)

  10. Neil Abraham
    Feb 2nd, 2010 8:19 AM

    I followed all these steps BUT my links now don't work.

    I grabbed a backup of the old site, then I used fantastico to install a new WordPress account on my new server.

    I then did a "drop" of the contents of the new MySQL database and did a restore from the backup .sql file, which seemed to go ok.

    I uploaded all the old files provided, like templates, etc. I modified the config file to know the new database name and created the correct username and password on the server.

    I then changed the name servers to point to lunarpages and this morning it all came up looking like it was going to work.

    The front page comes up and looks fine.

    I can log into the wp-admin and everything there seems to work fine, all the old pages are listed and I can even modify the article called "home" and the changes appear fine on the website.

    BUT - none of the links from the front page work. They all give a 404 error.

    For example "about us" permalink listed in the admin editor matches the link that appears when you click the about us link on the front page, yet the two are not matching up

    Any idea why?

    • Sep 27th, 2010 2:36 PM

      I am getting the same issue. Is there a resolution to this? Many thanks.

    • Sep 27th, 2010 2:38 PM

      Try clicking Update permalinks from settings->perealinks

  11. Dec 28th, 2009 8:55 AM

    nice post.. do you agree to exchange link with me

  12. Dec 24th, 2009 9:49 PM

    thanks a lot Vladimir. actually i don't know that one can transfer a wordpress site without downtime.

  13. Dec 19th, 2009 2:29 PM

    Thanks for the tips. We will try.

  14. Dec 13th, 2009 1:19 AM

    Vladimir, this works great. I just had to change Host. I used your procedure for a check list. When the nameserver changed in a few hours, every thing fell right in place. I don't think I had any down time.

    Thanks Bill

  15. Nov 28th, 2009 4:18 PM

    Nice tip! Thank you Mr. Vladimir :)

  16. Oct 28th, 2009 2:22 PM

    Very useful info on here as this process is full of pitfalls for the unwary. Just be sure to trace your steps so that you can always return.

  17. Sep 25th, 2009 5:42 AM

    Thanks for sharing good information, i learn how to move wordpress here.

    Keep posting.

  18. Aug 9th, 2009 11:01 PM

    I have changed servers and I've changed the wp_config.php but I still can open my blog nor can I get admin
    to open. All I get is a blank page. Anybody have any suggestions

  19. Aug 3rd, 2009 8:14 PM

    So will this work if I want all the widgets and plugins and settings to remain the same? I want to be able to just move it over to another server and have it be the same as it was on the previous server. Is this possible.

  20. Thorsten Albrecht
    Jul 16th, 2009 2:48 PM

    Before I could activate my migrated wordpress installation (I just duplicated my installation on the same server) I had to change the value 'siteurl' in the database table "wp-options" by hand. Otherwise I would have been redirected to the old wordpress installation.

    Thorsten

  21. Jun 30th, 2009 5:16 AM

    Hi Guys.

    I am just wondering. Will it be possible to install a fresh copy of WordPress and over write the new database with old database?

    Care must ensure that both copies of the WordPress MUST be of the same version to prevent conflicts?

    I am going to change server soon and it is getting me paranoid with so many suggestions and ways to move a WordPress blog.

  22. Jun 24th, 2009 12:47 AM

    i have recently aquired a new domain name for a different site i want to start, now i have been thinking of using my pc at home as a temporary server to install wordpress onto and get the look of it right before i let the new site "go live to the world" as it were. now if i move my files over to a new server, when i am ready, can i delete all the files on my pc(server) at home without it having any effect on the functionality of my new site??? in oher words once the files are on the new server, does it matter or not if the old one"my pc" is offline/no longer working/sold for spare parts.....?