Let the source server be A and destination server be B

  1. Zip all the files on server A using cPanel
  2. Use SSH access of server B and pull the zipped file to the server B (Use wget)
  3. Unzip it in Public_html folder
  4. Find which database the wordpress installation was using in server A
  5. Using SSH access of server A Dump that Mysql database into the server A using the command mysqldump -u ffj_dbuser -p ffj_dbname > ffj_databasefile.sql
  6. Now move that file from server A to server B using SSH access and wget command
  7. Now login into cpanel of server B and create a new database and add username
  8. Now upush the database .sql file into the newly created database of server B using the command mysql -u USERNAME -p -h localhost DATABASENAME < FILENAME.sql See http://mywebexperience.com/tricks/upload-large-database-to-mysql-in-seconds-using-putty/
  9. Enter the password of database when asked
  10. Go the the wp-config.php file and edit the database details to the new updated ones.
  11. Change the Nameserver of the domain to point to the new server B.
  12. Make a small change in the latest post of the server B database from phpmyadmin just to know that you are seeing the site from the new server and not the old, as dns propogation takes time and may fool us that the site is working fine.
  13. Use hidemyass.com proxy to see the latest version of the site. See if all pages are working. Usually the mainpage loads fine and if others are not then there is a problem with htaccess.
  14. Go to WordPress admin – Settings- permalink and save the same settings again – This recreated an updated Htaccess file.
  15. Go to phpmyadmin of server B and go to wordpress database wp_options and search for the old server username and update them accordingly in all the urls.

shift wordpress from one server to another, change wordpress hosting step by step