How to migrate a WordPress web site?
Have you ever been unhappy with your web hosting provider and you wanted to switch to a new one? I am sure many people will answer with yes to this question. When you want to change your hosting provider you sometimes need to do the migration of your web site yourself. If you are ready with your choice about the new hosting provider and you prefer to migrate the web site yourself then this article will guide you how to do it most quickly and easily without any downtime. Most web sites nowadays are powered by WordPress. Migrating a WordPress web site from one cPanel hosting provider to another one is very easy task. The migration process is much easier than finding the best WordPress hosting plan for your web site.
Both source and destination server use cPanel
If you are using a shared WordPress hosting plan on a server which you don’t have root access to the best way to migrate your web site is by generating a full backup of your account via cPanel -> Backups. Once the backup file is generated upload it to your new server and open a ticket with technical support of your new hosting provider. Ask them to restore the backup file you uploaded. In that way you will have a 100% mirror copy of your account on the source server. It will include files, e-mails, databases, settings, everything. That’s the best way and the most efficient.
The source or destination server does not use cPanel
In this case the migration must be done manually. Although Scala Hosting provides free migration of WordPress web sites some providers do not do that. In case your new wordpress hosting company doesn’t provide free transfers you will have to do that yourself but don’t be afraid as it is not rocket science and following the steps below will successfully migrate your WP web site.
- Download all WordPress files to your computer. You can do that via ftp.
- Generate a dump of the WordPress database and save it to your computer as well.
- Upload the files to the document root directory of your domain on the new server.
- Create a new database on the new server which you will use to import the database from the old server to.
- Import the database using PhpMyAdmin which you can find in cPanel -> MySQL databases.
- Create a MySQL username and grant access to the WordPress database. You can do that from cPanel -> MySQL databases too.
- Open the WP configuration file wp-config.php and make sure the name of the database and mysql username match the ones you see in cPanel -> MySQL databases else your WordPress install will not be able to connect to the mysql server and your web site will not work.
Verifying everything is working
After you complete the steps above go ahead and verify that your web site is loading without errors on the new server. You can do so by editing the hosts file on your computer in order to make your domain resolve to the new server but just for your computer. In that way normal visitors will still visit the old server and the web site will load correctly. You can have a look at http://www.howtogeek.com/howto/27350/beginner-geek-how-to-edit-your-hosts-file/ to learn how to do that. Don’t forget to set it back to default after your testing is completed to avoid confusion in the future.
Changing the nameservers
After you migrate the web site and verify it is loading normally and all data is present on the new server it is time to change the nameservers of your domain. You can do that from the control panel of your domain registrar. Change the nameservers to the ones provided by your new web hosting provider and allow 24 hours for DNS propogation. Make sure not to cancel the old account immediately because you may lose visitors due to people having dns cache and still accessing your web site from the old server. Keep it active for at least 72 hours since sometimes DNS propogation takes more than 24 hours. Sometimes there are computers with DNS cache which takes longer to expire.