Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
WordPress Plugins
View all Guides

How to Properly Move Your Blog from to

Last updated on by
Special WordPress Hosting offer for WPBeginner Readers
How to Properly Move Your Blog from to

Ok so you’ve been a user of for a while now. Things have been pretty nice so far, but you’ve come to a point where you’re ready to go beyond You want to install plugins and customize your themes. You want to really start monetizing your site and be in full control. Well you are at the right place. While today’s article won’t discuss the differences between and, we will take a look at a question that a lot of users have been asking us: how to move your existing blog to a self-hosted site. In this step by step tutorial, we will show you how to properly move your blog from to We will cover how to transfer all of your content to a site (yes this include images). We will also cover how to keep all of your search engine rankings along with how to redirect your existing users to your new site. Are you ready? Let’s start transferring your blog over to your new self-hosted site.

Things You Need Before You Start

You will need to have a domain name and a good web hosting company that knows WordPress. We highly recommend that you use Bluehost because they will give you a free domain and 50% off their hosting plan (special for WPBeginner users). Bluehost is also an officially recommended hosting provider of WordPress.

If your WordPress site already has a custom domain name, then don’t worry. We will cover that as well. Lastly, you will need access to your account, so you can easily move all of your posts, pages, images, comments, and other data over to your self-hosted WordPress site.

Before you get started with this migration tutorial, we want to let you know that we can migrate your site for FREE as part of our Free WordPress Blog setup service. This will be less hassle for you, but if you are someone who likes learning and doing things yourself, then follow our step by step tutorial below.

Video Tutorial

If you don’t like the video or need more instructions, then continue reading.

Step 1: Exporting Data from

Sign in to your account and go to your blog’s Dashboard. Click on Export under Tools menu.

Export Tool in

Clicking on the Export tool will take you to a new page where you will be asked to choose between Free or Guided Transfer.

Free or Guided Transfer from

Choose the Free option by clicking on Export. On the next screen you will be asked which data you want to export. Select “All Content” and press the Download Export File button. An XML file will be downloaded in your computer which will contain all of your posts, pages, images, comments, custom fields, categories, tags, navigation menus and other information.

Exporting data from in XML format

Step 2: Setting up WordPress

Now that you have exported your data, the next step is to set up a fresh WordPress install on your web hosting. WordPress is very easy to install, and it only takes a few clicks. We have a 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 Self Hosted WordPress Site

To import your old content from to your new site, you need to click on Tools » Import option in your self-hosted dashboard.

Importing content into

Next click on WordPress. You will be asked to install the WordPress Importer plugin. Once you install it, activate and run the importer plugin. It will take you to a screen where you will be asked to upload your XML file that you downloaded in step 1 of this tutorial.

Import WordPress

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 will have the option of assigning your old content to a current user or create a new user. You’ll also have the option of importing your old attachments (you want to make sure that you check this box to ensure that your images are imported).

Step 4: Importing Your Blogroll Links

If you had been using the Links feature on your blog to store blogroll or other links, then you need to follow these instructions to export and import them. Users who were not using this feature can skip to Step 5.

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

Replace example with your blog’s subdomain. If you are using a custom domain with your blog 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.

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.

First thing you need to do is install and activate the Link Manager plugin. The plugin’s page says that it hasn’t been updated in last two 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’.

Links manager in WordPress

Your WordPress site is now capable of managing links and blogrolls and you can safely import them. Visit Tools » Import and click on Blogroll to install the OPML importer.

Blogroll Importer

Upon installation you will be redirected to the importer. Where you need to upload the OPML file you saved earlier and click on import OPML file button.

Importing an OPML file in WordPress

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

The final step would be to set your blog to private. If you don’t want to redirect your old users to your new site, then go ahead and follow this step. Go to the Reading page under Settings tab, from your Dashboard and select the last option, “I would like my blog to be private, visible only to users I choose”.

Making a Blog Private

Attention: If you have been writing for sometime, 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 in Google and other search engines. You should keep all the search engine juice and easily redirect your old users to your new blog.

Step 6: Redirecting Visitors and Preserving SEO

Redirecting users to new location with a 301 header is the standard solution to keep search rankings while moving a site from one location to another. Since you don’t have access to .htaccess on, you can not make any changes by yourself to retain search engine rankings. However, offers a paid upgrade, Site Redirect, which provides this functionality.

Go to blog’s dashboard and click on the Store menu item. The upgrade you are looking for is called Site Redirect. At the time of writing this tutorial, this update was reasonably priced at $13 USD per year. This upgrade provides 301 redirect which allows your site’s visitors and search engines to be automatically redirected to your new site. site redirect

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, we personally think that 2 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, then those links have to be updated. Use our article on how to update URLs when moving your WordPress site.

Frequently Asked Questions (FAQs)

