One of the things about web hosting these days is that you have a TON of options. As a consumer, you can shop around.
Not only that, if you aren’t happy with your current hosting, there isn’t any reason you have to stick around. Moving your site isn’t really as big a deal as you might think.
Why I Changed Hosts After Over 10 Years
I recently switched to a different web host. For me, this was a pretty big deal.
I had been with Pair Networks for over a decade, paying for a pretty expensive dedicated server. Well, as technology improved and pricing changed, it got to a point where a VPS was actually a viable option.
A dedicated server means you have the entire computer dedicated just to you and your hosting. As you might guess, it can be pretty expensive. A VPS stands for “virtual private server”. Essentially, a VPS gives you all the abilities of a dedicated server (meaning, you can do whatever you want), however you are sharing a server with a few other people. A VPS is basically a virtual machine, sort of like running Windows on a Mac.
Pair Networks is a great host, but they’re expensive. They use their own custom admin panel (rather than cPanel). Plus, they charge extra for add-on domains and other things while most other hosts just give all that to you for free.
So, I shopped around and arrived on ServInt. Their support is awesome and their VPS’s are strong. I now have more flexibility and I’m actually saving almost $300/month. Which doesn’t suck one bit.
Making The Move
A lot of hosts have services to help you move over, but I tend to prefer the do-it-yourself route. And, it isn’t hard to do at all.
You’ve got two components to your WordPress blog:
- The files on your server.
- The database (which is where all the content sits).
To move your blog, you have to move both over to the new host.
There are two ways to do this:
- Use a backup and restore function.
- Do it manually.
Moving Your Blog Using Backup & Restore Software
There are a number of different backup options for WordPress, but the one I recommend is BackupBuddy.
BackupBuddy has a built-in “Migrate or Restore” function. To use it, you do the following:
- Go to BackupBuddy -> Backup in your WordPress admin panel. Run a current full backup of your blog.
- Download the full backup to your local computer.
- Go to BackupBuddy -> Migrate, Restore in your WordPress admin panel.
- Click the link to download the importbuddy.php script.
- Go to your NEW server and upload both the full backup file and the importbuddy script.
- In your web browser, visit the importbuddy script you just uploaded.
- Follow the on-screen instructions. It will walk you through un-zipping the files, connecting to your new database, and importing your database backup.
Here is a video from the folks who made BackupBuddy showing you how this works:
At this point, your blog will be moved.
There’s always the issue of your domain. Obviously, your blog’s domain will not magically switch over just because you do this procedure. In fact, you might get confused how to access/verify your blog on the new host before you’ve actually moved your domain over. I’ll go over that in a minute, but first let’s talk about how to move your blog the old-fashioned way.
Moving Your Blog Manually
I personally prefer to do it manually because I feel I have more control over it. However, it necessitates that you be comfortable with a little more geeky stuff. Here we go…
- Connect to your old host with your FTP program. Navigate to the folder which contains your blog files. It will either be public_html, or a sub-directory off of public_html.
- Select all files from the server and begin downloading them to your local computer.
- Ensure your blog domain is set up on your new host. If you’re using cPanel, then either your main domain will be the main domain of your hosting account, OR you will need to create an “Addon Domain” for your blog. This is NOT the same as actually re-routing your domain to the new host. You are simply setting up your hosting account to accommodate the domain.
- Once all of your site’s files are located on your personal computer, use your FTP program to connect to your NEW server. Navigate to the public_html folder. If your blog’s domain will be the main domain of your hosting account, then upload all of your files to public_html. If you’re using an add-on domain, then upload all of your files into the sub-folder off of public_html.
At this point, your files are on the new server. Now, we have to do the database. Easiest way to do this is using PHPMyAdmin.
- On your OLD host, open up PHPMyAdmin and connect to your blog’s database. PHPMyAdmin is accessible from within cPanel.
- Click on the Export tab.
- The “Quick” export option option and SQL format is fine. So, just hit the “Go” button.
- You will be prompted to download an SQL file to your local computer. This is a backup of your database.
- Now, ensure that you have a database created for your blog on the NEW server. If not, adding a new MySQL database via cPanel is pretty straight-forward. The only thing to keep in mind is that you need to create the database, THEN create the user to connect to that database, THEN assign that user to your new database. You never want to use your root login to connect to your databases.
- Connect to the database via PHPMyAdmin.
- Go to the import screen. Select your SQL file from your local computer, leave all options default, and run.
At this point, your database is now moved. All that’s left to do is ensure WordPress will hook up to the new database. To do that, you will want to edit the wp-config.php file on the NEW server, edit the database access details (username, password, name of database), then re-save the file.
Your blog should then be ready for prime time on the new server.
What About The Domain?
Good observation, grass hopper. Your domain is still pointed to the old server. You have to redirect it.
A domain is pointed to a server via what is called a “nameserver”. If you change the nameservers for your domain, then the domain will start pointing to a different place.
Your web host will likely provide you with two nameservers. If not, the support people for your host will help you get set up.
Armed with two name servers for your new host, you need to log into the account wherever your domain is held. I use NameCheap, but you may use GoDaddy or another service. Regardless of which, they will have an option to change the DNS servers (domain name servers) for the domain. Just enter the new name servers and save.
Once you’ve made the change, you will need to wait for the changes to spread across the Internet. Sometimes this can happen within minutes… sometimes it can take up to a full day.