Do you want to move your blog from WordPress.com to WordPress.org? Many beginners often start with WordPress.com soon realize its limitations and want to switch to the self-hosted WordPress.org platform. In this step by step guide, we will show you how to properly move your blog from WordPress.com to WordPress.org.
Why Move from WordPress.com to WordPress.org
WordPress.com allows anyone to start a blog by creating an account. However, beginners soon realize that there are a lot of limitations on their free WordPress.com blog like limited ability to monetize, can’t install plugins, third-party ads on your users, etc.
This is why users soon switch to the more powerful and popular self-hosted WordPress.org platform.
To understand the differences between the two platforms, see our full comparison of WordPress.com vs WordPress.org.
We recommend using WordPress.org, because it gives you complete ownership of your website and freedom to control all its features. To learn more about all these features, see our complete WordPress review with pros and cons.
That being said let’s take a look at how to properly migrate your blog from WordPress.com to WordPress.org.
Things You Need Before You Start
We recommend using Bluehost because they are one of the largest hosting companies in the world, and they an officially recommended WordPress hosting provider.
They are also offering WPBeginner users a free domain name and 60% discount on web hosting. Basically, you can get started for $2.75 / month (and this also includes free SSL).
f your WordPress site already has a custom domain name, then you will still need web hosting. Go ahead and signup with Bluehost and under the domain step, add your blog domain. We will show you how to keep the same domain while transferring from WordPress.com to WordPress.org without losing search rankings in the later steps.
Aside from the hosting account, you will of course need access to your WordPress.com account, so you can easily move all of your posts, pages, images, comments, and other data over to your self-hosted WordPress site.
Bonus Free Offer: Since a lot of you asked for this, we are now offering free migration service from WordPress.com to WordPress.org as part of our free WordPress blog setup service. This means one of our expert team member will do the entire migration for you (100% free). This means you can switch from WordPress.com to WordPress.org without any risk.
However if you are someone who likes learning and doing things yourself, then you can follow our step by step tutorial below.
Step 1: Exporting Data from WordPress.com
First you need to sign in to your WordPress.com account and go to your blog’s dashboard. From the left column, you will need to click on the WP Admin link to open your blog’s admin area.
Clicking on the Export tool will take you to a new page where you will be asked to choose between Free or Guided Transfer. You need to choose the free option by clicking on the ‘Start Export’ button.
The exporter will now download an XML file in your computer. This file will have all of your posts, pages, images, comments, custom fields, categories, tags, navigation menus, and other information.
Step 2: Setting up WordPress
Now that you have exported your WordPress.com data, the next step is to set up a fresh WordPress install on your web hosting.
WordPress is very easy to install, and it only takes a few clicks. If you signed up with Bluehost like we mentioned above, then WordPress will be automatically installed for you.
Alternatively, you can follow our step-by-step tutorial on how to install WordPress within 5 minutes.
Once you have installed WordPress, it is time to import your content into your new self-hosted WordPress website.
Step 3: Importing Content into Self Hosted WordPress Site
To import your old content from WordPress.com to your new WordPress.org site, you will need to login to your freshly installed WordPress website’s admin area. From here you need to visit the Tools » Import page and click on the ‘Install Now’ button below WordPress.
WordPress will now install the WordPress importer for you. Once it’s done, you need to click on the ‘Run importer’ link to continue.
It will take you to a screen where you will be asked to upload your WordPress.com XML file that you downloaded in step 1 of this tutorial.
Note: if your file size is larger than 2MB, then you have two options. One is to ask your web hosting company to increase that limit temporarily, so you can get on with the process. The other option would be to split your file by using a WXR file splitter.
When you start importing, you will have the option of assigning imported content to a current user or create a new user. You’ll also have the option of importing your old attachments. It is very important that you check this box, so your image files are imported properly.
Step 4: Importing Your Blogroll Links
If you had been using the Links feature on your WordPress.com blog to store blogroll or other links, then you need to follow these instructions to import them. Users who were not using this feature can skip to Step 5.
Blogroll links are exported in OPML format. It is an XML format which allows you to export and import your links and link categories. Your WordPress.com links have an OPML file located at an address like this:
Replace example with your WordPress.com blog’s subdomain. If you are using a custom domain with your WordPress.com blog, then your OPML file can be accessed by visiting a URL like this:
Your OPML file will open in your browser window, and you need to save it to your desktop. Press CTRL+S (Command+S on Mac) to save the file on your computer.
Now that you have a backup of your WordPress.com links, the next step is to import them into WordPress. However, self hosted WordPress does not have a link manager enabled by default.
You will need to install and activate the Link Manager plugin. The plugin’s page says that it hasn’t been updated in last two years. That’s because it didn’t need updating, and you can confidently install this plugin.
Upon activation, the plugin will add a new menu item in your WordPress admin bar labeled ‘Links’.
Your WordPress site is now capable of managing blogrolls, and you can safely import them. Visit Tools » Import and click on Blogroll to install the OPML importer.
Upon installation, you will be redirected to the importer. Where you need to upload the OPML file you saved earlier and click on import OPML file button.
WordPress will now import your links and link categories from the OPML file. You will be able to see the progress and on completion you will see the success message.
Now if you don’t want to redirect your old users to your new site, then this will be your final step.
You need to go to the Settings » Reading page on your WordPress.com blog’s admin area. Under the ‘Site Visibility’ section, select the last option “I would like my blog to be private, visible only to users I choose”.
Attention: If you have been writing for some time, and you have a loyal audience, then it does not make sense to leave them hanging.
Furthermore, if your blog has been out there for a while, then chances are that it is indexed in Google and other search engines. You can keep all the search engine rankings and easily redirect your old users to your new blog by following Step 6 (highly recommended if your site is established).
Step 6: Redirecting Visitors and Preserving SEO
Redirecting users to new location with the 301 header is a standard solution to keep search rankings while moving a site from one location to another. Since you don’t have access to .htaccess on WordPress.com, you cannot make any changes by yourself to retain search engine rankings. However, WordPress.com offers a paid upgrade feature called, Site Redirect, which provides this functionality.
Simply go to WordPress.com blog’s dashboard and click on the Settings menu item. Under the ‘Site Address’ option, click on the ‘redirect’ link.
On the next screen, you will be asked to provide the domain name where you want visitors to be redirected. Enter your new WordPress.org site’s domain name and click on the go button.
Note: Site redirect is a paid upgrade and costs $13 per year. It will add a 301 redirect which redirects your WordPress.com blog’s visitors and search engines to your new site.
Some of you will ask how long should I keep paying for this Offsite redirect feature? The answer is for as long as you want to. However, we personally think that 2 years would be enough time for your old users to memorize your new domain name.
If you are changing domains, then another thing you want to do is update all in-post URLs. If you ever inter-linked your posts, then those links have to be updated. You can use our article on how to update URLs when moving your WordPress site.
If you had a custom domain on WordPress.com, then you don’t have to worry about anything. Simply change the DNS record to your host, and you will retain all the SEO benefits.