First off this is how I did it, You can probably do it another way, but my way is always the best way.
Step one:
BACKUP Everything, your database, your wordpress files, all of your settings. Even though we will be very careful to try to not break stuff it is better to be safe than sorry.
Step two:
Copy all of your files from your current server to your new server. Copy everything you need for the blog. Do not make modifications to anything. When moving your database name needs to remain the same if your new server cannot accommodate this you are stuck.
Step three:
Move your database files. I would do a simple zipped export from phpMyAdmin and import from within phpMyAdmin. For more information on importing and exporting look for future posts.
Step four:
Modifying the database to reflect new domain name, I would also recommend doing this in the SQl statement section of phpMyAdmin.
To do this we need to run some simple commands; replace old-domain.com with your old domain and new-domain.com with your new domain.
First we need to update the wordpress options:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.old-domain.com', 'http://www.new-domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
Now we need to fix URLs of the WordPress posts and pages:
UPDATE wp_posts SET guid = replace(guid, 'http://www.old-domain.com','http://www.new-domain.com');
Now we need to fix all internal links to the blog in all WordPress posts and pages:
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.old-domain.com', 'http://www.new-domain.com');
Check your blog to make sure everything is ok, you may need to log back in to the blog.
Step five:
Do a 301 redirect to redirect all of your old traffic to your new site.





