How to Transfer WordPress From One Server Or Host to Another
There are numerous articles that cover the process of transferring a WordPress blog from one server or host to another but I've found that most of them left me asking questions after reading them. I am a very visual person and hope the following article and images (Article with images available: Link is below this article) help you get your WordPress blog transferred successfully. The following article was compiled from firsthand experience of transferring two WordPress blogs from a Godaddy hosting account to my own dedicated linux server.
Step # 1 -Backup Your WordPress Database:
Most hosting accounts include PhpMyAdmin which is what you will use to backup the WordPress database. The process really is not that difficult. The first thing you'll need to do is find PhpMyAdmin within your hosts control panel. After you've logged into PhpMyAdmin you'll need to do the following.
- Click on the database you need to back up. It will be located on the top left of the screen.
- Click on "Export" on the top tool bar of PhpMyAdmin.
- Complete the following steps.
- In the Export box make sure all of the tables are highlighted and if they're not click on "Select All"
- In the Options box make sure to select the following options in addition to the default settings. 1.) Add DROP TABLE / VIEW / PROCEDURE / FUNCTION 2.) Add AUTO_INCREMENT value 3.) Enclose table and field names with backquotes 4.) Complete inserts 5.) Use Hexadecimal for BLOB
- Lastly, towards the bottom of the screen make sure you select "Save as file" and then type a file name that correlates to your website and click "Go". That's it, your Database should now be backed up on your local drive.
Step # 2 Transfer all of your WordPress files to the new server:
For the time being I'm not going to cover this step in extreme detail because there are so many different ways this can be done. I chose to use the FTP client FileZilla to complete this task which is free. If any of you would like me to add additional information on this step of the process please let me know and I'll add it to this article.
Step # 3 Create a new Database on your new server / host.
If you're using Cpanel this task is extremely simple but should be a very similar process on other control panels.
- Click on "MySQL database wizard"
- Enter a Database name. This could be WordPress or anything else you'd like. Then click "next step".
- Enter a Username and Password. Note: The Password must be entered twice and make sure it's secure. (variation of numbers, letters, and cases) Then click "next step".
- Select "All Privileges" and click "next step". That's It!
- Important Note: Make sure you write down the Database Name, Username, and Password or you'll have to go back and find that information later.
Step # 4 Edit the WPCONFIG.php
At this point you should have already copied all of your WordPress files to the new server and we now need to modify the WPCONFIG.php file with the new Database information. Once in Cpanel you need to complete the following steps.
- Click on "File Manager".
- Select "Web Root" and make sure "show hidden files" is selected (May not be necessary but better safe than sorry).
- Find WPCONFIG.php within the file manager. Depending on where you copied the WordPress files on the server this file should be located in WordPress's root directory. (Meaning it's not located in wpcontent or wpadmin, it's located in the same directory as all of the WordPress folders)
- Once you locate WPCONFIG you'll need to click on the mouses right button and select "Edit".
- You now need to alter three (possibly four) different items in the file.
- Database Name
- Database Password
- Database Host (If you're hosting WordPress on your own server this should be localhost but may vary depending on your hosting situation.
- Note on Charset Value: This value must match the value of your old Database. I left it at the default setting and everything worked correctly but I have read that having an incorrect charset can cause compatibility issues within the Database.
- Save Changes to the file and you're done.
Step # 5 Import your old Database tables into your newly added Database.
This is a step that caused some serious issues for me when I first tried transfering a WordPress blog. Whithout completing this step your new database will not function because it does not contain any of the tables or information from your WordPress powered website. There are a couple of options to complete this task and your choice should very based on the size of your database backup. If you're database is larger than 10mb in size you'll probably need to use third party software to complete the task. If you're Database backup is smaller than 10mb in size you can use PhpMyAdmin to complete the import.
Option # 1 Using PhpMyAdmin (Databases under 10mb in size)
Follow these steps when using PhpMyAdmin to complete the import.
- Click on PhpMyAdmin within Cpanel and login.
- Click on the Database you created earlier. This database should have a zero next to it representing that it does not contain and tables. It should in the upper left hand side of the screen.
- Click on the "Import" tab located on the upper navigation toolbar.
- Click on "Browse" and find the Database backup that you earlier saved to your local drive.
- Click "Go" and let PhpMyAdmin handle the rest.
Presuming you're database backup was less than 10mb in size you should now be ready to roll.
Option # 2 Using BigDump (Databases over 10mb in size)
One of the WordPress blogs I transferred required the use of BigDump which is an amazingly useful tool. Do not be scared to use it, it's extremely easy to use. Follow these steps if you're using BigDump to complete the import.
- Create a temporary folder on your server using "File Manager" in Cpanel. The recommended name for the folder is "Dump" but it does not really matter.
- Upload bigdump.php and your database backup (example – WordPress.sql) into the "Dump" temporary "folder.
- You now need to edit bigdump.php with the same process you used to edit WPCONFIG.php earlier. Use file manager within cpanel, right click on bigdump.php, click "edit", and then proceed to modify DB host, DB name, Username, and Password. Save changes!
- You now need to load bigdump.php in your browser. Open your favorite browser and enter the location of bigdump.php (example: http _ // www_yourdomain_com / dump / bigdump.php) Once loaded you'll see your database backup listed.
- Click "Start Import" and let BigDump go to work.
- You will see an activity page and will see a prompt below the activity page informing you when BigDump has completed the task.
Final Step: Do not forget about your Nameservers!
Depending on your situation you will likely need to alter your Nameservers with your domain registrar. In some situations you can continue to use the Nameservers provided by the domain registrar as long as you make the necessary modifications on your new server / host. It should be noted that a lot of other people suggest changing Nameservers earlier in the process but I refrain from doing that because of some issues I had with DNS on my server the first time I attempted the transfer.
I hope you found this article helpful and if anyone would like me to add more details on any steps in the process please let me know. If you found this article helpful I would greatly appreciate you sharing it with others.
If you would like to view this article with images, click here: Article with Images