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.
Wow! Your instructions on how to move a website is very informative. I do not need to move a website right now, but I have often wondered what was involved in case I needed to move it. Thanks to your step by step instructions I feel comfortable to at least give it a try. Thanks. Will copy your instructions and save it for future use.
Fantastic Article, thanks so much for the explanation and the updates. Very handy indeed.
Such a nice and step by step guide to move WordPress blog, had a lot of issues for one of my blog and somehow managed, but this guide is such a real help.
Didn’t know about setting the TTL to a low value. Great tip.
Great post. I am also interested to moving hosting provider to an best hosting providers.
Thanks for posting an great post.
I recently found an even easier solution – Backup Creator, backupcreator.com. I had 10 wordpress sites to move from one host to the other and was able to do it in minutes for each with absolutely no tech background! Because I was moving rather than cloning within the same hosting company I had to take an extra step of creating a temp site at the new hosting company, repoint the nameservers and then move to the permanent URL, but it was easy – no FTP required and the only holdup was waiting for the nameserver switch. I love this plug-in! Because it’s easy, I back up weekly. The developers are complete happy freaks who email constantly with new updates and tips, but their product is so good, I tolerate it – kind of like having an irritating kid brother.
Not very helpful. The technical language used assumes a lot of prior knowledge, which is frequently not the case with WordPress users. Thanks anyway…
Will I lose links using this method?
Wow! Your instructions on how to move a website is very informative. I do not need to move a website right now, but I have often wondered what was involved in case I needed to move it. Thanks to your step by step instructions I feel comfortable to at least give it a try. Thanks. Will copy your instructions and save it for future use.
I’m a web developer and I wouldn’t use FTP for security and speed reasons. Instead I would use rsync and ssh but you need to have access to the server in order to do this and some shared hosting providers don’t allow this level of access.
Great post! Most cases do not like change the name server.. I always ask for help from the hosting if DIY does not become :)
The tutorial is good but not for newbie bloggers. Backing up database and files is always a better option and here is a good tutorial for this, which is pretty much easier than the above stuff. You can always restore database files.
http://www.designskew.com/blog/how-to-backup-wordpress-database-posts-files/
Thanks everyone for the great comments!
@B McN I tried to make it as non-technical as possible. If you let me know where I’m losing you, I’ll try to clarify here in the comments.
@Mimi No, your links will remain intact because you’d be backing up – and restoring – the permalinks settings too.
This is a good guide, although clearly not for complete newbies. If it seems that it requires some technical knowledge to perform these steps, that’s because it does. However, this is still helpful because those people who feel they don’t have enough expertise to pull this off can always seek technical help (either free or commercial).
However, what would be really useful is a guide on how to move your blog from one domain to another domain.
I’m using the plug in “Online Backup for WordPress”.
It makes things easy is free and works like a charm. So I recommend it to anyone who’s looking for an easy backup solution.
Thanks for the walk-through. I’ve been putting off setting up back ups until now but it seems easy enough.
I’ve been looking for something like this for a while so it’s going to come in useful, as will the Godaddy pointer since it’s my current host. THanks
This TTL trick is a great one. I recently moved one of my blogs and wish I had figured this one out sooner. This is a well-written tutorial.
Not the kind of posts we actually read following the site’s rss… Yet it’s the kind of posts we bookmark just in case. Seems very informative and technical enough though…
Excellent step by step guide Caimen!
Its seems really easy and I learnt one new thing about super WP CACHE plugin I didn’t knew about it earlier but from this post I got it and secondly, I think if anyone can spend $100 than backup buddy plugin also works really well, I am using that for my sites and working awesomely,
Thanks for sharing very informative and learning post.
Hi Caimen,
Thanks for the explanation. Just one question though. Is there a way for this to work when I’m backing up my blog so I can move it to a local server? For some reason, the backup from DB Backup Manager wouldn’t restore on my local server. I’m afraid to try to switch hosting companies until I’m sure I’ll be able to get it to work.
Thanks.
OK, so the reason it won’t restore to my site is because it appears it must restore to the same domain name. I discovered this when I tried to go into phpAdmin and “import” the database settings, and somehow screwed up my whole local wordpress installation. Back to the drawing board.
I just finished moving my blog to a new host. This was the most painful experience of my life…walking barefoot across a floor of Legos painful. Your how to on switching is a great resource. No matter how smoothly the transition goes there are going to be some broken links though. Get a broken link checker plugin and do some searching on 301 redirects to fix your 404 errors. A redirection plugin to forward bad links to the right address comes in handy to.
Simple and really good article, however I have just a couple of things actually…
a) what could be right steps to double-check that you really are logged in to the new server and not the old one?
b) What could be possible errors and/or troubleshooting issues to resolve and proceed successfully in order to restore backup file generated from WP-DBManager plugin?
@Allison
If you’re able to access phpmyadmin after you restore the backup, you should be able to edit the site url and WordPress url values in the database to the name you’re using for your local server.
@WPMineworks
a) One thing I’ve done before now is add a letter x to the bottom of the site footer on the theme that’s on the old server. Then, before I upload the theme to the new server I remove the x.
That way, after I’ve made the DNS changes I know that when I stop seeing the x in the footer I’m looking at the blog on the new server.
b) I’ve found WP-DBManager to be a very reliable plugin, so you shouldn’t have any issues. The only – rare – thing that might happen with a new install of the plugin is it not being able to locate the server folder containing the backups.
If that happens, you’d just need to check the plugin options screen and make sure you have the correct file path set.
Great information here, I had bookmarked this post when it first came out because I knew I would be needing it at some point, and some point has arrived.
What I’m wanting to do is build a site for a client as a subdomain on my site, then move it to their domain, so that their current site will stay live during the rebuild. Will this technique work for that? What will I need to do since the initial build will be under a different domain?
Also, does the WP-DBManager plugin back up theme files as well so that all the theme customization remains intact? Sounds like it does, I’m just confirming that.
Thank you!
One thing I’ve noticed is that often there are plenty of common myths regarding the banking institutions intentions whenever talking about home foreclosure. One delusion in particular is the fact that the bank wishes to have your house. The lending company wants your dollars, not your own home. They want the amount of money they lent you along with interest. Steering clear of the bank will simply draw any foreclosed realization. Thanks for your post.
Hello There. I discovered your weblog using msn. This is a really well written article.
I will be sure to bookmark it and come back to learn extra of your
useful info. Thank you for the post. I will definitely return.