At some point in time you might have to migrate and/or move your WordPress blog to a new server either because you’ve outgrown your current hosting provider, become dissatisfied with their service, or have had your requirements change because of some internal software needs or some other need.
Regardless of the reason you’ll have to migrate your blog to a new server and hosting and it can definitely be a little daunting (and challenging) if you don’t know what you’re doing!
Like anything else there are more than one way to “skin a cat” in terms of migrating your WordPress blog and you’ll have to pick and choose the right one considering your needs and ability. There are definitely some easier options out there but I’ll cover one method that should help most of you with your migration.
And hopefully this time you’ll choose the right hosting provider that’ll be able to scale with your needs so that you don’t ever have to do a migration ever again!
1. Best Option: Let Them Do It
The best option that you’ve got is to choose a new hosting provider that will actually do all of the work for you. I can’t tell you how much of a value this is, especially if you don’t know what you’re doing.
For example, the hosting provider that I use can help migrate new clients and their existing websites and blogs for free:
As you can see they do “Free Incoming Migrations” which include WordPress-powered blogs. Pretty freaking sweet!
I also recommend Site5 who does free migrations as well:
I use Site5 for a few apps and love their service as well. Both VPS.net and Site5 offer competitive plans and can scale with your needs as your blog grows. This is by far the best option if you’re looking at a move and/or migration.
2. Pay Someone to Do It
Another option that a lot of bloggers choose is to hire a professional migration consultant or web developer to move their stuff. This is a decent option but is the more expensive route for sure. On top of having to pay for a new service this option is really only viable if the new hosting provider doesn’t do migrations for you and/or your too nervous to do it yourself.
Heck, I’ve even paid a few people to migrate my blogs simply because I didn’t have the time to do it myself, even though I’m more than qualified to do it! Sometimes it’s just better to have your time spent on other things, right?
3. Do It Yourself
Finally, the only option left is that you do it yourself. It’s not too hard but you have to consider some factors to make sure that it’s possible.
All-in-all the process isn’t too long and is most dependent on how long it takes you to backup your main files, typically from your wp-content folder and upload folder.
Here are the general steps:
0. Backup All Files
You can’t be too safe – backup all files before you make any changes or try anything!
1. Hosting and Server Requirements
Check server / hosting requirements – the minimum requirements as of WordPress v3.1 are PHP 4.3 and MySQL 4.1.2 but it’s highly recommended you use PHP 5.2.4 and MySQL 5.0+.
Make sure you know how to use a FTP application.
3. Prune and Clean up WordPress
Clean out WordPress of anything that isn’t necessary for the migration. This would include additional WordPress Themes, unused WordPress Plugins, and any clean up of your categories, posts, pages, and other meta data. In fact, if you can do some pruning at this time that might actually be helpful.
Take a look at this post about combining blogs for some more thoughts about general maintenance and cleanup.
Also, make sure you have the most up-to-date version of WordPress and turn off all caching!
4. phpMyAdmin Time!
Jump into phpMyAdmin (or however you access your MySQL database and export it all – save it all:
And then select all tables:
And then save the file:
Now that you have this file you’re ready for the next step.
5. File and Content Backup
Backup and save all files and folder to your local drive and then using your FTP app upload them to the new server.
This might be a challenge, especially if you’re using the same domain name, but there should be a way to access your hosting service and FTP in a temporary domain or location so you can move the files and folders over when the nameservers have been updated.
6. Create, Import Database
Upload/Import old database into your new database via the new server. Make sure you have the exact same name of the database and the same credentials so that it can work smoothly and properly.
If you can’t remember for some reason you can always take a look at your wp-config.php file in your WordPress home directory which will give you all this info:
7. Domain Registration and Nameservers
Update registration and/or nameservers. At some point you’ll have to either migrate the domain registration and/or change the nameservers via your registrar so that the new hosting provider can assume control and you can be setup on your new host.
This could be as simple as going to you current hosting provider and changing the nameservers via their control panel or you may have to walk through a domain registration change at the new hosting provider. There should be ample documentation to help you do this easily!
8. Patience is a Virtue
Wait for nameserver changes to propagate worldwide. This can take anywhere from a few hours to a few days so you’ll have to be patient.
One very sweet tool to use to check the nameservers of a domain is What’s My DNS - I probably use this at least once a day if not more depending on some of my work and projects. It’s a great tool!
Once the nameservers switch over you should be ready to access your blog with the same credentials as you had on your old blog. You may need to update some of the settings, especially things that tap your .htaccess file (like permalinks) and if you had any caching you may have to turn these back on and/or configure them again.
A few more helpful tips during your migration process:
- It might be helpful to let your readers know that you’re undergoing a migration and there will be some downtime! Giving them some notice (a week or two in advance) is helpful as well as doing a final “goodbye” post to sit in their RSS readers.
- Choose the right time to migrate. I usually do migrations during the weekend when traffic is the lowest and impact will be minimized.
- Make sure to backup your system and your blog way before you even start this process!
- Please note that some content might be lost (like the newest/recent comments that were made during your backup phase). It is what it is!
I hope that helps! Please feel free to ask any questions if you need any help!
[Image via Creative Commons, xyzpdqfoo.]