This is a guide for WordPress bloggers who want to move their blog from wordpress.com to a personal web domain using the self-hosted version of WordPress blogging software (wordpress.org). After the migration in complete, all your older blog links will continue to work and visitors will be redirected to the new WordPress website.

Why move to WordPress.org?

Like most other people, you started your first blog on WordPress.com because the service was free, you weren’t required to have any technical skills and there were plenty of widgets, themes and plug-ins to help you quickly customize the blog.

Then, as your blog was getting popular, you found certain limitations. For instance, you could not monetize your blog traffic because WordPress prohibits the use of Google AdSense and other forms of advertising on free sites. There are thousands of beautiful themes for WordPress out there but your choices were limited. WordPress.com doesn’t allow JavaScript so you couldn’t use advanced tracking software like Google Analytics.

Other than Google ads and themes, a big reason why you may want to move from wordpress.com to a personal web domain is branding.

Step 1: Get a domain name and rent some server space

Buy Domain from Google AppsTo move your blog from WordPress.com to your own domain, you first need to have a web domain name and some server space where you’ll host that blog.

Though you may buy web domains at reasonable prices from site like GoDaddy or Network Solutions, I recommend Google Apps that costs $10 per year per domain. In return, you get all the Google goodies (like Google Docs, Gmail, etc.) but the best part of the deal is that your registration details will stay private – people won’t be able to see your address or phone number from the whois record of your domain.

Web hosting services that you may want to consider for hosting your WordPress blog include Dreamhost, Rackspace, Media Temple, Blue Host and KnowHost.

Step 2: Transfer posts from WordPress.com to WordPress.org

Now that you have the basic infrastructure in place, let’s setup a WordPress blog. All web hosting companies offer 1-click WordPress installation so this shouldn’t be a tricky thing but make sure that you install WordPress software in a sub-directorysee instructions.

Fig A: Export WordPress.com Posts Fig B: Choose the WordPress System (bottom option) Fig C: Import old posts into WordPress.org

Next go to your old WordPress.com admin dashboard, click Tools – > Export, and save the XML file to your local computer (fig. A). Now, in your new site’s WordPress admin panel, click Tools – > Import and then choose WordPress.   Select the file you previously downloaded.   On the next page, choose the authors, and check the box that says “Import Attachments.”

Everything from your old WordPress.com blog, including images and other attachments, will now be automatically imported into your new WordPress.org blog.

Step 3: Redirect visitors and search engines to your new blog

Your new WordPress.org blog is a copy of your old WordPress.com site but search engines and human visitors will still land on your old site as they know nothing about the new one. Therefore we need a mechanism to redirect traffic coming to the old WordPress.com addresses to your new blog.

This is not that difficult either. First, login to your domain registrar (the company with whom you registered the domain). Then change your domain’s DNS settings so that your domain points to WordPress.com servers.

Important: Make sure that you write down the existing nameserver addresses, as you will need them later on.

WordPress DNS Name Servers Add Domain to WordPress.com Blog

Once you have noted that information, change the DNS name servers to ns1.wordpress.com, ns2.wordpress.com and ns3.wordpress.com. The domain registrar, in some cases, may request you confirm the change in name-servers.

From your WordPress.com blog’s dashboard, select Upgrades -> Domains.   Enter the URL of your new domain, and click “Add Domain to blog.”   Then click “Map Domain” when asked to confirm that you wish to add this address to the blog. You cannot have www in the URLs and also don’t put the trailing slash.

Domain mapping is a premium service and will cost you $10 per year. You can pay with either PayPal or a credit card of your choice.

Once this is completed, you need to set your personal domain (abc.com) as the primary address for the WordPress.com blog. In your WordPress.com admin panel, go back to Upgrades and select Domains. Select the checkbox for the domain you just added and click Update Primary Domain.

Update Primary Domain in WordPress

Step 4: Reverse the DNS Nameserver changes

Change your web domain’s DNS servers back to the original nameserver settings. Save the changes, wait for a while and now both your personal web domain (abc.com) and the old WordPress blog (abc.wordpress.com) will take you to the new site.

That’s it. Incoming links, search engine traffic, RSS readers, and everything else will get redirected to your new site. You will however have to renew the domain mapping upgrade from WordPress.com every year if you wish to keep your WordPress.com address redirecting* to your new site.

[*] WordPress.com uses a 302 redirect with domain mapping which means a “temporary redirect” and therefore search engine bots will continue to index your old site in addition to the new one.

[**] If your blog is hosted on Blogger, read this tutorial to migrate from blogspot to your own down using WordPress.