Moving your site or blog to a new domain name can be one of the biggest headaches in the world if not done correctly.

With Google rankings you have built up over time starring you in the face, you can almost think it is impossible to change domains and keep all of that work. While you will see some initial drop in search engine traffic (typically the first 30 days or so), there is hope as you can regain all of that link love on the new place you call home.

There are several typical scenarios where you would want to change domains.

  • Started off with a blogger blog (or any other free service) and are now going to self hosted.
  • Started off with one branding strategy and your blog takes a completely new direction that requires new branding.
  • Bought a domain and blog that you want to create a new site out of.
  • Looking to sell your blog in the future and need to get the domain name off your name.

Recently, I moved my mountain biking site……to a new domain at to handle the new expansion of road and urban cycling. So…this is the process I went through to insure that everything went smoothly with the new change.

How To Change Domain Names On Your Blog

The following is a step by step guide to moving your website or blog to a new domain. Looks long and complicated…but it really isn’t once you jump in and start knocking things off the list.

Step 1 – Buy New Domain Name

Head over to GoDaddy and secure your new domain name. I would suggest doing this as soon as you know you want to change as aging does affect rankings in some search engines. You can also start linking to that domain to start the PageRank process to help out with beginning growing pains. When I moved to, that domain already had a PR4 with nothing on it.

Note: More on picking a domain name here.

Step 2 – Setup Hosting Account

If you are already self hosting your blog, this is a pretty easy step. If you are not already self hosting your blog (using a free service), I recommend HostGator for cheap, reliable hosting. You need to setup your new domain name on your hosting account as an addon domain exactly like you setup your first domain (database setup, email addresses, etc.).

Note: More on setting up DNS Records and Choosing a Hosting Account.

Step 3 – Export Database from Server

If you are already using WordPress, there is an export feature under the tools tab where you can export your database. This will download to a file that you are going to save onto your desktop. If you are using Blogger or another free service and you are moving to self hosted WordPress, there is an import feature you are going to use to pull your blog into the WordPress install…so you skip this step.

Step 4 – Download Existing Media and Theme Files

If you are already using WordPress, you are going to need to grab your existing theme and media files (pictures, audio, etc.). By going into your FTP account, you can navigate to wp-content/ and download “themes” and “uploads” to your desktop. Depending on how long your have been posting to your blog, this could take a little while.

Step 5 – Install WordPress On New Domain

Now that you have pulled out all the information you need, it is time to install WordPress on your new domain. (Instructions on installing WordPress can be found here.) Side note: If you are not planning on moving your site right away, I would recommend not letting search engines find your blog at this time (the beginning setting). You are able to change this setting once you are ready for the move and duplicate content and confusion will hit if you have both sites live at the same time.

Note: If you are installing WordPress for the first time, here is a guide to the settings.

Step 6 – Upload Media and Theme Files

Using FTP, upload those same media and theme files from your old domain to the new domain folder. (You do not do this if you are moving from a free blogging service…only if you are moving from self hosted WordPress to self hosted WordPress)

Note: If you are installing WordPress for the first time, here is a guide to choosing WordPress themes.

Step 7 – Install and Setup Plugins

Install and setup the same plugins that you had previously on your other blog

Note: My recommended plugin list is here.

Step 8 – Import Database File

In your WordPress install under “Tools”, you can now import your WordPress database or blog hosted through one of the free services. This is going to pull everything from the database file or free service into your new install.

Step 9 – Activate Theme

Activate your theme to get ready to troubleshoot the look, feel and functionality of your blog.

Step 10 – Use Find and Replace to Fix Database Files

When you upload your database or blog into WordPress, all of the linking you did to other parts of your site will be to the old domain. To fix this issue, install the “Search & Replace” plugin. This plugin searches your database for any word sequence you specify and replaces that sequence with a new sequence you tell it to. In my case, I wanted the plugin to search my site for every instance of and replace it with

My permalink structure was the same on both sites (just /%postname%/), so everything would be setup correctly with that switch. This plugin prevents the need to go back into all of your articles and fix links.

Step 11 – Test New Site

Now that everything is live on your new site, it is time to go click around and make sure everything works correctly. Test and retest every single element and feature to insure every element is functioning correctly. Fix whatever you need to fix at this time.

Step 12 – Setup Sitemap Plugin and Create Sitemaps

You should have already installed and setup the Google XML Sitemaps plugin, so make sure you have made your first, new sitemap on the new site after everything is tested and working correctly.

Step 13 – Create New Google Analytics (or other stat tracking) Account and Install Code

Create new accounts on your tracking services for the new domain and stall the necessary code.

Step 14 – Setup Google Webmaster Account (and other search engines)

Setup a new Google Webmaster account for the new domain and submit the sitemaps. Now…if you checked the box for not letting search engines see your new site, they are not going to be able to spider the sitemaps at this time, but it is good to already have this setup. Rinse and repeat for Bing, Yahoo and the other search engines.

