A lot of people start off their blogs on free hosting services like WordPress.com, Blogger, and others and then migrate to a self-hosted service after realizing the limitations that a free hosted website has. Typically, they want more freedom to design their website than what something like WordPress.com can provide. And when they migrate, there’s a good chance that they’re going to opt for a WordPress based website because of its support, and ease of use.
So in this article, I’m going to explain step-by-step, how to transfer content from the free hosted version of WordPress.com to WordPress.org, which is the self-hosted version.
1. Log into WordPress.com and Export your Data
Luckily, WordPress doesn’t lock you into your platform like many others. Particularly websites like Wix make it very clear that you cannot export your content out of their servers. WordPress has no such restrictions, and goes out of its way to allow you to do this.
To start, log into your free WordPress.com account and go to the dashboard for your website. I’ve set up a test blog as shown here:
From there, go to Tools -> Import and choose your options:
You can see here, that you can choose which content to export. If you’re looking to move your site wholesale to WordPress.org, then you can simply choose the first option to export all content as shown in the screenshot above. Otherwise, if you want, you can choose specific parts of your website like just posts, pages, or the media.
Once you’ve made your selection, you can download the export file. This takes the form of an XML file. Your browser might complain about downloading this type of file as shown here:
Of course, since we know what this file is, we can ignore the complaints and download it onto our PC. Depending on the size of your blog, it can be many individual files, all zipped up in a single one.
2. Importing into Self-Hosted WordPress
Once you have the export files with you, we now need to import these files into our new WordPress installation. To do this, go to Tools->Import as shown here:
The option at the end is the one we want. Under WordPress, click “Install Now” as shown above. This will download the necessary code for the import plugin. After it’s installed, the text will change to “Run Importer”:
Click this, and it’ll take you to a screen where it will ask you to upload the import XML file(s). Choose the one you downloaded earlier like this:
Note on File Sizes
In some situations, the file size will be larger than what’s allowed by your PHP upload limit. To correct this, check out the tutorial for NameHero on how to change your PHP file upload size. The article is from 2016, so use the latest PHP version instead of the one mentioned. Once you’ve changed your PHP file upload limit, attempt to import your data again, and all should be well.
For all the new content that’s about to be added to your blog, you need to assign an author. You can either choose an existing one (like I’ve done), or create a new user to whom the posts will be assigned:
You should also choose to tick the checkbox that downloads all external media and imports it into the new WordPress installation with all the new URLs. Submit the form, and WordPress will take care of the rest.
Enjoy your new WordPress.org blog!
I’m a NameHero team member, and an expert on WordPress and web hosting. I’ve been in this industry since 2008. I’ve also developed apps on Android and have written extensive tutorials on managing Linux servers. You can contact me on my website WP-Tweaks.com!