Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
25 Million+
Websites using our plugins
Years of WordPress experience
WordPress tutorials
by experts

How to Easily Move Your Blog from to

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

Do you want to move your blog from to

Many beginners start with but soon realize its limitations and want to switch to the self-hosted platform.

In this step-by-step guide, we will show you how to properly move your blog from to

Moving to

Why Move From to allows anyone to start a blog by creating an account.

However, beginners soon realize that there are a lot of limitations on their free blog, like the limited ability to monetize, can’t install plugins, third-party ads displayed to your users, and more.

This is why users often switch to the more powerful and popular self-hosted platform.

To understand the differences between the two platforms, see our complete comparison of vs.

We recommend using because it gives you complete ownership of your website and the 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 look at how to migrate your blog from to properly.

Things You Need Before You Start

To start with self-hosted, you’ll need a WordPress hosting account and a domain name.

We recommend using Bluehost because they are one of the largest hosting companies in the world and an officially recommended WordPress hosting provider.

They are also offering WPBeginner users a free domain name and a huge discount on web hosting. You can get started for $1.99 / month (and this also includes free SSL).

You’ll still need web hosting if your WordPress site has a custom domain name. Go ahead and sign up with Bluehost, and under the domain step, add your blog domain.

In the later steps, we will show you how to keep the same domain while transferring from to without losing search rankings.

Aside from the hosting account, you’ll also need access to your account to easily move your posts, pages, images, comments, and other data over to your self-hosted WordPress site.

Bonus Free Offer: Since many of you asked for this, we are now offering a free migration service from to as part of our free WordPress blog setup service. During this guided transfer, one of our expert team members will do the entire migration for you (100% free). This means you can switch from to without any risk.

However, if you like learning and doing things yourself, you can follow our step-by-step tutorial below.

Video Tutorial

Subscribe to WPBeginner

If you’d prefer written instructions, then just keep reading.

Step 1: Exporting Data From

First, you need to sign in to your site and go to your account dashboard.

From the left column, you need to click on the Tools » Export menu and then click on the ‘Export All’ button.

Export all content from

This allows you to export your WordPress site. Once the export file is ready, a download link will be visible. You can click to download the zip file on your computer. will also email the link to your email address.

Downloading export file

Once you have downloaded the file to your computer, you need to unzip it.

Inside it, you’ll find an XML file with all your posts, pages, images, comments, custom fields, categories, tags, navigation menus, and other data.

Step 2: Setting Up WordPress

Now that you have exported your data, setting up a fresh WordPress install on your web hosting is next.

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, if you choose a different hosting service, then 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 a Self-Hosted WordPress Site

To import your old site content to your new site, you will need to log in 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.

Install WordPress importer

WordPress will now install the WordPress importer for you.

Once it’s done, click on the ‘Run importer’ link to continue.

Run importer

It will take you to a screen where you will be asked to upload the XML file that you downloaded in step 1 of this tutorial.

Click on the ‘Choose File’ button to select the file, and then click on the ‘Upload file and import’ button.

Upload import file

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 can assign imported content to an existing user or create a new user.

You’ll also have the option to import file attachments. You must check this box so your image files are correctly imported.

Import options

Step 4: Importing Your Blogroll Links

If you have been using the Links feature on your 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.

WordPress does not natively support the blogroll feature. If you don’t have too many links in your blogroll, then see our guide on how to add blogroll links in WordPress without using a plugin.

However, if you have too many links or you would like to keep the blogroll functionality, then continue reading.

Blogroll links are exported in OPML format. It is an XML format that allows you to export and import your links and link categories. Your links have an OPML file located at an address like this:

Replace the example with your blog’s subdomain.

If you are using a custom domain with your website, 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.

Blogroll export file

Now that you have a backup of your 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 it hasn’t been updated in many 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’.

Link manager enabled in WordPress

Next, you need to install and activate the OPML Importer plugin. This plugin enables a new importer tool that allows you to import blogroll links.

Upon activation, you need to visit the Tools » Import page and click on the ‘Run Importer’ link below the Blogroll importer.

Blogroll importer

On the Blogroll importer page, you need to upload the OPML file you saved earlier.

Click on the ‘Choose File’ button to select the file, and then click on the ‘Import OPML File’ button to continue.