We wrote this article in January 2013 and since then we’ve received tons of great questions. A lot of which we’ve answered via email or in comments, so thought it would be nice to compile it at 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 Jetpack plugin which adds the same subscribe functionality that you had at Once you install and activate the Jetpack plugin, you would need to contact the team and ask them to migrate the subscribers for you. Our hope is 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 signup. 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?

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, then we recommend that you use import external images plugin, and it will take care of that.

I registered my domain through, can I still move?

Yes you can. WordPress believe in empowering users and giving them full 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 setup with Bluehost or any of these other WordPress hosting providers. During the signup phase, you will be asked do you have a domain or want to register a new one. Simply select the option that I have a domain name, and insert the domain that you registered at Next thing you would have to do is change the nameservers to point to the hosting provider. We’re able to assist with this as part of our free setups 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’re worried, then know that we are here to help. You’re welcome to use our free setups service at anytime.

We hope that you found our guide on switching from to self-hosted to be helpful. If you have any questions, then please let us know by leaving a comment below.

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »


  1. Alisha says:

    If I move my blog to, will I be able to add a new theme that’s available for or no?

    • WPBeginner Support says:

      Yes, you will be able to install any WordPress theme available on as well as themes sold by third-party theme shops.

  2. Hania says:

    Hello, I’ve discovered your website and your offer of moving wordpress site from .com to .org too late!
    I did this all without backup and export and it looks that I’ve lost everything what was there before.
    I’ve heard so many times that nothing is ever lost in internet – is there any way to recover my posts? Thanks in advance

    • WPBeginner Support says:

      If you login to your account you should still be able to access your content.

  3. Kerry says:

    Do external links work through redirect?

  4. Shalini says:

    Hi Team,

    My blog domain was registered with WordPress last Aug 2014. It got auto-renewed on July 2015. I would like to move to self hosting. Could you please let me know if the package will be downgraded or will I be getting a payback. Solutions please.

  5. praveenb says:

    Hi Sir, First of all Thank you so much for wonderful tutorial. I’m able to move my blog website to personal domain name. Wonderful, Till read your page I thought that, its a not possible for me, but i made it now myself with your wonderful blog. :) Very much pleased to read whole website with helpful links, videos, and your valuable suggestions in between.

    Thank you again.

  6. Jacqueline Bland says:

    I just went through the step to move from to I received the email to say it was successful. Now what??? HELP!!! I am ready to start using plugins, etc. Where do I find the switch?

  7. Julio says:

    I want to ask about how to install, because from my web hosting (namecheap) I do not have access to my cpanel!!!!. I have a page in and I need to install a commercial theme, but I have understood that it is better if you have If the next step is to set up a fresh WordPress install on my web hosting, How can i get access to the cpanel?

  8. Jessica says:

    I recently moved my blog from to self-hosted. I’m using the same domain but transferred it and pointed it to my new server (I use OVH). My self-hosted site seems to be running fine except for the Blog page, which loads super slow. I noticed that when it’s loading the browser says it’s transferring data from my site. Do you have any tips on how to fix this? Thanks!

    • WPBeginner Support says:

      If you are using JetPack plugin then it could be loading things from servers. Locate the scripts that are being loaded from using the Inspect Element tool in your browser. Try to find out whether its a plugin loading those scripts or your WordPress theme. Then you can deactivate that plugin and find an alternative.

  9. Laura says:

    I have migrated my site and everything moved ok but the images. I tried the Import External Images plugin and it just says there is nothing found even though well over 100 of my images and files are just external links back to the old site. Any other suggestions? Or do I just need to go digging through old files and re-upload everything manually?

  10. ron barnes says:

    I have an interesting situation; i signed up for, and got the premium package with a ‘.me’ domain. i would like to get more liberty with my customization, so i want to move to someone like bluehost, which i have heard good things about. I have only had my blog for less than 2 weeks, but i have the option to cancel it within 30 days.

    if i go to bluehost and port my domain to them, which i got through, then i will presumably have it after i cancel my subscription. i don’t feel so good about that, since it feels like i would have gotten my premium domain for free (if it would even work), though that wasn’t my intention.

    if i cancel it without trying to port my domain name over to bluehost, then that domain name, which i really like, is lost in the abyss, right? or wrong?

    obviously, i want to keep the domain name, and nix the stifling atmosphere of

    • WPBeginner Support says:

      You need to contact support. They can downgrade your package and then you can only pay for the domain name.

  11. Cathy says:


    I am interested in your free WordPress Blog setup service. Though, I have some blog posts that are scheduled to be published in the future dates, will you be able to move them as well?

  12. Harry says:

    I want to ask about permalinks. default permalink is /year/month/date/postname so I need to make same format for new selfhosted right? there is no way to make only /postname/ ?? I read some articles that /postname/ is the best permalink for SEO.

    • WPBeginner Support says:

      You can make /post-name/ but that would require you to setup complex redirects to make sure all your posts retain their SEO rankings and are not giving 404 errors.

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.