Recently I had the daunting task of transferring a WordPress blog from one host to another webhost with no downtime. Moving a WordPress site to a new host without problems can simply be nerve wracking. Actually, to be honest, it was the changing of several WordPress databases over to a new server. Not fun. Really. It took dogged determination to figure out what to do. Once I did, it was pretty straightforward and easy.. This is how to do it simply and seamlessly.
I didn’t change the domain name, I just changed the server or the webhost. Now, the problem to me was navigating all the geek-speak on the web, you know, the “I assume that you know what I’m talking about so I shouldn’t have to explain it to you,” sort of talk. I appreciate all the geek talk because I wouldn’t be able to do half the stuff I can do on the web, but still, it needs improvement. Can someone tell me what “execute the code” means?
I consider myself a tech geek a little bit more than the average computer user, but there is a level where it gets into the harder stuff where the uber-techies don’t know how to any longer speak to the average advanced computer user.
I’ve created this page for those of us who are proficient web and computer users, but not extreme web experts. But also, I created this page so I can know where to return to when I change to the next webhost and I know that day will come.
Let me be clear: this tutorial is only what worked for me to switch my WordPress blog from one webhost to another using the same domain name (I’m not sure if it works for a different domain name, but I suspect it does based on what I’ve seen in the “guts” of the process.)
It’s actually pretty easy once you understand what to do. And I’m going to break it down very easily here. So what you need on hand to do this:
1) an FTP program (I use free Fillezilla).
2) access to the domain manager of your website (that may be Godaddy, Register, or many other domain managers that usually cost about $10 a year).
3) access to the Control Panel of both the new and the old webhosts which would include your webhost user name and password
Essentially what you will do is this: backup in two different ways, move the info to the new site, create a new database and move it over from the old host, change one small file on the new website and then switch DNS servers on your domain manager.
I’m going to assume that you know how to log into your Domain Manager to change your DNS names, to log into the Control Panels of your old and new hosts and that you know how to work an FTP program. That may be too geeky for you but I know you can find that on a search engine. At the very end you’ll need to do this.
So here we go:
1) Backup your WordPress file: Make sure that your WordPress blog, I’m going to call it “Blogarama” is updated by going into the wp-admin portion in your browser and going to Tools/Export. Choose All Content and then Download the Export File making sure to name the file in a way that you’ll remember it. This backup is a “just in case” backup.
2) Using an ftp program (Filezilla is a free ftp program that I like because it’s pretty simple) copy the Blogarama folder, your old and soon to be retired webhost’s content, onto your computer.
3) Copy to the New Host: Now copy that WordPress folder, Blogarama, to your New webhost.
4) Create a New Database in the new Webhost: Open your new webhost’s control panel in your browser.
5) Go to MySQL Database Wizard (usually under the section Databases).
6) Choose a name for the New Database which will also be considered “Name of the Database” for later on issues. I’ll choose the name “blogarama” for this tutorial. I recommend using a name so that you can easily recognize its purpose. WordPress seems to default to a numerical one name wrdp1, wrdp2, etc. but that’s not necessary and it took me quite some hunting and pecking to find the blog I was looking to move. Also, exclude special characters in your name. I did not know this and wasted a day trying to load a blog because I put a dash in its name. This seems to have been the problem since it worked after I recreated a database with just letters and numbers. Save this information on a separate sheet because you’ll need it later. Click Next.
7) Create a Database User otherwise known as “Database Username” and a Password. I’ll choose “blogus” for purposes of this post (it can’t be more than 7 letters). You can ask the webhost to use the Password Generator if you wish which will allow you to make a very convoluted password. Make sure to keep all this info on the same sheet as the New Database info. So now we have the database name blogarama, the username blogus, and the password mypassword.
8) Click Next or Create User.
9) Check All Privileges and then click on Next.
10) Backup Your Old Database: Go to the Control Panel of your old site and click on PhpMyAdmin.
11) On the upper left find your database in the pulldown menu.
12) On the right side of the screen scroll down to the bottom and where the arrow is, click on Check All.
13) Scroll back up to the top of the page and click on the Export tab.
14) Under Export Method click Custom.
15) Under Tables click Select All.
16) Under File Template name, change the name to one you’ll remember.
17) Make sure that the output will be SQL.
18) Click Go and download the file to a place you can access.
19) Copy the old Database to the New Site: Now go to the New Webhost and open the PhpMyAdmin there.
20) Your new “blogarama” file that you created in MySQL should be able to be accessed from the pull down menu.
21) Now, on the right side click Import. Click on the Browse Your Computer and then Browse to find the SQL file you just downloaded from the old host.
22) Click Go.
23) Change the Config file: In Notepad (which can be found in the Accessories folder in your Programs lists on your PC) open up the file called wp-config.php file which should be in the main folder of your blog. Replace the text below in red to your particular database name, user name and password that you created in Steps 6 and 7 above that you have on a different sheet. Here is what the part of the wp-config file code that you need to change looks like with the part you should change in bold:
// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
/** MySQL database username */
/** MySQL database password */
24) Save and move this file into the newhost’s blog to replace the old one. This tells the blog where the new database will be located.
25) Change the DNS Settings: Now go to your domain registrar (Godaddy, Register, etc.) Find your website domain name and change the DNS settings to your new webhost.
26) You’re done. It should all move over smoothly. If it doesn’t then you should go back and go through the steps. On one of my wordpress blogs I found out that the ftp program did not overwrite the wp-config file and simply by dragging it over again it was resolved.
I hope you find this information to transfer a WordPress site from one host to another without downtime helpful. If you have any questions you can email me on the contact form and I’ll try to explain it.