WPBeginner

Beginner's Guide for WordPress

  • Blog
    • Beginners Guide
    • News
    • Opinion
    • Showcase
    • Themes
    • Tutorials
    • WordPress Plugins
  • Start Here
  • Deals
  • Glossary
  • Videos
  • Products
X
☰
Beginner's Guide for WordPress / Start your WordPress Blog in minutes
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

WPBeginner» Blog» Tutorials

How to Move WordPress to a New Host or Server With No Downtime

Last updated on December 6th, 2016 by Editorial Staff
561 Shares
430
84
39
8
Special WordPress Hosting offer for WPBeginner Readers
How to Move WordPress to a New Host or Server With No Downtime

Are you looking to move your WordPress site to a new host or different server? The biggest risk when migrating a website to a new server is data loss and potential downtime. In this step by step guide, we will show you how to properly migrate your WordPress site to a new host with no downtime.

Migrate WordPress to New Server

Important: Before we start, we want to remind you that most WordPress hosting companies offer free migration services. If they don’t publicly state that, then all you have to do is ask. Usually it’s free, but some may charge a small fee.

Step 1: Choose Your New WordPress Host

If you’re stuck with a slow web host even after optimizing your WordPress site for speed, it’s time to move your WordPress site to a new host that can handle your growing traffic.

When looking for a new WordPress hosting provider, it’s important to choose carefully, so you don’t have to move again any time soon.

Here’s who we recommend:

  • For reliable shared hosting, we recommend going with Bluehost. They’re officially recommended by WordPress.org. And with our Bluehost coupon, WPBeginner users get 60% off and a free domain name.
  • If you’re looking for cloud hosting or location-specific providers, then we recommend you check out Siteground. They have data centers across 3 different continents.
  • If you’re looking for dedicated servers, then we recommend you check out InMotion Hosting. Their commercial class servers and support are amazing.

After buying your new hosting, do NOT install WordPress. We’ll do that in a later step. For now, your new web host account should be completely empty, with no files or folders in your main directory.

Step 2: Set Up Duplicator for Easy Migration

The first thing you need to do is install and activate the free Duplicator plugin on the website that you want to move.

Duplicator is a free plugin that we highly recommend. We’ve written in the past about how to use Duplicator to move your WordPress site to a new domain name without losing your SEO rankings.

However, in this article we will walk you through how to use it to migrate your WordPress site with zero downtime. The process is similar, but this guide will focus on moving your hosting, while the other guide focuses on switching to a new domain (such as from www.oldsite.com to www.newsite.com).

Once you have installed and activated Duplicator, go to the Duplicator » Packages section in your WordPress admin area.

Next, you need to click the Create New button in the top right corner.

Duplicator Packages

After that, click the Next button and follow the steps to create your package.

Create a copy of your website using Duplicator

Make sure that your scan results check out (everything should say “Good”), and then click the Build button. The process may take several minutes to complete, so leave the tab open as it works.

Duplicator scan results

Once the process is complete, you need to click on both the Installer and then the Archive buttons to download the package. You will need both files.

Download Duplicator package

The archive file is a copy of your site, and the installer file will automate the installation process for you.

Step 3: Import Your WordPress Site to Your New Host

Now that you have downloaded both the archive and installer files, the next step is to upload them to your new web host.

You can do this by connecting to your new web host using FTP. If you’ve never done this before, check out our beginner’s guide to uploading files via FTP to WordPress.

Note: When setting up your FTP client to connect to your new web host, keep in mind that your domain name still points to your old web host. That means you’ll need to enter the IP address of your new host instead of your domain. This is to ensure that these files go to the new host rather than the old host.

Using your FTP client, upload both installer.php file and your archive .zip file to the root directory of your website. This is usually /username/public_html/ or /username/public_html/example.com where example.com is your domain name.

If you’re not sure, just ask your web hosting company.

Make sure that your root directory is completely empty. If you have WordPress installed in your root directory, then you need to delete WordPress first.

Step 4: Change The Hosts File to Prevent Downtime

Once you’ve uploaded both files to your new host, you need to access the installer.php file in a browser.

The file can be accessed using a URL like this:

http://www.example.com/installer.php