Note: Google Webmaster Tools also has a setting for moving domains were you can actually specify the domain you are moving to help out Google in the spidering process. This only works if you have a verified old domain and verified new domain. Also, neither one can be subdomains. Since I was moving the content to subdomains, I was not able to use this feature, but the 301’s will take care of that over time.

Step 15 – Test and Retest New Site/Open Up the Search Engines

Before we direct traffic to the new domain, test and retest the new site again. Once you are sure everything is working correctly, go into WordPress under the “Privacy” tab and click the selection for allowing search engines to access your site.

Setup 16 – .htaccess 301 Redirects to New Domain

Now that you have everything up and running correctly on the new domain, you have to forward all of your previous traffic to the new address. This is handled by a .htaccess 301 redirect on you self hosted blog.

If your permalink structure (the stuff that comes after .com, .net, .uk, etc.) is the same on the new site, this part of the process is incredibly easy. All you have to do is create a .htaccess file with a text editor that contains the following:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^$ [OR]
RewriteCond %{HTTP_HOST} ^$
RewriteRule ^.*$ “http\:\/\/\/” [R=301,L]

In the case above, I am redirecting both and to the new url The redirect is automatically going to handle the rest! Each article will redirect to the corresponding article on the new site. Now…if your permalink structure is different on the new site than the old…this is going to throw them to 404 pages and you will end up losing all of that search engine juice you have been building over time.

If you are going to change your permalink structure with the move (which I do not really recommend doing), you are going to have to define individual 301 redirects in your .htaccess file. If you have a lot of pages and articles, this part is going to take awhile.

Redirect 301 /old/perm/structure/

You .htaccess file is uploaded to the root folder of your domain (probably where you installed WordPress).

Note: If you are migrating from a Blogger blog, follow these instructions for 301’ing your free blog to your self hosted.

Step 17 – Test Search Engine Results

Now that you have all of your redirects setup correctly, it is time to do more testing. Go to Google and type in a keyword phrase you know you rank highly on. Click on the search engine result that contains your old domain name and see if it redirects you to the correct article on your new domain name. If it did…you are set. If it didn’t…there is something wrong with the way you setup your .htaccess file.

Step 18 – Move Feedburner Feed

Within Feedburner, you can change the location of your feed very easily. If your domain change is not too far off from your previous name, I would recommend just changing the feed location and not the feed name. While you can do a 301 on your feed as well, you are risking confusing or even loosing current subscribers. After you have changed the location, go over to the email syndication section of Feedburner and change any from email addresses and logo branding that was associated with the old site.

Note: Do not be surprised if your feed updates the latest 10 articles that people have already read when you move the feed address in Feedburner. That is normal.

Step 19 – Change “From” Email Addresses in Newsletters and Other Media

You should have already created new email addresses for your new domain. You will need to change all of the “from” email addresses in newsletters (ex. Aweber) and other media where you send out regular emails and corespondents. Also, when you start receiving new emails to the old address, respond with the new email addresses notifying the receiver of the change. You can make life a little easier on this end by actually redirecting those emails to your new inbox in your email setup.

Step 20 – Backup Everything

This is a final precaution. Back up everything before going forward. All of your databases, file folders on your server, email…everything! If something goes wrong, you do not want to be left without a backup of everything you have completed up until this point.

Step 21 – Delete Old Server Files

Now that you have a local version of the old site, it is time to delete all of your old server files and databases. Delete everything but the .htaccess file you setup previously to keep the redirects running.

Step 22 – Add New Domain to All Affiliate Sites

Over the course of your blogging, you should have setup several affiliate accounts to make some money online. Make sure you go into your affiliate accounts and add the new domain as an approved site and change any email addresses associated with that account.

Step 23 – Announce Your Move To The World!

You’re done! Everything is moved and working correctly! Congratulations. Now…it is time to tell the world about your move. Send out newsletters…make a post on your blog…tweet the change linking to the post on your blog…post something on Facebook. With this announcement, it is a great idea to tell your readers, subscribers and newsletter subscribers what to expect. Tell them which email address they are going to receive updates from (also tell them to white list it), show them the new features of the site and explain some of the process and reason for the change.

This is also a great time to email anyone who has linked to your blog or articles and request they change the links to the new address.

A Couple Of Final Notes On Moving Domains

While you are going to see the immediate result of the redirects, it is going to take the search engines a little while to catch up. Expect to see a small drop in traffic for about 30 days or so until all of your link juice is transferred to the new site. After a period of time, everything should level out and your site should be back to normal.

Google and other search engines recommend keeping the old domains and redirects for a period of 180 days. For me, it is worth the little bit of money it costs to have the redirects and old domain for a year just to be sure.