WordPress Website Migration from old website host to a new website host

7 CommentsRSS Site FeedAuthor: AITpro Admin
Published: February 16, 2010
Updated: October 6, 2012

Moving – Migrating WordPress

This information is intended to be supplemental to the official guide to Moving WordPress on the WordPress.org  website.

In my professional opinion this is the best way to do it so that you do not loose data or have complications. Also if you can, you should not do a domain name transfer until the new site is working perfectly. You may not be able to do this depending on your situation, but this would allow you to have your existing site as a reference until your new site is working perfectly.

Install the WP-DBManager plugin – make a backup of your current website DB on DreamHost.
Download that DB backup to your computer DB backups are stored in this folder /wp-content/backup-db
Install a clean installation of WordPress on GoDaddy
Install the WP-DBManager plugin on your GoDaddy WordPress site
Upload your backed up DB to your new WordPress site to the /wp-content/backup-db folder
Click on the Manage Backup DB option under WP-DBManager Click Restore to copy your old DB to your new DB

You may need to do some nick knacks stuff to get everything perfect, but by restoring your old DB to your new DB you are effectively transferring all of your old site to your new site – settings, posts, data, etc etc.

You will need to manually download your image files. Uploaded images are not stored in the SQL DB. They are stored in the /wp-content/uploads folder by default. Then you will need to upload your images to your new WordPress website’s /wp-content/uploads folder. The image linking information for your images is contained in the DB so the links in your posts to those images will be restored when you do the DB restore. And finally you will either want to download and upload all of your plugins or reinstall them on the new site. And download and upload your Theme or reinstall it. Good luck.

Preparation

Make a checklist of all your WordPress core code customizations you’ve done outside of your Themes folder (root, wp-content, wp-includes, wp-admin)

Use the same WordPress username and password from your old WordPress website when you are installing the new WordPress installation

Get the full root path for your website from your new web host control panel.  You will need this path later when you are configuring WP-DBManager.  It will look something like these:

/home/content/14/89357289/html/ or something like this /vbt/w004/d33/s38/b45698nn/www/

Your webhost path will be different and may not look like either of these example website host root paths. 

On your new website host create the folder for your website and install WordPress in that folder.  If you just have one website you can just install WordPress in the root folder.  You could always just copy your entire WordPress site from your old website host to your new website host, but this method means that you will have to manually create your SQL DB for Wordpess on your new host.  When installing WordPress on your new website host you not only get an SQL DB created for you, but this also means you will not need to copy the core WordPress files and folders over to the new host. 

If you only have a single WordPress website to migrate to your new website host you should probably install the website at the root.  If you have multiple websites on a single host account you should use this naming convention for your folders for all your websites.  This is the best naming convention anyway for all the right reasons, but primarily for DNS.  You could add the www prefix to the folder name, but I do not recommend it.

A folder name example               = mywebsite1.com

Another folder name example = mywebsite2.com

Create an FTP account on your new host so you can upload your downloaded WordPress files from your old web host.

WordPress Preparation on your old web host server

If you have a WordPress cache plugin disable it and delete the cached files. This is not necessary, but probably a good idea just in case there is a problem.

I recommend that you install the WP-DBManager WordPress plugin if you do not have it installed already. It will make your whole WordPress migration easy, fast simple. If you have another DB backup plugin then do the similar steps for your plugin to backup your SQL DB.

-         DB backups are stored in /wp-content/backup-db.  You will be uploading the backups to the new host later. 

-         Download your latest backup or as many backups as you want to keep to your local computer.

-         You can also export your old WP SQL DB from MySQL PHPadmin just in case.  I have had problems with importing SQL DB export .sql files from one host to another via PHPmyadmin.  When you restore a database backup with WP DBManager this should correct any problems with your SQL DB..

Downloading your WordPress files from your old website host

Download all of your plugin folders to your computer.  You may have to reconfigure some of them with the new web host server path.  That is why you hopefully made a checklist first.

Download your WordPress Theme folder – if you want more themes or all of the current themes you have installed then you can download them too.

Download any Google, Yahoo and Bing sitemap verification files in the root.

You do not need to download your XML sitemap – you will be rebuilding it on your new host. Download your uploaded image and other files in your WordPress uploads folder – /wp-content/uploads

Uploading your WordPress files to your new website host

Upload your entire plugin folder

Upload your DB backups

Upload your Theme

Upload Google, Yahoo and Bing sitemap verifications files to the root folder.

DNS change over this is only for websites that are being moved from one paid web host to another paid web host.  If you had a free host or WordPress.com as your host you don’t have any DNS settings to change.