However, the problem is this URL will take you to your old web host, and you will get a 404 error. This is because your domain name is still pointing to your old web host.

Normally, folks will tell you to change your domain nameservers and point to your new host. However, that will result in your users seeing a broken website as you migrate it.

We’ll show you how you can access your new site temporarily on your computer, without affecting your old site.

This is done with a hosts file on your computer.

The hosts file maps domain names to specific IP addresses. In this step, we will show you how to add an entry for your domain name in the hosts file so that it points to your new host, but only when using your computer.

Making these changes will allow you to access the files on your new host using your own domain name, while the rest of the world will still be accessing your site from the old host. This ensures 100% uptime.

The first thing you need to do is find the IP address of your new web hosting server. To find this, you need to log into your cPanel dashboard and click on expand stats link in the left-hand sidebar. This will expand the sidebar showing you information about the status of your server. The information you need to copy is the Shared IP Address.

Finding your server's ip address in cPanel

In the next step, Windows users need to go to Programs » All Programs » Accessories, right click on Notepad and select Run as Administrator. A Windows UAC prompt will appear, and you need to click on Yes to launch Notepad with administrator privileges.

On the Notepad screen, go to File » Open and then go to C:\Windows\System32\drivers\etc. Select hosts file and open it.

Mac users will need to open the Terminal app and enter this command to edit hosts file:

sudo nano /private/etc/hosts

For both Windows and Mac users, at the bottom of the hosts file, you need to enter the IP address you copied and then enter your domain name. Like this:

192.168.1.22 www.example.com

Make sure that you replace the IP address with the one you copied from cPanel, and example.com with your own domain name. Save your changes, and you can now access your files on the new host using your domain name on your computer.

Important: Don’t forget to undo the changes you made to hosts file after you have finished the migration (step 5).

Step 5: Begin the Duplicator Migration Process

Now we’re ready to run the installer. Navigate to this address in your browser window, replacing example.com with your domain name:

http://www.example.com/installer.php

If you have not already created a database on your new host, then it is time for you to create a database in cPanel. Be sure to make note of the database username and password.

Once you have created the database, you will need to enter the database information in the fields below and then click on the Test Connection button.

Test your database connection

If the installer fails to connect to your database, then check the values you entered above and make sure they are correct.

Once you have successfully connected to your database, scroll down to read the warnings and notices and check the box confirming you’ve read them. Then click the Run Deployment button.

Run deployment

The installer will now import your database. The process may take several minutes, so keep the tab open as it works.

In step 2 of the installer, you’ll be asked to verify your old and new URL paths. Make sure it’s accurate and click Run Update to update your URLs.

In the final step, you can complete the process and verify that everything is working correctly by clicking the buttons in order.

Duplicator installer final steps

Important: Now you can remove the changes you made to your hosts file in step 4.

Step 6: Update Your Domain

At this point, you’ve created a complete copy of your WordPress database and files on your new hosting server. But your domain still points to your old web hosting account.

To update your domain, you need to switch your DNS nameservers. This ensures that your users are taken to the new location of your website when they type your domain into their browsers.

If you registered your domain with your hosting provider, then it’s best to transfer the domain to the new host. If you used a domain registrar like Godaddy, Namecheap, etc, then you need to update your nameservers.

You will need the nameserver information from your new web host. This is usually a couple of URLs that look like this:

ns1.hostname.com
ns2.hostname.com

For the sake of this guide, we will be showing you how to change DNS nameservers with GoDaddy. Depending on your domain registrar or web host, the screenshots may not reflect the setup on your registrar or web host. However the basic concept is the same.

Just look for domain management area and then look for nameservers. If you need assistance with updating your nameservers, you can ask your web hosting company.

First you need to login to your Godaddy account and then click on the launch button next to domains.

Launch domains

On the next screen, click on your domain name. You will see your domain details, along with your nameservers. You need to click on the manage link under the nameservers.

Manage nameservers

On the next screen, you will see a link to enter custom nameservers. Clicking on the link will open a form where you can enter your custom DNS nameservers.

Entering nameservers

Save your changes and you’re done.

You have successfully changed the nameservers. DNS changes can take 4 – 48 hours to propagate for all users.

