This guest post is by Caimin Jones of Genius Startup.
Sometimes you’ll need to move your blog from one host to another. It’s a bit of a pain and might seem a daunting task if you’ve never done it before.
But transferring a site is a fairly straightforward process that you can do yourself with an FTP program and this step-by-step guide.
Before trying the DIY method, it’s worth checking to see whether your new hosting company offers a site transfer service for new customers. Many do—but check whether there’s a cost involved. I’ve seen free services for this, but I’ve also seen prices around $300!
If you just need to learn how to make a simple backup of your posts, and don’t need to move hosts, take a look at this ProBlogger post.
But if you’re ready to back up and move your blog, let’s do it.
What you need to begin
To get stated, you’ll need:
- an FTP program (two good, free ones are FileZilla or FireFTP which works as a Firefox add-on)
- the FTP login information for your current host
- the FTP login information for your new host
- the MySQL username, password, and host name for your new server
- the nameserver information for your new host—there are usually two host names, sometimes more
- the login details for the registrar with which your domain name is registered.
It’s best to move hosts during a quiet time of the week for your blog, which probably means over the weekend. Check that support is available at your new host, and have the number handy. If something doesn’t work as it should, you’ll be glad you don’t have to go looking for that phone number.
Two preliminary steps to make life easier
If you’re using a cache plugin like Total Cache or WP Super Cache, deactivate and completely remove the plugin before you start the move process.
Cache plugins store file settings on the server, and these will be different for your new host, so you need to do a new install for those types of plugins. Most other types of plugins won’t need to be re-installed using the process I’m outlining here.
Secondly, it’s highly recommended go to your domain registrar or hosting company and lower the TTL value on your domain to something like 300 seconds, or the lowest value allowed.
TTL stands for Time To Live. It’s the number of seconds browsers should wait before refreshing the DNS information that connects domain names with web servers. Setting it to a low value means you won’t have to wait more than a few minutes for your host switching to take effect.
You’ll find the TTL as a setting under a DNS Zone file. For example, it looks like this in Media Temple:
And it looks like this in Go Daddy:
Make sure you change the TTL at least 12 hours before you plan to switch web hosts, so that the newer, faster refresh time has updated around the internet.
Making the move
Step 1. Install WordPress on the new hosting company
If the new host has a one-click install feature, use that to install WordPress—you’ll save yourself quite a bit of time and hassle.
If you have to install it manually, take a look at the official installation guide.
Step 2. Back up the database
The easiest way to make a complete database backup is to install the WP-DBManager plugin .
Once it’s installed, go to Database > Backup Database and click the Backup button. If you have a lot of posts or comments, this might take a few seconds.
When you see the message that the backup has been created, go to Database > Manage Backup DB and check the backup file is definitely there.
Step 3. Back up all the files from your old server
Using your FTP program, log in to your old host and navigate to your wp-content directory. Download everything in that directory to your computer.
At this stage you have a complete copy of your entire blog—and you’re halfway there.
Step 4. Upload your files to the new server
Now, it’s back to your FTP program. Log in to the new server and navigate to the wp-content directory.
Before you take the next step, double-check that you really are logged in to the new server and not the old one.
Now delete everything in the wp-content directory.
Then upload everything in the wp-content copy on your computer to your new host.
Step 5. Change nameservers
You’re nearly there! Now you need to log in to your domain name registrar and change the nameservers to those of your new hosting company.
Changes to domain nameservers can take a few hours or more to propagate through the internet, so it may be a while before your blog is being served from its new home. However, if you followed the tip to reduce the TTL value before you began, you’ll only need to wait a few minutes for the changes to take effect.
Sep 6. Make the finishing touches
Visit your blog homepage and refresh it every few minutes until you see the WordPress install page (if you manually installed WordPress) or an empty blog using the standard theme (if you used a one-click install option).
Don’t panic! Log in to the Admin area and go to Database > Manage BackupDB. You should see the backup file you made on your old server. Select it and click Restore.
Now check your blog homepage and you should see a fully working blog, with posts, comments, theme, and plugins working correctly.
If everything looks good, you can now reinstall your cache plugin, if you were using one. I’d also say you’ve also earned a glass of your favorite beverage!
Caimin Jones is founder of Genius Startup which gives bloggers and small startups no fluff, practical strategies to build a successful web business.