How to Move Your Blog from WordPress.com to WordPress.org

How to Move Your Blog from WordPress.com to WordPress.org

When you’re ready to scale up your WordPress.com blog or website without limits, migrating to a self-hosted WordPress.org site is the best way to go.

You can get full reign over your site’s design and functionality, as well as access help from people in the WordPress community (and us here at WPMU DEV!) when you’re in a jam.

When you’re used to the WordPress.com interface, navigating your way through the migration process to a self-hosted server can be tricky.

But not to worry. In this post, I’ll show you exactly what you need to do to move your blog from WordPress.com to a self-hosted WordPress.org site from start to finish – without errors.

Getting Started Moving Your Website…

Before you can migrate your blog, you need to have a new self-hosted WordPress site installed. If you haven’t started thinking about this yet, you’re going to need two main things: website hosting and a domain name.

You can sign up with a hosting company to store all your site’s files and a domain name, such as wordpress.org, points to those files so visitors can access your site.

Don’t panic if you already have a domain setup with your current blog since it’s possible to still use it after you transfer your site. If you don’t already have a domain attached to your current blog, you’re going to need one.

You can check out Why You Shouldn’t Register Domains With Your Web Host for more details on what hosting and domains are and the reasons why you should consider purchasing them with separate companies.

If you’re not yet sure if you should migrate your blog to a self-hosted WordPress site, check out WordPress.org vs WordPress.com: A Definitive Guide For 2015 to learn about the differences and help you make an informed decision.

For details on hosting , check out these posts:

You can also check out these posts for details on domain names:

No matter what domain you choose, be sure not to include the word “wordpress” in it, though you can still use the abbreviation “wp.” The reason for this is to avoid trademark infringement. I’m not a lawyer so you can refer to WordPress’ official public statement about this for the details: WordPress Domains.

Most hosting companies also have extensive documentation so you can check it out for details on how to point your domain name to your site.

Installing Your Self-Hosted Site

Once your hosting is set up and you have your domain attached to it, you can install a fresh WordPress site.

For details on how to do this, check out these posts:

Also, be sure to choose and install a theme before you continue. Fortunately, most of the free WordPress themes available at WordPress.com are available to install and use for self-hosted WordPress.org sites.

If you used a free theme on your blog, you can choose the same one so your site looks the same after the migration. Otherwise, you can choose a different theme or choose a premium theme or theme framework.

Keep in mind that if you choose the same theme, you may also be required to install and activate the free Jetpack plugin.

You can find themes in the WordPress theme directory. Alternatively, you can find themes in third-party theme markets or companies such as these ones:

Keep in mind that you can certainly change your theme later and as needed. You can also check out this guide to finding and choosing a theme: Free WordPress Themes: The Ultimate Guide.

There are so many themes out there, choosing one can be a tad overwhelming so you can also check out these lists for hand-picked, stunning themes that are all free of affiliate links:

Once you have a fresh installation of WordPress on your hosting account with your chosen theme installed, you can go ahead and start the migration process.

Installing the WordPress Importer

The first step of the migration process involves your self-hosted WordPress site so go there first and log into your admin dashboard.

Next, go to the Tools tab and click on Import, then on the Install Now button under WordPress on the list.

The Import page.
Click the Install Now link to start the migration process.

When you see a message at the top of the page which states that the Importer was installed successfully, you can switch to your original blog’s admin dashboard to export your content.

Exporting Your Content

Go to your current WordPress site and log in, then click on My Site in the top, left-hand corner. Next, click on the Settings tab in the menu, then on the Export tab toward the top.

Click the Export All button to start collecting your data into a single file.

If you want to select certain types of content to export only, you can click the arrow to the right of the button to select the specific content items you want to export, then click Export Selected Content.

When it’s finished, you should see a message letting you know and you can click the Download button and save the file to your computer.

The Export page under the WordPress.com Settings tab.
You can export your current WordPress site under Settings in the menu.

A copy is also sent to your email in the form of a link you can click to download the export file.