Now since you have the same content on your old host and the new host, your users wouldn’t see any difference. Your WordPress migration will be seamless with absolutely no downtime.

To be on the safe side, you can wait to cancel your old hosting account until 7 days after your migration.

We hope that this step by step guide helped you move WordPress to your new host with no downtime whatsoever. If you come across any issues with your WordPress migration, then check out our guide on the most common WordPress errors and how to fix them.

If you liked this article, then subscribe to our YouTube Channel for our WordPress video tutorials. You can also follow us on Twitter and Facebook.

561 Shares
430
84
39
8
Popular on WPBeginner Right Now!
  • Why Build Your Email List Today

    Revealed: Why Building Your Email List is so Important Today!

  • Google Analytics in WordPress

    How to Install Google Analytics in WordPress for Beginners

  • Switching from WordPress.com to WordPress.org

    How to Properly Move Your Blog from WordPress.com to WordPress.org

  • Checklist

    Checklist: 15 Things You MUST DO Before Changing WordPress Themes

About the Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi. Page maintained by Syed Balkhi.

The Ultimate WordPress Toolkit

25 Comments

Leave a Reply
  1. David in Mississippi says:
    Dec 6, 2016 at 4:41 pm

    Another article – directly related to this one, but sufficiently different to warrant its own separate article – would be “Replacing A Legacy Website with a Fully-Developed WordPress Website.”

    This has happened to me several times already. I have clients with older, legacy-type (non-WordPress) websites, and they ask me to convert their site to WordPress.

    I have two methods I use to do this, and one of them involves building the brand new WordPress site on a temporary development URL. When it is done, I then need to transfer it to the existing URL for the client.

    In other words, I develop it at DevelopmentSite, and when it is done, I then move it to ExistingLegacySite

    I should think it would be easier to do this than the procedure outlined in your article above, but it would still be helpful for you to do an article on this type of migration.

    Thanks.

    Reply
  2. Dave says:
    Dec 6, 2016 at 11:59 am

    Correct me if I’m missing something, but this ‘hosts file change’ will only work if you have a just one site on your plan at that new IP address. I have several low-usage sites I’m hosting on one plan. They are in subdirectories under phulic_html.

    So doing this:
    192.168.1.22 http://www.example.com
    in the hosts file will not specify which of your 5 sites to point to. And it seems the only thing you can specify in the hosts file is an IP address and a URL.
    You can’t do something like this:
    192.168.1.22/sitea http://www.example.com

    Am I wrong?

    Reply
  3. Vyse says:
    Dec 6, 2016 at 7:32 am

    hello. good article but what about wp multisite?

    Reply
  4. Tanisia says:
    Oct 9, 2016 at 7:46 pm

    I’ve tried for four hours to make these instructions work. The result? Now I can’t access my site at my old host. I tried following the directions on this 2-year-old article (will there be an update, since BackupBuddy has evolved?) and now everything is messed up.

    I used FTP to upload the files, and edited the host file as instructed, but the ImportBuddy PHP script won’t run. It just shows me the code. I tried contacting Bluehost for assistance, and they were no help. So I tried setting all my other settings back to where they were before I started this odyssey, and now I can’t see my site at all. Not the Admin panel, nothing.

    Reply
    • WPBeginner Support says:
      Oct 10, 2016 at 12:54 pm

      Tanisia, please refer to our guide on what to do when you are locked out of WordPress admin area.

      Reply
      • Tanisia says:
        Oct 10, 2016 at 6:03 pm

        I’m back in at my old host – my servers needed to re-propagage from Bluehost, and it took longer than I had anticipated. I’m still left with BackupBuddy not working the way it’s supposed to. Again, do you have updated instructions from 2014, since there have been several updates to BackupBuddy since this was written? When I did the Notepad update in Windows 10, it looked different from what was described here, so I couldn’t be sure if that trick worked.

        Thank you for answering back.

        Reply
  5. Fahim says:
    May 31, 2016 at 9:09 am

    If it was a primary domain , can i follow this Process? I need to move and that domain is Main/primary domain, how can i move,will u plz help me?

    Reply
  6. Mark says:
    Oct 15, 2015 at 5:25 am

    Just stuck i step 4, can i just simply addon domain and change dns in new host, ? Following that, C:\Windows\System32\drivers\etc. , there is nothing in my etc, nothing like hosts file, btw great tutorial easy to fallow, thanks

    Reply
  7. Jacob says:
    Jul 2, 2015 at 12:43 pm

    I was hoping there would be an easier way to do it with a third party service, but I’m not about to shell out 80 bucks just to do that.

    Reply
  8. Ash says:
    Apr 10, 2015 at 11:17 am

    The backupbuddy steps in the new version have changed quite a bit. Nothing to be afraid of though. I was able successfully migrate from t1.micro on aws to t2.small instance. So far so good.

    Reply
  9. David says:
    Apr 8, 2015 at 11:03 am

    A few questions for you:

    1. Isn’t there a SIMPLE way to back up one site (themes, child themes, plugins, and post data), then restore it to another site?

    It truly should be as simple as (a) Backup To (dropbox mysite.zip), then (b) Restore From (dropbox mysite.zip).

    2. Is it possible, perhaps even EASY, to develop a client’s WP site on your development server, then use Backup Buddy (or some other backup/restore program) to migrate it to the client’s site?

    3. Does Backup Buddy, or any other backup/restore program you know of, give you the ability to restore to an existing WP installation? In other words, can you set it to restore everything except the WP core files?

    Thanks for this article.

    David in Mississippi

    Reply
    • WPBeginner Support says:
      Apr 8, 2015 at 9:20 pm

      Actually, in the article we have shown how BackupBuddy does exactly what you are asking for. You simply backup your site, download an archive file and an importer file. Upload these files to the new location and run the script. Hope this helps.

      Reply
    • Ash says:
      Apr 10, 2015 at 11:19 am

      @David, with backupbuddy you can choose which files to leave out while backing up. So you can leave out the core WP files.

      Reply
  10. Robert says:
    Apr 1, 2015 at 6:12 pm

    hi guys,

    A friend just make me a new wordpress website and uploaded it to my hosting account. Now, I want to change the domain and hosting account and want to upload the website to the new hosting account.
    My friend sent me the archive with all files of the website including database. How is possible to upload the website to my new host?
    I appreciate your answer.

    thank you

    Reply
  11. Ricardo Clarke says:
    Sep 20, 2014 at 3:01 pm

    I actually just went through this process yesterday and need to transfer another site today. This is hands down the most thorough walkthrough I’ve seen. The 4 to 48 timeframe really helped ’cause I thought something went wrong, but the transfer just needed time to propagate across the interwebs.

    Reply
  12. WPBeginner Staff says:
    May 6, 2014 at 3:34 pm

    As soon as you figure out that your new domain has regained the search positions for your old site. We hope that you have setup 301 redireccts on old domain otherwise search engines wouldn’t know that your old content has moved to the new domain permanently.

    Reply
  13. WPBeginner Staff says:
    May 6, 2014 at 3:22 pm

    What’s the shorter way of doing this?

    Reply
    • Sebastien says:
      Dec 13, 2014 at 3:24 am

      Hi there, thanks for your tutorial, here’s an other way of doing it… free.

      1. Tools > export posts and pages from admin panel. If you also need the DB phpMyAdmin export tables from the db. Import them in the new db. Check for the extension of the tables to be the same (_wp for instance)

      2. edit your virtual host config file, add what follows between your server {}

      allow your_public_ip;
      deny all;

      3. Access the site by its ip. (make sure you set the ip of your new server instead of the url in phpmyadmin > wp_options > siteurl and home options)
      4. Tools > import posts and pages
      5. Change your DNS records at the old host.
      6. Done. Use another plugin like UpdraftPlus to backup for free.

      Reply
      • Ash says:
        Apr 5, 2015 at 7:35 pm

        Tried UpdraftPlus. Didn’t do anything at all.

        Reply
  14. Rachel Charles says:
    May 6, 2014 at 6:39 am

    Clean and modern and Easy to modify!

    Reply
  15. Kate_H says:
    May 5, 2014 at 10:36 pm

    Great guide. I can confirm these steps work brilliantly as I recently moved a 5 year old WP site from one domain to another domain and swapped web hosts as well.
    The only difference I did was redirect the old site to the new site via the .htaccess as I wasn’t migrating the old domain name over at the time.
    Out of curiosity how long would you leave it before deleting all the old content from the old domain and setting up a permanent URL redirect via your registrar?

    Reply
  16. zimbrul says:
    May 5, 2014 at 5:04 pm

    I really hate Backup Buddy. In 80% of cases I got errors and their support is not that good. I’d rather move a site with Duplicator free WordPress plugin

    Reply
    • WPBeginner Staff says:
      May 5, 2014 at 6:07 pm

      Zimbrul, Duplicator is a nice plugin too. However, we have moved many WordPress sites using BackupBuddy and it has always worked flawlessly for us. That’s why we recommend it.

      Reply
    • Jim says:
      Sep 20, 2014 at 2:32 am

      Fully agree. Duplicator has never let me down and I have backed up and installed to many websites to count. No need for a paid plugin.

      Reply
  17. Dennis Does Cricket says:
    May 5, 2014 at 9:21 am

    That’s a ridiculously long winded way of doing it.

    Reply