Importing blogroll

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.

Successful completion of blogroll link import

Step 5: Setting Your Blog to Private

Now, if you don’t want to redirect your old users to your new site, this will be your final step.

First, visit your old blog’s dashboard. From the left menu, you need to click Settings » General menu and scroll down to the ‘Privacy’ section.

Set WordPress,.com blog to Private

From here, you need to select the ‘Private’ option and then click on the ‘Save settings’ button.

This will make your old blog private, and it will only be visible to you or other logged-in users that you approve.

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 by 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 the new location with the 301 header is a standard solution to keep search rankings while moving a site from one place to another.

Since you don’t have access to the .htaccess file on, you cannot make any changes to retain search engine rankings.

However, offers a paid upgrade feature called ‘Site Redirect’, which provides this functionality.

Simply go to the Site Redirect page. If you have multiple sites on, you will be asked which one you would like to redirect.

Select blog to redirect

On the next screen, you will be asked to provide the domain name where you want visitors to be redirected. Enter your new 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 blog’s visitors and search engines to your new site.

Purchase site redirect from to

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, two 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, those links must be updated. You can use our article on how to update URLs when moving your WordPress site.

If you have a custom domain on, you don’t have to worry about anything. Simply change the DNS record to your host, and you will retain all the SEO benefits.

Frequently Asked Questions (FAQs)

We wrote the first version of this article in January 2013. Since then, we’ve received tons of great questions. We’ve answered a lot of them via email or in comments, so we thought it would be nice to compile the popular ones in one place where everyone can see them.

What happens with my Subscribers?

Thankfully, allows you to migrate your subscribers with one condition. You must use their Jetpack plugin, which adds the same subscriber functionality that you had at

Once you install and activate the Jetpack plugin, you will need to contact the team and ask them to migrate the subscribers for you. We hope that in the later versions of Jetpack, this will become easier, and users will be able to do it themselves.

Can you help me transfer from to for FREE?

Absolutely. We offer migration from as part of our free WordPress blog setup service. If you need our assistance, then simply sign up. It’s free :)

What are the costs of switching to

WordPress is free. However, there are some minimal web hosting costs. We recommend that you read this article on: Why is WordPress free? What are the costs, and what is the catch?

I already paid Can I get a refund?

Yes, you can. If you recently purchased a custom domain or a paid plan from, then you can ask them for a full refund.

Note: Domain registrations can be canceled within 48 hours of registration. Plans and other purchases can be canceled within 30 days of purchasing.

Will my images break?

No, they will not. When you transfer using the import file, all attached images are downloaded, and the link is updated.

However, there is one caveat that we noticed. If your image URL starts with, then they will not be converted. If you notice that the image URL has not changed and still points to, we recommend that you use the import external images plugin, which will take care of that.

I registered my domain through Can I still move?

Yes, you can. WordPress believes in empowering users and giving them complete control of their content. If you already have a domain name through, then all you need is a web hosting account.

We recommend that you set up with Bluehost or any of these other WordPress hosting providers. During the signup phase, you will be asked if you have a domain or want to register a new one.

Simply select the option ‘I have a domain name’, and insert the domain you registered at

The next thing you will have to do is change the nameservers to point to the hosting provider. We can assist with this as part of our free setup service. You can also ask your web hosting provider for support.

Will my website go down when I switch?

If you do it correctly, then NO. The method we’ve suggested above will ensure that your website never goes down. If you are worried, then know that we are here to help. You are welcome to use our free setup service at any time.

Can I add an online store to my website?

Yes, you can easily add an online store to your self-hosted website without any additional costs. Since Bluehost and other popular web hosts offer free SSL certificates, you simply need to install a WordPress eCommerce plugin to add an online store.

What are some of the must-have WordPress plugins that you recommend?

Now that you have switched to self-hosted, you can install as many plugins as you like.

Here’s our recommended pick:

  • AIOSEO – to improve your website’s SEO rankings (used by 3 million sites).
  • WPForms – to add a smart contact form on your website (used by 6 million sites).
  • SeedProd – to easily customize your landing pages with drag & drop builder – works with all WordPress themes.
  • MonsterInsights – to see how people find and use your website. It’s a must-have for bloggers and small business owners.
  • PushEngage – to connect with visitors after they leave your website.
  • Duplicator – to create daily backups of your new website in case of emergency.
  • OptinMonster – to help you get more email subscribers and succeed in your blogging journey.