After you download the ZIP file, you need to uncompress and extract it before continuing. Once that’s done and you can see the WXR (.xml) file that’s inside the uncompressed folder, you can go ahead and continue migrating your site.

Import Your Site

Now that you have your blog exported, you can switch back to your self-hosted site. In your admin dashboard, go to Tools > Import.

Click the Choose File button to select the WXR (.xml) file from your computer, then click Upload file and import.

Import WordPress page.
Choose your file and begin the import process.

Keep in mind that you may have an upload limit that’s less than the total size of your WXR file. If this is the case, you can increase the upload limit by checking out the details in the post How to Increase the Maximum Upload and PHP Memory Limit in WordPress.

For Multisite, you can also increase the upload limit for the sites in your network by going to your super admin dashboard and adjusting the Max upload file size under Settings > Network Settings. Don’t forget to save your changes.

If you’re using a shared hosting account for your new site, you can also contact your host so they can adjust the upload size for you.

When the file has imported, some settings should appear.

You can either create a new user with the same username as the one for your WordPress.com blog or you can click the drop down box to choose from a list of pre-existing users to take over as the author of the content you’re importing.

If you have a pre-existing user that corresponds with the user of your former blog, it’s recommended you select them instead of creating a new account for security purposes.

For example, I have only one user for my new and old site and it’s me so instead of creating two accounts for myself, I can just select the one I already have in the drop down box.

Also, check the box to Download and import file attachments, then click the Submit button.

Depending on the size of your blog, the importing process may take a few minutes so feel free to take a short break while you wait. When it’s done, check to make sure all your content has been imported, including your images.

If your site doesn’t look exactly the same, don’t forget to delete the sample posts and comments that come with a fresh install of WordPress and also make sure you have the same or a similar theme installed and activated on your new site.

If your images aren’t showing up, then there was a glitch with the import process. This doesn’t always happen, but it’s known to happen from time to time.

Don’t panic. You can get your images back manually, by downloading them from your old blog, then re-uploading them to your newly migrated site or you can also try partitioning your XML file as detailed in this post WordPress Import Failed? Here’s How to Fix It.

Beyond that, you can use a plugin such as Auto Upload Images or Image Teleporter to automate the process or you can increase your upload and PHP memory limit.

You’re Ready to Go! So What’s Next…?

Once everything’s all said and done, your site should be migrated and ready to go.

An example site that has been migrated.
My example site has been successfully migrated.

Now, you can enjoy the freedom (and responsibility) that comes with running your own self-hosted WordPress site. You can have fun installing plugins to extend the functionality of your site or tweak your design as much as you want.

If you crave the familiarity of your old admin dashboard, you can install the free Jetpack plugin.

Redirecting Followers, Subscribers and Address

A new site isn’t any use if your followers can’t find you. Fortunately, there are options for you to direct your loyal fans.

If you had a free WordPress site address for your blog, you can redirect your users to your new site (and domain name) by going to Settings in your now former blog’s admin dashboard.

Then, under Site Address, click the redirect link underneath the text box.

You can easily redirect your old blog address to your new one, for a small fee.
You can easily redirect your old blog address to your new one, for a small fee.

On the next page, you can enter your new domain and checkout to complete the order and redirection. The price of the site address redirection is $13/year at the time this article was written.

If you’re looking for a free alternative, you could install the Jetpack plugin and transfer all your WordPress blog followers and email subscribers over to your new site, though, this doesn’t include social media counters. You can check out the details in the guide Moving Your Subscribers.

Superhero-Level Help When You Need It

Don’t forget: If you run into issues, you’re more than welcome to ask our expert support team for help and they’ll come to the rescue – like proper superheroes should. If you’re not currently a member, you can sign up for free.

Also, you can get details on how to manage your new self-hosted WordPress site, by checking out our Academy for free courses and these other posts as well:

There’s also an alternative to transferring your blog on your own. If you would rather have the WordPress support team handle it for you, it costs $129 at the time this was written and you can check out Guided Transfers for details.

Jenni McKinnon
How did it go? Were you able to successfully migrate your blog? Share your experience in the comments below.