Leave a Reply Cancel reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

Over 600,000+ Readers

Get fresh content from WPBeginner

Featured WordPress Plugin
Soliloquy Logo
Soliloquy
The Best Responsive WordPress Slider Plugin. Learn More »
How to Start a Blog How to Start a Blog
I need help with ...
Starting a
Blog
WordPress
Performance
WordPress
Security
WordPress
SEO
WordPress
Errors
Building an
Online Store
Useful WordPress Guides
    • 7 Best WordPress Backup Plugins Compared (Pros and Cons)
    • How to Fix the Error Establishing a Database Connection in WordPress
    • Why You Need a CDN for your WordPress Blog? [Infographic]
    • Self Hosted WordPress.org vs. Free WordPress.com [Infograph]
    • Free Recording: WordPress Workshop for Beginners
    • How to Properly Move Your Blog from WordPress.com to WordPress.org
    • 5 Best Contact Form Plugins for WordPress Compared
    • Which is the Best WordPress Popup Plugin? (Comparison)
    • Which is the Best WordPress Photo Gallery Plugin? (Comparison)
    • How to Fix the Internal Server Error in WordPress
    • 24 Must Have WordPress Plugins for Business Websites
    • How to Install WordPress - Complete WordPress Installation Tutorial
    • How to Choose the Best WordPress Hosting
    • How to Properly Move WordPress to a New Domain Without Losing SEO
    • Why You Should Start Building an Email List Right Away
    • Which is the Best WordPress Slider? Performance + Quality Compared
    • The Truth About Shared WordPress Web Hosting
    • When Do You Really Need Managed WordPress Hosting?
    • WordPress Tutorials - 200+ Step by Step WordPress Tutorials
    • How to Choose the Best Blogging Platform (Comparison)
    • 5 Best WordPress Ecommerce Plugins Compared
    • 5 Best WordPress Membership Plugins (Compared)
    • 7 Best Email Marketing Services for Small Business (2016)
    • 5 Best Drag and Drop WordPress Page Builders Compared
    • How to Switch from Blogger to WordPress without Losing Google Rankings
Deals & Coupons (view all)
Array Themes Coupon
Array Themes Coupon
Get 15% off an entire Array Themes collection of beautiful magazine, photography and portfolio WordPress themes.
Theme Trust
ThemeTrust Coupon
Get 20% off on all ThemeTrust themes brought to you by Henry Jones.
Featured In
About WPBeginner®

WPBeginner is a free WordPress resource site for Beginners. WPBeginner was founded in July 2009 by Syed Balkhi. The main goal of this site is to provide quality tips, tricks, hacks, and other WordPress resources that allows WordPress beginners to improve their site(s).

Site Links
  • About Us
  • Contact Us
  • FTC Disclosure
  • Privacy Policy
  • Terms of Service
  • Free Blog Setup
Our Sites
  • OptinMonster
  • Envira Gallery
  • SoliloquyWP
  • WPForms
  • MonsterInsights
  • List25

Copyright © 2009 - 2016 WPBeginner LLC. All Rights Reserved. WPBeginner® is a registered trademark.

WordPress hosting by HostGator | WordPress CDN by MaxCDN | WordPress Security by Sucuri.