Moving a Wordpress Website
I am in the process of moving over the sites I manage. In preparation of the move, I started looking into any issues of moving from the shared hosting environment and the VPS. The first issue is to modify the “wp-config.php” file to change DB information. From there you just normally FTP your whole site to the new hosting environment. Assuming the new “wp-config.php” file has the correct information you are essentially golden.
Now my issue arrived when I decided that a test environment was a good idea; as I want to clean up some garbage first. The key issue is modifying the database copy to reflect the test site URL. I did a bunch of searching and found a great post that explains the MySQL commands you need to use to correct the site so it works correctly. This same procedure would work if you were moving from one domain to another.
To update WordPress options with the new blog location, use the following SQL command:
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';After that you will need to fix URLs of the WordPress posts and pages, which translated from post slug, and stored in database wp_posts table as guid field. The URL values in this field are stored as absolute URLs instead of relative URLs, so it needs to be changed with the following SQL query:
UPDATE wp_posts SET guid = replace(guid, 'http://www.old-domain.com','http://www.new-domain.com');If you have linked internally within blog posts or pages with absolute URLs, these links will point to wrong locations after you move the blog location. Use the following SQL commands to fix all internal links to own 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');Browse through WordPress blog to check if everything is okay. You also need to re-login to WP Administration as authentication cookie has now became invalid due to different domain.