Have you made the decision to move from WordPress.com to a self-hosted WordPress.org site? It’s definitely a smart move.
After paying a few minor costs and putting in some upfront elbow grease, you’ll have significantly more control than you do with WordPress.com.
And if you follow this guide on how to migrate WordPress.com to WordPress.org (AKA self-hosted WordPress), you’ll be enjoying your new site in no time, with no loss of content.
Before you migrate WordPress.com to WordPress.org
This post is only going to deal with the actual process of moving your website data and content from one place to the other, which effectively allows you to migrate WordPress.com to WordPress.org. That means I’m going to assume you’ve already purchased WordPress web hosting, picked a domain name, and installed a blank WordPress site.
In case you haven’t done that, we have some suggestions for you here, but if you’re in a hurry, just go with Bluehost. They’re a respected company with tons of options for WordPress.
This post will cover everything that happens after you have your new blank WordPress site. If you’re having issues getting to that point, your web host should be more than happy to help you.
👉 With that out of the way, here’s how to actually migrate WordPress.com to WordPress.org:
- Export your existing WordPress.com content
- Import your content into your new WordPress site
- Check your site for any errors
- Redirect your WordPress.com site to your WordPress.org site
Step 1: Export your existing WordPress.com content
Before you can import your existing content to your new site, you need to export it all from WordPress.com. I’ll demonstrate how to do that with a rather ugly WordPress.com website I used back in my college days.
First, you need to sign into your WordPress blog and go to your WP Admin:
Once you’re at your WP Admin, find the Tools category in your sidebar and select Export:
If you don’t feel like paying a $129 fee for a guided transfer to migrate WordPress.com to WordPress.org automatically, you should select the Start Export option in the Export box:
On the next page, make sure All content is selected (which is the default), and then click Download Export File:
The download should be a single .xml file. This one file contains all your posts, pages, navigation menus, and more. Remember where it is because you’ll need this file in the next step.
Step 2: Import your content into your new WordPress site
At this point, you’ll need to have WordPress installed on your own host to continue. Then, you need to log into the WP Admin for your new WordPress site by going to
Once you’re in your new WP Admin, head to Tools » Import:
On this next page, you need to install the official import plugin for WordPress. Scroll to the bottom and click the Install Now link:
WordPress will automatically install the plugin without requiring you to leave the page. Once the plugin is installed, the same link will change to Run Importer. Click that link to continue:
On the next page, click on Choose File and select the .xml file you exported in the previous step. After selecting it, click on the Upload file and import button. WordPress will now begin the process of automatically importing all your old posts and pages into your site:
But before WordPress does that, it gives you the option to choose which author to assign all the old posts to. You can either have it:
- Create the same author profile as on your WordPress.com site
- Assign all the imported posts to a new author profile that you specify
- Assign all the imported posts to an existing author profile
If you want to change the author, you can use one of the latter two options. Otherwise, you can just have WordPress create the same author profile from your WordPress.com site.
On this page, you’ll also want to make sure to check the box to Download and import file attachments. This will bring over any uploaded images or other media. You definitely want to do this to keep your posts from breaking.
Once you’ve done that, click Submit, and WordPress will migrate everything over. Depending how big your site is, this might take a little time.
Step 3: Check your site for any errors
If you followed all of the instructions, the content of your site should look exactly the same. But it’s still a good idea to go through and make sure all the content, especially images, was successfully imported. Large sites can be especially prone to losing some content – so double checking is never a bad idea.
If you are missing pictures, then you’ll need to go back to WordPress.com so you can download them there and then manually upload them to your new WordPress.org site. Check out our guide on how to import images to WordPress for step-by-step instructions on that.
Step 4: Redirect your WordPress.com site to your WordPress.org site
Once you’ve ensured that all your content came through successfully, you should redirect your old WordPress.com site to your new self-hosted site. This is important because it ensures you don’t lose your search engine rankings and that any links to your old address will send people to your new website.
Unfortunately, this is not free. WordPress charges a small $13 per year fee for this service. But, if you want to 100% migrate WordPress.com to WordPress.org, $13 is a small price to pay to maintain your traffic and search engine rankings.
To do that, go to the WordPress.com Site Redirect page. Enter your new domain name in the box, click Go, and handle the payment:
If you don’t want to pay the fee, I recommend you at least make your old site private so that you don’t have two identical versions of your content out there. While Google has gotten better at handling duplicate content, it’s still not a good idea.
To make your old site private, go to the WP Admin for your WordPress.com site. Then go to Settings » Reading and check the box that says I would like my site to be private […]
Other concerns and final thoughts 🧐
While this method will bring over all your content, there are some other things you’ll need to consider.
First, the migration process won’t bring over your theme. If you want to keep the same theme, you’ll need to install and activate it. Otherwise, you’ll likely want to pick a WordPress theme that isn’t the default Twenty Twenty-Three.
Second, if you’ve become accustomed to the functionality of your WordPress.com site, you might feel like you’re missing some functionality when you migrate over. A good way to bring many of the best WordPress.com features with you is to install the Jetpack plugin. Check out our guide on five great reasons to install Jetpack to learn more.
Third, if you opt not to redirect your site, any links from your posts that link to other posts you wrote will no longer work. You’ll need to go through and update these links. You can either do this manually or by using the Go Live Update URLs plugin if you have too many links to handle manually.
There you go! 🤩
It’s surprisingly easy to migrate WordPress.com to WordPress.org. And with the exception of redirecting your old site, you don’t need to pay a single cent for the actual migration process.
👉 With your new self-hosted WordPress site, you’ll be able to customize and monetize it however you’d like. That’s pretty awesome!
If you have any questions about the migration process, I’m happy to answer them in the comments.