skip to Main Content
Our free WordPress themes are downloaded over 5 MILLION times. Get them now!
Colorlib content is free. When you buy through links on our site, we may earn an affiliate commission. Learn More

How to Move Your Blog from to

WordPress is the most popular and versatile CMS out there, and there’s no denying that is an ideal blogging platform for webmasters who want to create a free blog in minutes., although free, comes with an array of limitations that permit users to leverage the CMS to its full potential and, for this reason, some users want to take their site to the next level and delve into its self-hosted version,

Making the switch from to may be intimidating – especially for users who aren’t as technically inclined as others. Keeping this in mind, we’ve put together a comprehensive guide to help webmasters move their blogs from to without running into any dead ends or risking losing their content.

Before we get started, let’s put this all into context. vs.

If you’re a WordPress newbie, you’ve probably heard about and (maybe even used them interchangeably). For sure, mixing them up from time to time is common in the WordPress community. Let’s get some things straight before we move any further.

What is falls under a commercial site that enables users to host their sites without charge. The underlying, open-source platform is the brainchild of Matt Mullenweg and his company, Automattic. With, users are exempted from paying hosting charges. They can, however, purchase premium themes to add visual appeal to their site.

What is is the place you go to get the WordPress CMS software from. Once you get the free software, you’re left to find an appropriate hosting provider and domain name on your own. comes with comprehensive documentation on almost everything you want to know about the platform and its usage.

Limitations of

In a nutshell: With, you get full control whereas with you get limited control over your WordPress site. restricts users from many of the features which are available in For instance,

  • The site’s URL will be long and unappealing.
  • Users can’t upload plugins.
  • Limited storage space allotted.
  • Restrained control over your site.
  • Users can’t access FTP client.
  • Users can’t monetize their site.
  • Users don’t own the site since they don’t pay for hosting.

With limitations like these, it’s difficult to make it big in blogging or take your online business up a notch. Now that you’ve taken to stardom, it’s time to move on to bigger things – starting with moving your blog to a self-hosted platform.

Before You Get Started

You’re probably convinced that is much more flexible and feature-rich than its free counterpart. However, before you can move on to the tutorial, there are a few things you’ll need to have in place. is a self-hosted platform which means that the first thing you’ll need is to have a domain name and sign up for a reputable web hosting service that acknowledges WordPress. The hosting company you ultimately choose will affect your site in the long run.

I wholeheartedly advocate Bluehost hosting service for WordPress sites. The Shared Hosting plan is a great way to start with without breaking the bank. In addition to the low-costs, you’ll also get the following benefits:

  • A free domain.
  • 1-click, hassle-free WordPress install.
  • 24/7 premium support from Bluehost’s customer service representatives.
  • 30-day money back guarantee.

Signing up for Bluehost is a no-brainer; it’s a reliable, cost-effective hosting provider with all the features you’ll need to start out with a self-hosted platform and a dedicated support staff to help you out in case you run into any difficulties.

Note: If you’re unsure how to set up your domain name and hosting service with Bluehost, follow Step 3 in our post How to Start a Blog From Scratch.

You’ll also need to access your account to transfer your blog’s content (images, posts, pages, and other such data) to your brand new self-hosted site. Make sure you have your account’s login credentials handy.

Now that we’ve gotten the preliminary steps, let’s move on to the tutorial.

How to Move Your Blog from to

Moving your free blog site to self-hosted might not be a cakewalk but it isn’t all that complicated either. This section will walk you through five simple steps to make the transition.

Step 1: Export Data from

Transferring data from your site to your new site is a nearly painless process thanks to the utterly useful Export tool.

  1. Login to your site’s account.
  2. Navigate to Tools > Export from the WordPress Dashboard.
  3. You will be re-directed to the Export You will be prompted to choose between the free Export option and the Guided Transfer.
