How to Relocate your WordPress Blog to a New Domain Name

Making the decision to move my blog from http://www.courseladder.com to http://www.golfballdriver.com was a big one, and a good one, and it taught me a lot about learning how to relocate your WordPress blog to a new domain name under the same hosting provider. Course Ladder suited me for a while, but from an SEO standpoint it was not a good domain name for me to stick with over a long term and I am glad for the change.

Golf Ball Driver is better than Course Ladder because…

  1. “Golf” in the domain name
  2. All domain words are highly relevant
  3. Direct golf product tie in
  4. It makes sense. What am I? A golf ball driver!
  5. The double entendre between the products and the persona.

gbd

What You Need to Do:

The first thing that you want to do is to create a new add on domain for the new domain name.

The next step in the process is to copy the entire contents of the old domain folder, which includes your entire WordPress blog, into the brand new domain folder within the same hosting area.

Next, there are a couple of SQL statements that you need to run:

* First, to update your WordPress options with the new location of your blog, the following SQL command needs to be put in:

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';

Next, you are going to need to fix the URLs of your posts and pages on WordPress. The URL values are stored as absolute URLs rather than as relative URLs, so you need to use the following SQL query to change them.

UPDATE wp_posts SET guid = replace(guid, 'http://www.old-domain.com','http://www.new-domain.com');

If you have linked internally at any point within your blog posts or your pages using absolute URLs, then this links are going to be pointing to the wrong locations after you change the location of your blog. You need to use the following SQL commands in order to fix all of the internal linking in all of your WordPress posts and pages.

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.old-domain.com', 'http://www.new-domain.com');

Once you have put all of these SQL queries into action, the next step is to browse through as much of your WordPress blog as you can in order to make sure that everything is in good working order. You are also going to need to login to your WP Administration section because the authentication cookie will become invalid when you change domains.

Now you can delete the old folder contents so that your blog is not appearing in two different places.

In order to 301 redirect all old links from the old domain to the new domain, place a single file .htaccess into the now empty folder. You want to be sure to 301 redirect else you will permanently lose any hard earned links you have developed. Here is what the file should contain:


RewriteEngine on
RewriteCond %{HTTP_HOST} ^.old-domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.old-domain.com
RewriteRule ^/?(.*)$ "http://www.new-domain.com/$1" [R=301,L]

Finally, update your WordPress blog to have the new blog name in your title.

The process is relatively simple once you have a feel for what needs to be accomplished. Above all else, it is vital that you avoid upsetting your linking structure in the process. Make sure that all of your links are still valid and working after you make the big move, and your blog should be just fine, and more importantly, better off with an improved domain name.

Originally posted 2009-02-05 09:45:03. Republished by Blog Post Promoter

Related posts:
If you liked this article, vote for it on del.icio.us and stumbleupon.



Categories:

Blog Tips, Blogging, Content Ideas, Domain/Host, Platform, SEO, WordPress



Tags:

, , , , , , , , , , , , , , , ,


10 comments ↓
#1 Augie on 03.18.09 at 7:00 am

What is the reason for changing the folder where the contents resides? Wouldn’t this work without doing that?

#2 kevin on 03.18.09 at 10:34 am

I changed folders so that I could have a clean ht access file in the old directory. To me this made for a cleaner and more maintainable final product.

#3 Augie on 03.18.09 at 11:40 am

For some reason that didn’t work for me. I actually ended up using two folders. I had the old site in the old folder and then set the new site in a new folder. I then used a 301 to redirect in the .htaccess from the old site to the new site. The following command will preserve the path so if you type oldsite.com/dir/file.ext it will 301 redirect to newsite.com/dir/file.ext.

RedirectMatch 301 ^/?(.*)$ http://newsite.com/$1

#4 Patrice on 04.08.09 at 6:45 am

Hello! I just moved my blog following the steps listed in your post. That was easy! Thanks.

However, I don’t understand this part:
“You are also going to need to login to your WP Administration section because the authentication cookie will become invalid when you change domains.”

What should I do exactly? where are my authentification cookie in my WP Admin section?

Thanks lot!

#5 kevin on 04.08.09 at 8:11 pm

@Patrice

I was saying in a very wordy way. That wordpress was going to ask for you user/pass to gain access to the admin section.

Glad it helped you!

#6 Agus Setiyawan on 04.14.09 at 9:23 pm

Thank’s for your information.

#7 will on 04.23.09 at 12:55 pm

hey… this is great! but i do have 1 question:

where do i “run SQL queries” from?

i was looking around in cpanel, and couldn’t find where i could add queries, only new databases.

thanks a bunch :)

- will

#8 Akhil Yadav on 06.22.09 at 2:55 pm

Thanks for directing me to this post Kevin
this was really helpful
:)

#9 don luttrull on 10.27.09 at 7:17 pm

I was just trying to figure a way to do this, glad I found this post.

#10 jimmy41687 on 06.25.10 at 5:15 am

Well kevin i like your article and there is something else dose mod_rewrite vary according to servers.want some info about this.

Leave a Comment