Change your DNS information on your old website host or registrar to point to your new hosts name servers.  The change sometimes occurs in minutes and sometimes takes longer, but it is usually under 30 minutes.  Do Ping commands or close and reopen your browser to see exactly when your site is viewable on your new host.  You will see the default or classic WordPress theme when the DNS change has occurred – don’t panic that’s what you are supposed to see until you restore you WordPress SQL DB.

Reactivate WP-DBManager first and restore your last backed up database.  Click your Database panel (it is located in your left panels at the bottom), click Manage Backup DB, select the backup you want to restore, click Restore.

This updates the SQL DB on your new host with your latest backup from your old host SQL DB.  You will need to add your old .htaccess file to the backup-db folder or you will see this error message:  “Your backup folder MIGHT be visible to the public”.

CAUTION:  the .htaccess used file for the WP-DBManager plugin is different than your root .httaccess file and is located in this folder >>>  /backup-db folder  .

This is what you should be in your WP-DBManager .htaccess file.

<Files ~ ".*\..*">
order allow,deny
deny from all
</Files>

Configure WP-DBManager WordPress Plugin

Under your Database Panel click on DB Options.  You may get kicked out of your WordPress admin Dashboard.  Log back into WordPress. If you logged back in successfully skip down to Back to configuring WP-DBManager.

If you run into problems logging back in if you were using Theme My Login plugin.

If you are using theme my login rename the Theme My Login plugin folder if you have problems logging into your WordPress website.  You will need to use the default WordPress login for now.  http://www.yourdomainname.com/wp-admin/admin.php  use the password reset to send yourself a new password or you can change it in your new WordPress SQL DB if you want.

This WP Login works only if you rename the TML plugin folder http://www.yourdomainname.com/wp-login.php

This link should now get you to your Dashboard http://www.yourdomainname.com/wp-admin/

Back to configuring WP-DBManager

Click on DB Options under your Database Panel again

For Path To mysqldump: just click the auto detect button

For Path To mysql: just click the auto detect button

For Path To Backup

You will need to correct the path for your backup location – you will see your old host website root folder path.  You need to enter the new host server root path to your db-backup folder.  This is just an example do not use this path:  /home/content/14/89357289/html/wp-content/backup-db.  Click the Save button.  Now to make sure everything is good click on your Dashboard panel button and then click back on Database sub panel.

Click on your Plugins sub panel.  If your plugins are not activated then activate all of them now.

Check your website appearance – it should look exactly as it looked on your old host.

You should be using a WordPress SEO plugin.  Check that SEO plugin to make sure everything looks correct.

You should also be using an XML Sitemap  You will need to manually rebuild your XML sitemap.

Important!  If you have multiple WordPress installations in separate folders be careful that your .htaccess files have the correct information.  If you use custom Permalinks (every WordPress website should be using custom permalinks) then generate an .htaccess file using update and then add any additional rules you want.  The WordPress default .htaccess rules are shown below.

This is what an .htaccess file will look like if your WordPress installation is in the root folder.  Notice the RewriteBase is the root /  and the RewriteRule is /index.php

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

This is what an .htaccess file will look like if your WordPress installation is in a folder called myblog. Notice the RewriteBase is the folder /myblog/ and the RewriteRule is /myblog/index.php

# BEGIN WordPress
RewriteEngine On
RewriteBase /myblog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /myblog/index.php [L]
# END WordPress

That’s it your all done.

Facebook Google Twitter Email Stumbleupon Digg reddit pinterest Myspace Delicious LinkedIn tumblr

Tags: ,

Categories: Wordpress Tips - Tricks - Fixes

7 Responses to “WordPress Website Migration from old website host to a new website host”


  1. seattle seo says:

    Really nice tutorial, never thought of doing the db migration like this!

  2. Gerald Musiol says:

    Hallo. Ich wollte an dieser Stelle mal mein Lob für den/die Betreiber der Seite aussprechen. Sehr gut gemacht und tolle Texte. Weiter so!

    *** Translated German to English ***
    Hello. I wanted to say at this point even my praise for the operator or operators of the site. Very well done and great words. Keep it up!

  3. James Grissom says:

    Basically you need to copy your themes folder, plugins folder and database and you are done. By the way wordpress 3 came out recently.

  4. GillBate says:

    Good tip!

  5. serly says:

    Thank you for sharing this great thing. We offer web hosting services in Indonesia and we will refer our clients to your website if they have questions about WordPress website migration.
    hosting murah indonesia indositehost.com

  6. Ejik says:

    Thank you very much for makeing it easy to read and pretty understandable, for not such a pro people like me! thank you very much for the Article! Really helpfull!

    • AITpro Admin says:

      Hi Ejik,

      My pleasure. Glad you found it useful. This is an older post that I need to rewrite to make it a little bit clearer and easier to read in a couple of areas.

      Thanks,
      Ed