All content
Select All content from the Export screen.
  • Click on the free Export
  • On the following screen, you will be prompted to Choose what to export. Select the All content
  • Click on the Download Export File button to proceed.
  • Once you press the button, you’ll notice that an XML file is downloaded to your computer’s drive containing all of your site’s posts, pages, comments, custom fields, terms, navigation menus, and posts.

    Step 2: Configure Your New Site

    Remember that we might receive a commission if you decide to purchase through these links.

    If you’ve already set up your domain name and hosting service with Bluehost following the above-linked guide, it’s time to install WordPress.

    1. Login to your Bluehost cPanel using the login details emailed to you by the hosting provider.
    2. Once you’re logged in, navigate to the website section from the homepage and click the Install WordPress button.
    Install WordPress
    1-click WordPress install
  • On the following screen, you’ll be provided with important information about WordPress. Give it a quick read and click the Install button in the top-right section of the screen.
  • Install
    Click Install to continue.
  • Select the new domain name you’ve just registered (or your pre-registered custom domain name) and click the Check Domain button to proceed.
  • Add domain
    Select your blog’s domain name from the drop-down menu.
  • Enter your site’s information and your admin login credentials in the next screen to complete the installation.
  • Install button
    Click Install!
  • Click Install Now.
  • Now that we’ve successfully installed WordPress to our new, self-hosted blog, it’s time to log in to your blog and import the XML file. Using the credentials specified in the fifth step, log in to your self-hosted blog’s WordPress Dashboard.

    Step 3: Import Data to Self-Hosted WordPress Site

    In this step, we’ll import the data we previously exported from the site to the self-hosted, site.

    1. Navigate to Tools > Import from the WordPress Dashboard (from the new site).
    2. You will be re-directed to the Import screen. Click the WordPress link to import data from a WordPress export file.
    WordPress link
    Click WordPress to import data.
  • In the following screen, you will be prompted to install the WordPress Importer plugin.
  • Install and activate the WordPress Importer plugin.
  • Once the plugin is installed, you will be asked to upload a WordPress export file. Click Choose File and browse your computer’s drive to locate the XML file that you previously downloaded.
  • Upload XML file
    Upload the XML file.
  • Click Upload file and import button once the XML file is uploaded.
  • At this stage, you may run into a memory issue i.e., your XML file size exceeds the maximum size permitted by WordPress. To resolve this issue, follow one of the below-mentioned solutions:

    • Submit a ticket to your web hosting provider requesting them to increase the maximum upload limit or import the XML file for you.
    • Split your exported XML file using the WXR File Splitter and import the files one by one.
    • Upload a custom php.ini file to your WordPress site’s root folder via the Bluehost cPanel File Manager with the following line added to it (10M stands for 10 Megabytes):

    upload_max_filesize = 10M

    • Add the following two lines to your WordPress site’s .htaccess file:

    php_value upload_max_filesize 10M

    php_value post_max_size 10M

    Note: You can replace 10M with a different file size based on your XML file’s size.

    1. Once the XML file is imported onto your new installation, you will be prompted to select a user to assign the old content to. Choose the user as per your requirements.
    2. Be sure to select the option that enables you to import your old attachments. This guarantees that your site’s audio, images, and other media files are also imported.

    At this point, you’ve safely moved most of your data from to As an avid blogger, you might have had a whole blogroll set up on your free WordPress site. If that’s, you then continue to the next step; if not, you can skip to Step 5.

    Step 4: Import Your Blogroll

    By default, WordPress exports all links in Outline Processor Markup Language (OPML) format, a type of XML format that specifically caters to outlines such as blogrolls.

    Those of you whose sites used the Links feature to organize, and group links (in the form of a blogroll or otherwise) can follow these steps to import the relevant data to their blog.

    1. Locate your site’s OPML file by visiting the following link:
    2. Once the OPML file opens in the browser, save it to your computer’s drive.
    3. Login to your site and install the Link Manager
      • Navigate to Plugins > Add New from the WordPress Dashboard.
      • Search for “Link Manager”.
      • Click Install.
      • Once the plugin is installed, activate it by clicking the Activate
    4. You’ll see that a new menu item, Links, has been added to the admin bar.
    5. Navigate to Tools > Import from the WordPress Dashboard.
    6. Click on the Blogroll link to import links in OPML format. This will install the OPML importer.
    Clicking on the Blogroll link will install the OPML importer.
  • Once the importer is installed, you will be prompted to upload the OPML file that you previously saved in the second step.
  • Click Choose File and browse your computer’s drive to locate the OPML file.
  • Click the Import OPML File button to proceed once the file is uploaded.
  • That’s all there is to it. You’ve successfully imported your links and blogroll from to your self-hosted WordPress site.

    Step 5: Post-Transition Checklist

    Now that your site has successfully been transferred to a self-hosted platform, a few more simple things are left to cross off your list.

    Hide Your Site

    The first thing you need to do now hides your old site to ensure your viewership doesn’t land on the old site every time. Navigate to Settings > Reading from the site’s Dashboard. Under the Site Visibility section, tick the I would like my site to be private option.

    Let Your Loyal Readers Know You Moved

    How do you notify hundreds of loyal readers that you’ve upgraded to self-hosted Publish a post, of course! Write a post updating your loyal viewership of the move and the domain change. Another popular option that bloggers adopt is WordPress’ premium Site Redirect service.

    The Site Redirect service does exactly what its name implies – it’ll redirect anyone accessing your old domain name to the new, self-hosted WordPress site. It also ensures that search engines are redirected to your new domain to preserve SEO efforts. For only $13/year, it’s great value for money!

    Update All of Your Links

    In Step 4 we took care of all the external links and blogroll. Internal links have to be dealt with manually. Those linked to your site will have to go back and update each link by hand. It’s a ton of trouble but it can’t be ignored!

    Wrapping It Up is a great option for newbies wanting to test out the blogging waters but when it’s time to take things to the next level, nothing beats self-hosted We hope our guide on moving your blog from to was helpful and easy to follow.

    Have you moved your blog from to Did this guide help you, and did you face any problems along the way? We’d love to hear from you so let us know in the comments section below!

    Was this article helpful?

    Frontend web developer and web designer specializing in WordPress theme development. After graduating with BA he self-taught front-end web development. Currently has over 10 years of experience in mainly CSS, HTML (TailwindCSS, Bootstrap), JavaScript(React, Vue, Angular), and PHP. Obsessed with application performance, user experience, and simplicity.

    This Post Has 0 Comments

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Back To Top

    If you wish to withdraw your consent and stop hearing from us, simply click the unsubscribe link at the bottom of every email we send or contact us at [email protected]. We value and respect your personal data and privacy. To view our privacy policy, please visit our website. By submitting this form, you agree that we may process your information in accordance with these terms.