Themeisle content is free. When you purchase through referral links on our site, we earn a commission. Learn More

Have you made the decision to move from to a self-hosted 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

And if you follow this guide on how to migrate to (AKA self-hosted WordPress), you’ll be enjoying your new site in no time, with no loss of content.

Before you migrate to

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 to 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 to

  1. Export your existing content
  2. Import your content into your new WordPress site
  3. Check your site for any errors
  4. Redirect your site to your site

In detail:

Step 1: Export your existing content

Before you can import your existing content to your new site, you need to export it all from I’ll demonstrate how to do that with a rather ugly website I used back in my college days.

First, you need to sign into your WordPress blog and go to your WP Admin:

migrate to

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 to 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 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 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 so you can download them there and then manually upload them to your new site. Check out our guide on how to import images to WordPress for step-by-step instructions on that.

Step 4: Redirect your site to your site

Once you’ve ensured that all your content came through successfully, you should redirect your old 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 to, $13 is a small price to pay to maintain your traffic and search engine rankings.

To do that, go to the 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 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 site, you might feel like you’re missing some functionality when you migrate over. A good way to bring many of the best 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 to 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.

Free guide

4 Essential Steps to Speed Up
Your WordPress Website

Follow the simple steps in our 4-part mini series
and reduce your loading times by 50-80%.Β πŸš€

Free Access

Oldest Most Voted
Inline Feedbacks
View all comments
William Patterson
August 6, 2018 5:02 pm

This is all great and it works but one thing…how do you move all the users you have established as subscribers over to the new site? That seems to not happen when moving the site. Jetpack and support do not seem to help with this process. Is there something missing in the moving that needs to be checked? Maybe I missed the “use the same author” piece? If you have seen this and know the fix I would appreciate it. I use Bluehost as the new service and have used them for other wordpress site but this is the first one moving from (UGH)

January 5, 2018 9:04 pm

Hi Colin. Thanks for the tutorial. I imported my content to (bluehost). after importing, I got some media (images) but no posts. What could be going wrong? Thanks!

Or start the conversation in our Facebook group for WordPress professionals. Find answers, share tips, and get help from other WordPress experts. Join now (it’s free)!