How to Transfer a WordPress Blog From One Server or Host to Another
Introduction:
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 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.
Make sure and take a side in the rivaly: Blogger vs. WordPress. Which is the better blogging CMS / Platform?
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 isn’t 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 region 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 post.
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
- Username
- Database Password
- Database Host (If you’re hosting WordPress on your own server this should be localhost but may vary depending your hosting situation. If you’re unsure you’ll need to contact your administrator)
- 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.
- Charset Resource: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
- Save Changes to the file and you’re done.
Step #5 Import your old Database tables into your newly added Database. (Important! See note on Option #1)
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 doesn’t 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 likely 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) (IMPORTANT! I have been informed that the size limit has been increased in recent versions of PhpMyAdmin. The new limit is 100mb 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 doesn’t 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. Don’t 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 reccommended name for the folder is “Dump” but it doesn’t 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 the BigDump menu and you should 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.
Note: Make sure the encoding within the bigdump.php file matches that of the original database or you’ll likely have strange characters show up all over your website!
Final Step: Don’t 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.
In Closing
I hope you found this article helpful and if anyone would like me to add more details on any of steps in the process please let me know. If you found this article helpful I would greatly appreciate you sharing it with others. You can use the sociable links above or share it on other networks that aren’t listed. Thank You! Also, make sure to sign up on Jealousbrother.com and get involved in the rivalries!
Thanks for this infomation. But please tell me what if we have blogger blog and want to shift in wordpress. Without effecting seo
Posted on January 3rd, 2012 at 3:21 pm by: J. DoeI have a very important question.
What is a PhpMyAdmin?
Your efforts are commendable, but I tried everything to move my site from one to another. As a very very non-techie guy, I was totally unable to. So had to stick with the old provider (The hosting companies don’t care about helping). Everyone throws around terms like phpmyadmin, htaccess, ftp upload/download as if people know what they all are by default. Sad that you never find help when you need it.
Nice writeup though. I like your style of writing.
Posted on January 21st, 2012 at 1:58 am by: vadakkusVadakkus,
Posted on January 21st, 2012 at 4:38 am by: Ryan KazinecI’m sorry you’re having issues with the transfer. To answer your question, PhpMyAdmin is a piece of software that adds a graphic user interface (GUI) to the management of a websites database. It’s a very common program that is included with a lot of hosting packages. PhpMyAdmin’s Website However, even if your host doesn’t have PhpMyAdmin there is usually if not always some other type of database management utility although they are not commonly anywhere as powerful and well designed as PhpMyAdmin. Hope this helps.
To answer a couple of your other indirect questions.
.htaccess is s file that can be used with Apache based web servers and is VERY powerful but is equally as complicated. Even the smallest error in this file can render your website useless until corrected.
ftp upload / download is a file transfer protocol which is a fancy way of saying you can connect to a remote server (the server or host where your websites files are located) from your home computer or personal device and add, delete, download, or edit the content from the remote server. FileZilla is a very popular and free ftp program.
Transferring WordPress while not too difficult when you are a tech person can be a bit daunting for non-techies. I wish you the best and let me know if I can help with anything else.
thank you for the guide,i am moving my website to a new server and i am following the steps in the guide !!
Posted on January 27th, 2012 at 12:48 pm by: pradeepfYou are very welcome! I hope the transfer goes smoothly.
Posted on January 27th, 2012 at 1:06 pm by: adminThis is utterlyinformational, very indepth, thank you.
Posted on January 29th, 2012 at 6:08 pm by: john buleraYou are very welcome.
Posted on January 29th, 2012 at 7:16 pm by: Ryan Kazinecthat is what i was looking for, thanks
Posted on February 26th, 2012 at 5:59 am by: xThanks Man, you are great. I was searching for this from last week.
Posted on March 2nd, 2012 at 3:35 am by: Malik RengersHi,
This is great! but does it work if it’s being changed to another server with a different domain?
Thanks!
Posted on March 28th, 2012 at 7:10 pm by: KimKim,
Posted on March 28th, 2012 at 9:37 pm by: Ryan KazinecOff the top of my head I do not see why this wouldn’t work for a domain change (As your host and domain are specific to where the files are uploaded). You would however have to change your domain within WordPress settings menu. If you happen across any issues let me know and I’ll help you through them.
Sincerely,
Ryan Kazinec
Thanks, I just copied my wordpress site over to a new host and domain and your instructions were great.
Posted on April 10th, 2012 at 6:41 am by: Veronica BrandtFor the record, I did have to use the http://codex.wordpress.org/Moving_WordPress with the Search and Replace script. Then I could log in to my page and all looks good. Without the Search and Replace, the login button took me back to my old domain – maybe it’s a Buddypress thing.
Argh! before you approve my comment, now none of my pages are working. I can get the dashboard and the posts, but there’s lots broken so maybe my thing saying the search and replace was wrong and you were right. Maybe I just had to use mydomain.com/wp-admin to log in and then get to the panel that way. Hope I don’t have to start over!
Posted on April 10th, 2012 at 6:54 am by: Veronica BrandtSorry about all the posts! It was the .htaccess file – it was empty. It just hadn’t copied over with all the other files. Fingers crossed it all works now!
Posted on April 10th, 2012 at 7:01 am by: Veronica BrandtGlad you got it working Veronica! Let me know if you have any further issues. I intend on updating this post in the near future and will note the issue you had with buddypress.
Posted on April 10th, 2012 at 7:23 am by: Ryan Kazinechi im trying to copy 10 accounts with approx 10 wordpress sites under them from 1 dedicated server (I own the hardware) to another.
I used the whm cpanel command ‘Copy multiple accounts/packages from another server” from old server to new server, that was successful.
I changed my nameservers for the websites.
Posted on April 10th, 2012 at 2:50 pm by: berniealas the sites wont load.
whats my next step and do i still need to create a new database and/or play with the htaccess file etc ?
Bernie,
Make sure and check your dns zone records within your new server. I too at one point used the copy multiple account feature of WHM and while my sites were actually functional they did have some dns issues that still pointed to the previously used server. Look at your ip addresses listed within the zones for your websites and make sure they’re current and correct.
As I understand it the WHM copy multiple accounts function copies files, settings, and databases so creating new databases shouldn’t be necessary.
Posted on April 10th, 2012 at 3:32 pm by: Ryan KazinecThank you so much for this detailed article. It really helped
Posted on May 2nd, 2012 at 10:36 am by: NancyI am new in this world of WordPress and I assumed moving WordPress sites will required template installation and creation of database plus tones of other shizad…but man thanks to you, it is an amazingly simple process..great job…and don’t be jealous of your brother..he is a good guy 🙂
Posted on May 10th, 2012 at 6:34 pm by: Muhammed SayyedHi,
This is the simplest and most straight forward guide I have found on moving a wordpress site from one host to another. Thank you so very much. Especially the steps to backup the database.
I was getting some errors complaining about duplicates before but after going throught the options to select when backing up the database in the above guide every thing uploaded on the new host fine. My site is back up now.
Posted on June 28th, 2012 at 9:56 am by: GregThanks for the post! I tried this but for some reason my product pages because corrupted. Essentially the add to cart button is missing from all products pages regardless whether its a single or variable product. Also the + and – buttons to increase a product quantity. The tabs that usually show additional info or reviews about a product are now displaying in below the main description and the related products is missing. All of this is showing correctly in my local version. So you have any suggestions? I’m a real novice as it took me over a month to finally finish my site and now it’s stuffed and I don;t know what to do.
Posted on August 21st, 2012 at 11:10 pm by: Sayleshawesome article, i googled a lot of sites but everywhere incomplete or short procedure given which is not helpful but u r rocking complete knowledge step by step with image makes my work very easily..
Posted on September 12th, 2012 at 10:50 am by: mohit sharmathanks for this awesome article
Hi there,
Great article. I followed the steps all the way through and everything went smoothly right until the end. After completing the last step I checked my site and just got a blank screen. Where I transferred from, it was attached to another of my sites (www.site.com/website). Do I have to change anything else due to this, such as in the .htaccess file?
Posted on October 6th, 2012 at 1:41 am by: Brettdoes changing site from one server to another affect website traffic
Posted on October 24th, 2012 at 12:24 pm by: prasadPlease Help me i am in trouble want to transfer my blog but the new host while creating database dont allow to create Username and give permissions to the user. So any other way to do that manually?
Posted on February 8th, 2013 at 1:11 am by: Neeraj SharmaBut it only restores posts not media files!
Posted on June 15th, 2013 at 5:50 am by: vinayStep #2 is to transfer all of your files over.
Posted on June 16th, 2013 at 2:22 pm by: Ryan KazinecThanks You Very Much !!! After bugging my time for couple of weeks , I completely transferred my site(http://www.shepkart.com). The is nice blog which helps me for resolution after long struggles. Good Works and credit goes to perfect post which provides solution.
Thanks & Regards,
Posted on September 18th, 2016 at 4:23 am by: P J–PJ
thanks for sharing it is really helpful and i got my issue resolved…. thanks again
Posted on October 16th, 2016 at 5:26 pm by: Shashank[…] Another Server How to Move a WordPress Site from one Server to another How To Move A WordPress Site How to Transfer a WordPress Blog From One Server or Host to Another How to Move WordPress Blog to New Domain or Location Move your WordPress blog to a new domain in 10 […]
Posted on January 30th, 2017 at 6:28 am by: How to Move a WordPress Site from one Server to another - WPArena