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. Inge says


    I followed all the steps on the tutorial to move my already finished website to a website, using a new domain name and host. Everything seems to look exactly the same as on the video and it all seemed to work out, except at the very end… after importing the exported file from my to my, I do not see my website appear as I am used to when it was still a site… Instead I see a ‘hello world’ page, in which it seems I have to start all over to make the website. Do I need to install a plugin for this? Is it costing me money eitherway to move my website to my own domain? (on which I installed WordPress?) It seems like the pages have imported succesfully, but I cannot see any content. No images, no text… Can anyone help me out?

    Thank you!

  3. Joe Johnston says

    I followed the instructions in this tutorial. I bought a domain name and hosting plan and transferred my blog there as per these instructions. I also purchased a 1 year site redirect. Everything worked, except for all the ”likes” that my posts use to have are no longer showing. I wish this tutorial would have mentioned that, as I would not have transferred my and paid for site redirect just to have a bunch of posts that look like they have never been liked by anybody. I’m really disappointed, particularly in jetpack and the whole wordpress system that everything can transfer except for the ”likes”. It makes no sense…

  4. Terry says

    I have my domain, but no hosting yet. Can I build my site without having hosting in place already?

  5. Gray says

    Hi there!

    I just had a question that I cant quite find the answer to –

    If you have a custom domain name on and change that domain over to .org, will it hold it’s place in Google rankings? And thus is there any need to pay for redirect?

    Sorry if this is a silly question.

  6. Ricardo P Aquino says

    I bet this is your most read article. Thank you for the post! I’m in the middle of this precise process myself and your website had ALL the knowledge I could possibly need to get it done.

    Thank you!

  7. Emma says

    Hi! Question: I’m creating a new site for a client and they want to transfer their blog JUST to the “Blog” page on a new site I’ve created for them. Will importing the xml file override all the work I’ve done to create the other pages on the site? Or is it possible to import the blog JUST for the new “Blog” page?

  8. Charles Cornelius says

    Thanks for the article, but I’m lost at step 3. I’m sure I’m being very dim.

    I’ve done steps 1 and 2 Step 3 seems more of a leap, not a step, for me because clearly there’s more between steps 2 and 3 than meets the eye.

    Firstly, where is my wordpress dashboard at my self-hosted site? (I’m using Blue Host and I have installed wordpress on to it – although in the cPanel it still has the option to install wordpress there). The wordpress dashboard isn’t on cPanel – presumably I have to get to it using, but does this mean I must first redirect the nameservers from to bluhost? (I’ve already got a domain for my site which redirects to).

    Surely that means anyone visiting my site will see a blank page until I get the xml file uploaded and a theme installed.

    So what are the substeps between steps 2 and 3?

  9. Alex Ekkelenkamp says

    I’m having a bit of an issue. I’ve transferred my domain from to Bluehost, and installed WordPress. However, my admin link continues to bring me back to my dashboard as opposed to Now my site is simply not loading at all. What have I done wrong?

  10. Alex Ekkelenkamp says

    I’m feeling a little stuck, unfortunately. I’ve transferred my domain, installed WordPress on Bluehost, and accessed my dashboard. However, it is still the dashboard as opposed to Not sure what went wrong!

  11. Laureen says

    I did a transfer from to over the weekend. I was able to export the content of the blog, but I noticed the other day not all of the comments transferred. Could this be a glitch? I selected “All Content” on the export.

  12. Saleem says

    Thank you for such a great article! I have a question. I have my own domain for my account, when I move to self hosting and get my domain to point to the new host will I keep my rank in the search on Google or have to build it up again? Thank you.

  13. Suzanne says

    I have a question. If I have subscribers and they automatically receive my blog updates, would I still have to do purchase a redirect? Would my subscribers not automatically get my new web address in the email. If they then respond via the email would it should go to the new site would it not?
    thank you for your answer.

  14. Harriet Southall says

    Hi there, I am going to go ahead with your free set up service to move our blog over – seems like a great service to me! I just wanted to check, will the blog layout and theme stay exactly the same as they are on the live site right now? The blog is thanks so much for your help!

  15. WPBeginner Staff says

    Domain name and hosting are two different services. You can keep your domain name and use it with your self hosted WordPress site. Yes you can still benefit from our free blog setup service.

  16. Cath says

    Such a great article! Love the illustration too!
    I already have a domain name for my so I don’t need to buy one from your recommended providers. does this means I can not benefit from you free setup service?

  17. Nick Moutvic says

    Hi, I had a question… I followed your directions and everything went smoothly. The only issue I have is something I’m not sure can even be helped. My new site has a new domain, however my original blog name is still mapped so whichever you type in the url bar it goes to the same place. I had a few viral posts on my old site and would like to keep the shares and views numbers, is there a way to do that? Essentially now the ones that had over 3K shares now say zero underneath the post. I’d like it to show its real share count.

  18. kash says

    I just need to get this right, So if i do the site redirect.. will all my links be redirected too. For eg.. say i text someone a link to a blog post.. in future if they click it.. will it automatically go to the new site and the post?

  19. Jessica Barrett says

    I used this pages step by step instructions to try to migrate my blog over to the domain name and hosting I bought from It crashed, and now my blog is completely gone. Godaddy claims it’s working just fine? There is no website anymore. When I type in my domain name it says that it’s unavailable. It’s 1:15 am, I’ve been at this all night, I need to work in the morning. I have worked my tail off on this blog for months. Now, does godaddy or wordpress reimburse me for losing my followers, reputation, countless hours, etc. and having to start completely over? I’ve never been so angry in my life.

  20. vijetha says


    I bought my domain name from a year ago, and I continued to blog with Recently, with your post’s help, I moved to a self hosted option with blue host. I managed to trasnfer my domain name as well. I managed to transfer my content, images and even comments. I have 100 followers and statistics that I want to migrate to my current website. I know you said jetpack plugin is the only option but I tried activating the jetpack plugin and this is the error message I’m getting:

    Jetpack could not contact register_http_request_failed. This usually means something is incorrectly configured on your web host.
    Operation timed out after 30233 milliseconds with 0 out of -1 bytes received.

    I have tried getting in touch with the jetpack team and my web hosting people, but both of them are unable to help me out. Could you please tell me what can possible wrong and why I am not able to activate the jetpack plugin? Thanks.

  21. Monica says


    So I have a account, and would like to switch to bluehost. However, I want to change my domain name to something different, but still keep my blog content and everything. Do I do these exact steps or is there something different since I’m switching names? And, do I install JetPack on my new site and THEN transfer my followers over from my old site? (since my does not have any plugins, I am unable to get them). I saw that my comments will transfer over after I do JetPack, however, do my likes transfer over as well?


  22. Angela Mastrodonato says

    Hi! Thanks so much for the helpful tutorial. I know this is an old article, but if you have a chance, I was wondering if you could answer a question.

    What if I want to copy my site to a self-hosted site, but I don’t want my domain to point to the site until I have updated the theme and tested it to make sure I am happy with it?

    I want my visitors to go to the site until I am ready to direct them to the self-hosted site once I know the site looks and acts the way I want it to.

    Would I pick a different option at step 4 (change site to private)? And if yes, what option would I pick?

    And then what do I so when I am ready to point my domain to my self-hosted site? Do I simply pick “private” in Step 4?

    Thanks again!

  23. Muhammad Qasim says


    nice article
    but in case site has page rank, page rank will also shift ?


  24. Steve says

    Hi I have just transferred to .org from .com on WordPress. My question if anyone can help is that I had 94,300 “blog Stat hits” on my .com platform and now that I have transferred I seemed to have lost them as the widget is not in the .org widget line up. I really wanted to keep these stats as it has been a great advert to my readers on my progress…I am lost as to what to do?
    Cheers Steve

  25. annie lee says

    hi, this wasn’t as easy as it seems :( i think i may have a problem. when bluehost asked if i have a domain or want to register a new one i clicked that i wanted to register a new one when in fact, i already have a paid/registered from and i know i can just redirect if only i have chosen the first option. will this be a problem??

  26. Amélie-Marie Le Boeuf says

    Thank you for this helpful article. I am planning to do the maneuver soon, but I am worried about it ! I have a question (maybe a stupid one!) regarding theme I bought for my Will it work with a ? Not sure to be clear … thank you very much !

  27. Donnet says

    I am trying to import my site to my site. I have followed all steps up to this point. I had a coder friend install wordpress into Gandi who I am hosting with and he also imported my .xml file to import all posts but my images are not saved in my media library even though they are in the posts. Another fault I ave seen is that my image captions have been saved as a part of the body of the post rather than as captions. I have tried to re-import the .xml file from my side at the backend of my site. I check the box to import attachments and choose to use my existing username account and click continue but then I get an ‘error 503 service unavailable’ message after about 5min.

    Any suggestions?

  28. alistnz says

    I have successfully followed your tutorial and migrated my site from to BUT there is a problem.
    I transferred by FTP and your tutorial said to load the files in a directory called public_html
    But now my domain is empty and my site only shows on the url

    • WPBeginner Staff says

      Usually public_html is the root directory. However in your case it seems like you did not have a public_html directory. You need to repeat the process and this time upload WordPress files to your main root directory.

      • alistnz says

        Ok. So, if there is no public_html directory on the ftp server then you need to install direct to the root folder. Many thanks.

  29. Helena says

    Thank you so so much for this tutorial. It worked flawlessly and I am strutting around feeling so proud of myself for transferring so seamlessly! Thank you for this resource!

  30. Denise O'Meara says

    I just used this to successfully switch from to org in no time at all. Great post!

  31. Tk-amsterdam says

    Hi, i’d like to use your free migrate service, and therefor register at bluehost. But before I have questions:
    1 i purchased a theme template at…that will work on org as well?
    2 is there a waiting list? How soon could you move it?
    The site is

  32. Deandra Espagne says

    Hi, I’ve done the the switch from to but i’m having trouble import my old blog into this one. It keeps saying that the files already exist and I’m not sure what to do from there. Any help with that?

  33. says

    I’m completely new to all of this, but I’ve had my blog for a year now. I want to EVENTUALLY be able to do my own coding and change my theme, ads, fonts, colors, etc…as I learn. I just want to make sure that by switching from .com to .org, I’ll still have what I have NOW, and it won’t be a blank slate…Will I be able to just update and change things gradually once I move to .org?

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.