Aside from these, we also recommend looking at our expert pick of the must have WordPress plugins and useful blogging tools to manage and grow your blog.

You can install all of these plugins from inside your WordPress dashboard. We have created a step-by-step guide on how to install a WordPress plugin.

I want to change my site’s WordPress theme, can I do that?

Yes, you can change your WordPress theme at any time. Another big benefit of switching to is that you get additional customization options and a larger collection of themes to choose from.

In your WordPress admin sidebar, click on the Appearance Menu dropdown and select ‘Themes’ to install a theme.

We have hand-picked some of the best themes to help users avoid choice paralysis. See our guide on the best free blog themes and best multi-purpose themes for WordPress.

You may also want to see our guide on how to properly change a WordPress theme.

We hope this article helped you properly move your blog from to You may also want to see our checklist of the most important things you need to do after installing WordPress and our ultimate guide on increasing your blog traffic.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

1,232 CommentsLeave a Reply

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Monik says

    Hello, I want to use wpbeginner free blog setup
    but I guess I won’t be qualified because I didn’t sign up with the coupon, if I know sooner :(

  3. Sue Coletta says

    I pay for two domains, a new one for my static page and one for my blog. When I switch to .org, can I bring both domains with me? Or should I do a redirect for the blog domain?

  4. Christie says

    Hi i opened a new browser at localhost/mysite ( in this case i used the name testsite so it became localhost/testsite but it never prompt me regarding the wp configuration. it showed ” index of /testsite and a list of items.

  5. harto says

    Hi, nice explanation
    I have a question though, if have more than 300 posts in my old wordpress blog.
    Will that be a hassle at export and import to new self-hosted blog?

  6. Malak says

    Am a bit confused here.. I followed the steps above, I have my domain registered with bluehost, installed WP, exported n imported to my new domain, didnt do the private bit tho but how do i know that’s it’s

  7. Jeremy says

    If my site is on, but it has its own name ( not, there should be no need to do the 301 redirect from the wordpress store, correct?

  8. Kim L says

    If I export just my posts from to…how will it affect followers in bloglovin”? If I just change the URL in Bloglovin’ will it direct them to the new blog??

  9. Amymarie says

    So I think I have the same problem as Thao Tran, but with a twist. I registered a domain name with I transfered the domain to host gator using your instructions. Now I have a blog AND a .com blog. And they both say at the bottom they are from, which I assumed would be gone if I did the transfer correctly.


  10. Brad says

    The biggest concern I have about switching from .com to .org is moving my current list of subscribers. I have read many horror stories from users who lost their subscriber base after moving. Is transferring subscribes included in your free setup? Has the functionality of jetpack been improved?

    Second concern I have is email distribution of new articles. Does this function the same way as the .com where wordpress sends out a email, or is it required that I now subscribe to an email service such as constant contact or mail chimp?

    • WPBeginner Support says

      If you want you can continue using JetPack on a self hosted WordPress site. However, it will limit you to what emails you send to your subscribers. Using an email service like MailChimp will enable you to send emails to your users whenever you want. You can also set up RSS to Email which will send out your new posts to subscribers.


  11. Jordan says

    I want to switch my blog host from to If I already have a domain name, do I still have to worry about site redirect? Does it not just redirect automatically to the website hosted by after that? Sorry, I am not really savvy about this kind-of stuff!

    • WPBeginner Support says

      We do not offer redirect service. Only can offer this service. Please login into your dashboard and visit store to purchase the site redirect upgrade.


  12. Shiva says

    I have confusion in selecting blog among blogspot, and would be the best one?

  13. Bernardo Ruas says

    If I use this tutorial will my blog look exactly the same after moving it to a hosted domain?

    • WPBeginner Support says

      It actually depends if you can find the theme you were using on for self hosted WordPress sites. Most of them are available for self hosted sites as well.


  14. Somsubhro Chatterjee says


    I’m about to move my blog from to I have already exported the xml fine, but I have no idea about the editors, writers and contributors. Will they be moved along with the blog, or do I have to add them once again?

    Please help!

  15. Linda says

    I want to switch my site from to using the same custom url. Is there a way that I can “stage” my site at my url so that I can work on it for a while before taking it live at my main website address?

  16. ugwuegbulam Anthony says

    i have make the bluehost purchase and request for the blog transfer from .com to .org please how or when do i know it has been setup. would be grateful if my request is worked on

  17. Emerance Gascon-Afriat says

    At which point should I move my site? Is a new web host going to be more expensive?

  18. Laura says

    I am already using a custom theme. Should I re-download the theme after loading wordpress at my new host and then upload my current content, or upload the content and then the theme?

  19. ugwuegbulam Anthony says

    please can you help me move my site from to .org the site i need help with is though a have a domain but dont have a host

  20. Lisa says

    I had Bluehost migrate my wordpress to self hosted. I was able to reconnect my Facebook connection but it will not let me reconnect Twitter. It says -Invalid/missing verification nonce. Can you tell me what I should do next?

  21. Casey Young says

    The one thing I would advise to include in this article is the whole 60 day rule. If you’ve just joined and want to transfer to through a self hosted site, you need to have the domain with for at least 60 days first, though you can have the servers pointed to the new host, but still. I learned the hard way and it cost me more money to fix the issue.

  22. Pier says

    Hi there,

    I had a WP hosted domain and migrated it to org. I followed all the steps, including hosting setup with Bluehost, and eventually received WP’s confirmation e-mail that everything is now up and running.

    However, I’m not sure the migration has successfully completed. For example, in my WP Admin panel I can’t see the “Plugin” tab. This may be due to the fact that, when setting up the user name for the self-hosted site, I used the same one I had for the previous.

    Would you kindly advise on the actions needed?

    Apologies for dumb questions -I did read this page and others plus Q&A but couldn’t find an answer.

    Thank you.



  23. Yuthika says

    i have installed wp on the company server and got the admin login details as well, when trying to post a blog, i don’t get the appearance tab to change the theme.please help.

  24. Julie Stock says

    Hi, I used your guide to help me transfer my site to and it has been mostly successful! I’m struggling with how to show the likes and shares I had on my posts on I’ve imported the whole file and the posts are all there and the buttons are showing but just not the likes/shares totals. Any ideas on how to get them to show please? Thank you.

    • WPBeginner Support says

      Unfortunately, likes are non-transferable. However, if you were using a custom domain on your old blog then your Facebook Shares and Tweets will automatically show up.


  25. Colleen says

    This has been so helpful! I think I did everything right, but my site still shows up as…how can I be sure that everything worked? Thanks so much!

    • Michael says

      I’m having the same issue. Followed these steps but can’t login to my “.org” site or anything to begin picking a theme or importing my XML file because my WP admin still takes me to the site.

  26. Caitlin says

    Hi there! Super helpful post! I just followed your tutorial, and it made perfect sense to me. All up to the end of step three, where you guys make it sound like we’re done.. except nothing happened on my site! A few of my images transferred, but that’s about it.

    I’m thinking that perhaps the size of my file is the issue. My site is rather large (~8.5MB), but my web hosting has unlimited transfer, and has a limit of 100MB. Despite these things, could this be the issue? If so, I understand I can split the file up into pieces. My question is, how do I clear the original import so that I can start from scratch and import the pieces? Or do I not need to?

    Or, if there’s something I missed or perhaps another issue I should look into, I would love those thoughts as well. Thanks so much!!

  27. Ajay Sood says

    I just migrated my blog from to self-hosted. How do I migrate my ‘Likes’ from old blog to me new self hosted site?

  28. Gemma says

    Hey there,

    I just moved my .com blog to .org and it all seemed to work correctly except the template I bought did not cross over. Is there a way to bring that over as well?

  29. Rachel says

    Hi there

    I just migrated my site from to being selfhosted.

    I am using the same custom domain I purchased through when I setup my site.

    Does that mean I still have to set the site to private after the migration? Or is that step not relevant because it is on the same domain?

    Also, will this migration mean my site has duplicate content on the web that could affect my SEO?

    Any advice is appreciated.



    • WPBeginner Support says

      When you change your domain’s DNS server, it will start pointing to your new self hosted site. However, it is still a good idea to set the old blog to private and avoid duplicate content penalty.


  30. sabrina says

    I did the change and everything seems to be fine, except that all my photos that were in galleries on my posts arent there. if it wasnt in a gallery and just uploaded into the post by itself the picture transferred. is it something i did or do the galleries just not transfer?

    In my media library all of the photo files arent there, however as i said, there are most of the photos up on my posts. is this a problem too?

    the last thing is that when i try to upload a photo to my wordpress now, it gives me the error http error. do you know what this could be from?

  31. Jen says

    I just followed your great instructions for exporting my .com blog .org but am having some issues!
    The photos have come across, as well as the tags and categories, and about 5 comments (out of 100s!) but no posts!
    Do you know why this might and how I can rectify it?

  32. Jen says

    I just followed all your steps, and I have the images from my old blog now, but can’t find the posts! Do you know why this might be?

  33. Andrew Phillips says


    How come after installing wordpress from Softaculous, it’s routing me to log into my account still?

  34. Ilia Mura says

    I would like to switch my domain from .com to .org. I have already purchased my domain with (basic package for £99/year). Will I still have to pay for redirect if I move the same domain? It shouldn’t change anything because the domain will stay the same?

  35. Gabriel lucatero says

    I’d like to make my blog, into a self hosting blog. I read and watched your video, but I don’t quite understand it. When I am ready to move, should I first get a Bluehost account and then transfer all my info there?
    I want to be able to have the same web address.

  36. Josiah Skeats says

    I’m confused how to move my blogroll using the OPML importer.

    Any advice, or another article?

  37. Sian says

    I have a blog, I exported and followed all the steps to import into my new interface but there’s no WXR file. Help?

  38. Christine says

    At what point in the process do I change nameservers?
    And using the same wordpress domain that I paid for means I don’t need to pay for a redirect, correct?

  39. Scott says


    I followed your steps exactly, but after importing the xml file, I got a few error messages like “Failed to import jetpack-portfolio-type Buisness”, “Failed to import jetpack-portfolio-type Landscapes”, and so on.

    After the import is complete, there are still no posts, pages, comments, etc. Also, there are only about 30 pictures (current site has around 300). What am I missing??

  40. Laura says

    Does your free set-up service apply to people who already have a blog and domain and just want to get it set up on bluehost/ I am having some trouble migrating my to . . . Thanks:)

  41. Febriyan says

    If I only want to transfer some posts from old to the new, should I do redirect? If I am not redirect it, would it mean that I need to set from starts all aboout the alexa rank and every thing else like the stats?

  42. Karen says

    I have paid for a premium account for a year (3 months to go) will I lose that money if I transfer to Should I wait until the year is finished and then transfer?

  43. Hayley says

    I have paid for a theme on
    If i change over to .org will i still have the same theme?

    • WPBeginner Support says

      Some themes on are also available for self hosted site. Visit the theme’s page on and look for a link that says ‘Download for Self hosted’ or contact support.


  44. Diana Brafford says

    Would you suggest paying for the redirect if I will be using the same domain name? And do I need to have the old site on private or public if I’m using the redirect feature? Thanks!

  45. Brick ONeil says

    I currently have a domain and I pay a few fees, personal domain name, redirect and some fees with godaddy. I’ve had several advertisers ask to buy spots on my website so I am considering moving to Do I still have to pay the previous fees I do now with and godaddy if I move to .org? I’ve been with bluehost years ago, so I am familiar with them.

  46. Thao Tran says

    Hello, I have a blog and domain and now I am moving it to Bluehost. All of the contents are fine but I have troubles with the domain.
    – I use the temporary URL to install wordpress
    – I changed the name server in to the bluehost and got confirmation from that my domain is successfully transferred away from
    – I got confirmation from bluehost that my domain transfer is completed
    – I change the primary domain in my old blog ( to

    BUT, when I changed the domain in Setting -> General in my new host to the actual domain that I bought from, it always redirects me to and when I try to log in to the control panel, it redirects me to the dashboard too.

    Please help me, I don’t know what to do.

    Thank you!

    • WPBeginner Support says

      Seems like your domain is still pointing to the nameserver. Check your site’s DNS settings to make sure that your domain is using BlueHost nameservers. Contact support team if you need help setting it up.


Leave a Reply to WPBeginner Support Cancel reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.