Transferring WordPress to a New Webhost

“Jean”:http://www.mercuryranch.org/blog “requested”:http://open-dialogue.com/blog/2007/02/26/and-were-back/#comment-11020 that I lay out the process I used in moving my website to a new host, and since it’s information that others might be interested in, as well, I’ll put it up here. I’m sure there are other websites that spell out similar processes (and maybe even more efficient ones), but here’s the path I followed to get everything transferred to the new host.

  1. First things first – back up everything.
    • I started will all my files, and since I’m paranoid I backed everything up in several flavors. First was the compressed backup file that you can request from iPowerWeb’s control panel. They place it in your root directory, which you can FTP to your computer from there. Then I simply FTPed everything straight down to my local hard drive.
    • Then it was on to the databases. This part I did in three varieties. First I pulled down the compressed archive versions from iPowerWeb’s control panel. Then, I logged into phpMyAdmin and exported all the databases as .sql files. This is my preferred way of handling database moves because SQL files are much more manageable and easy to change manually as necessary (which as it turned out, was _very_ necessary in my case). Then, my final backup plan involved using WordPress’s native export feature to make sure that, at the least, I was able to preserve the information, should something go drastically wrong with the database import.
  2. Then on to the domain transfer. Since I’d chosen Bluehost to be my new virtual residence, I went to their website and applied as a transfer client. I simply followed the 6-step process for transferring domains, making very sure that all my information matched my iPowerWeb account. I also had to login in to my domain registrar and update my domain servers (which you may or may not have to do). Once done, I had immediate access to my cPanel on Bluehost so I could start uploading files while waiting for the DNS(domain name system) to update my domain pointing from iPowerWeb to Bluehost.
  3. Time to start FTPing files back up into my new site. Filezilla is my FTP client of choice, so I fired it back up and started the process of moving my site, _en masse_, to my Bluehost file directory.
  4. While the files were transferring in, I opened phpMyAdmin in a new tab and started imported the database .sql files I’d downloaded just a few minutes earlier. Due to the fact that my username at iPowerWeb had a hyphen and my username at Bluehost does not, I also had to do a little manual database hacking before I could import anything. I had to open the databases in a text editor and Ctrl-H (find and replace) every instance of /home/user-name/ I found with /home/username/ in order to make sure that all my WordPress and bbPress installations would know where to find their files and information. I also deleted the CREATE _database_ command at the beginning of each file, since phpMyAdmin only allows databases to be created from the control panel. This manual hacking will not be necessary if your username does not change with the new host. I also had to change the database names, since they were all prefixed by my username. Those changes made, I saved the .sql files and imported them directly into phpMyAdmin. And as I “mentioned”:http://open-dialogue.com/blog/2007/02/26/and-were-back/ before, my database for Writer’s Blog was too large to import, so I had to use the “Big Dump”:http://www.ozerov.de/bigdump.php script to pull that back in (and it worked beautifully).
  5. Once all my files uploaded to the server again, I double-checked all the wp-config.php and config.php files for my various applications and made changes as necessary to make sure they were referencing the correct databases. I also re-enabled 777 authorizations on .htaccess files and wp-content/uploads/ directories to put everything back into working order.
  6. DNS updated very quickly – under six hours – and everything (with the exception of Writer’s Blog, which I was still wrestling with at the time) was back up and in working order quickly.

I believe that’s pretty much the entire process. Fortunately, nothing major went wrong throughout the entire process, so I didn’t have to rely on any of my backup methods for getting files or databases pulled into the new webhost. It was actually kind of fun to do (though it’s not something I plan to do again anytime soon) and a great learning experience for me.

I hope this walkthrough helps lay out the steps in at least general terms.

5 thoughts on “Transferring WordPress to a New Webhost”

  1. Thank you. I do plan to keep the same username, so you’re right — that should go smoothly.

    It sounds like if all goes well, all I should have to do is ftp my files up and import the database. Since my username isn’t changing, everything should marry up just fine, right?

  2. I’ll let you know. I’m still trying to get the domain name registration resolved. Then I’ll work on hosting. Given the apparent 48 hour response time at iPowerWeb, I expect to get that done by tomorrow. :)

  3. Oh, you transferred the registrar for your domain, then. I left mine with Tucows (iPowers default registrar) and just redirected it from iPower’s domain servers to Bluehost’s. It updated in DNS pretty quickly.

Have anything to add to the conversation?