How to move from WordPress.com to a self-hosted WordPress site

So you’ve decided to make the move from WordPress.com to a self-hosted WordPress site? Awesome! In this post I show you exactly how to make the big move!

So you’ve decided to make the move from WordPress.com to a self-hosted WordPress site?

Fantastic news! Better late than never, as they say.

WordPress.com is a great platform to start out with, but you may have realised that it’s features are quite limited, and if you want access to more features then you will need to upgrade to a business account. At which point, you might as well purchase hosting and a domain and move over to a self-hosted WordPress website.

There are many benefits to owning a self-hosted WordPress website, including the ability to install plugins, use custom themes, access your website files, monetise your blog through adverts, set up a eCommerce store and use more powerful analytics tools like Google Analytics. If you are serious about your blog, it’s an investment I highly recommend you make.

In this post I’ll show how to move your blog from WordPress.com over to a self-hosted WordPress website. 

Please note: This post is not sponsored or a collaboration, but it does contain affiliate links. This means if you make purchase after clicking one of the links in this post I may make a commission off this sale at no extra cost to you. I only recommend products and services that I use and love myself.


Click on the links below to help you navigate through this post.

1 | Choose a suitable hosting package

The first step in the WordPress.com to self-hosted WordPress migration process is to purchase hosting. You won’t have needed to purchase hosting for your WordPress.com website because hosting is a part of the WordPress.com package.

It is possible to find free hosting online but I really don’t recommend it. I used a free host when I first started out, and it was great until they deleted my entire website without warning!

It is for this reason that I recommend paying for hosting, and more specifically I recommend Namecheap. I have been a Namecheap customer for about 7 years now and I’ve always been impressed with their prices, their up-time and their customer service.

Namecheap have a hosting package specifically designed for self-hosted WordPress websites called EasyWP (you can find out more here), but I always recommend that my clients opt for a shared hosting package instead.

I specifically recommend their Stellar package (previously known as “Value”). This is what I use to host my websites because:

  1. It works out better value for money than EasyWP
  2. You get more disk space
  3. You can host up to three websites on one package

If you do choose the shared hosting option, head over to Namecheap’s shared hosting page:

Namecheap hosting packages | HollyPryce.com

Note: The prices of the hosting packages often change.

For the hosting package you have selected, choose whether you would like to pay monthly or yearly (yearly works out cheaper in the long run, and you can even set up automatic renewals if you wish), and whether you would like to be hosted by a datacenter in the UK or one in the USA. It is more expensive to be hosted by a datacenter in the UK, but Namecheap advise choosing a datacenter that is “closer to your potential audience”.

When you’re done, click Add to Cart.

2 | Choose a domain

After you have added your hosting package to your cart, you will be prompted to choose a domain. You will need to choose a domain regardless of whether you own one already that you are using on your WordPress.com website, or you need to purchase a brand new one.

Choose a domain in Namecheap | HollyPryce.com

If you don’t already own your own domain, go ahead and click Purchase a domain.

However, you might already own your own domain that you have been using with your WordPress.com website, and you might want to continue using it on your new self-hosted WordPress site.

So if you do own a domain and you purchased it with Namecheap, click Use a domain I own with Namecheap. Selecting this option will prompt you to log in to your existing Namecheap account and select a domain that you already own. Then you will be able to head to the checkout and just pay for your hosting package.

If you own a domain but that domain is registered with someone else rather than Namcheap, click Use a domain I own from another registrar. Selecting this option will prompt you to enter the name of the domain (including the extension i.e. .com, .co.uk, .info, etc) that you own elsewhere.

You can also choose to transfer an existing that you own from your current registrar to Namecheap so that your hosting and domain is all in one place. If you would like to do this, click Transfer my existing domain to Namecheap and then on the next page enter the domain you wish to transfer. You will then be given instructions to help you with the process of moving registrars.

For the purpose of this tutorial, lets pretend you don’t already own a domain.

After clicking “Purchase a new domain” enter the name of the domain you want to purchase including the extension (i.e. .com, .co.uk, .info, etc).

New domain name in Namecheap | HollyPryce.com

You will need to make sure that the domain you wish to purchase is already available and not owned by someone else. In order to check its availability (and the price), you can search for it here.

Domain name search in Namecheap | HollyPryce.com

If the domain is available then you will see the option to purchase it. However it isn’t available then it will probably say “Make Offer” next to it (i.e. you will have to make an offer to the owner of the domain if you want to buy it – this is never cheap!). If this is the case, you may want to choose a different extension, or a completely different domain name.

Once you’ve chosen a domain, enter it into the New Domain Name box and choose the number of years you would like to register it for. Then click Add New Domain to Cart and then Continue.

Add domain to cart in Namecheap | HollyPryce.com

On the next page you will be able to view your basket and see what you are about to purchase.

There are a few details to note here.

First, you’ll notice that a small charge has been added on for the ICANN fee; a mandatory fee for each domain that is registered, renewed or transferred.

Second, you’ll see that something called WhoIsGuard has been enabled. When you buy a domain, you must provide personal information about yourself, including your address, your phone number and your email address. This information is readily available to anyone online, but WhoIsGuard will protect this information so that it can’t be accessed by anyone and everyone.

There is usually an annual charge for WhoIsGuard, but the good news is Namecheap actually give WhoIsGuard to all of their customers for free forever!

The final thing to mention before you check out is the promo code box on the right hand sided. Namecheap have a page full of promo codes that might save you a little bit of money, so it’s worth checking this out before you make your purchase. If you find a code that you can use, copy and paste into the promo box and then click Apply.

Cart in Namecheap | HollyPryce.com

When you are ready to proceed, click Confirm Order. Then you will be prompted to log in to your Namecheap account, or to set one up if you don’t already have one.

Log in to Namecheap | HollyPryce.com

Eventually you will end up on the checkout page where you will need enter your payment details and pay for your hosting and domain.

Once you’ve paid, that’s it! You are now the proud owner of a hosting and domain. Now, keep an eye on your emails as you will be receiving lots of emails from Namecheap with important information in that’s required for the next step.

3 | Install WordPress

After you have purchased your hosting (and domain if you needed to purchase one), you should receive a welcome email from Namecheap. This will include lots of important details including your cPanel log in details.

cPanel is a web host control panel that gives you access to manage various aspects of your website. And the good news is, it’s included within your Namecheap hosting package.

(Note: If you do decided to purchase your hosting from elsewhere, I highly recommend you choose a host that provides cPanel as a part of its hosting packages too. It will make your life so much easier!)

The cPanel details within your email will include the URL of your cPanel account, a username and a password.

Start by opening the cPanel URL (usually something like http://YOUR-URL/cpanel) in a new tab or window. Then log in using the username and password provided in the email.

cPanel log in | HollyPryce.com

Once you log in you will see the cPanel interface. It’s worth taking some time to look around this as there’s a lot of features. It can be a little overwhelming at first.

To install WordPress we are going to use Softaculous; a script library that allows you to quickly and easily install a variety of scripts, including WordPress.

In cPanel, scroll down until you see a section called “Softaculous Apps Installer” which looks a little something like this:

Softaculous app installer in cPanel | HollyPryce.com

Within this section you will see the WordPress icon. Click on this to begin the WordPress installation process.

On the next page, click Install Now. This will take you to another page where you can begin filling in all your WordPress account details.

Install WordPress via Softaculous | HollyPryce.com

Firstly, choose your protocol. Unless you have purchased an SSL certificate, just leave this as it is (http://).

Then choose the domain that you want to install WordPress on. If you only own one domain, you will only have one domain to choose!

Next you need to decided whether or not you want to put your WordPress installation in a directory (i.e. a folder within your website files). It isn’t necessary to use a directory, but I usually do. A WordPress directory is usually called “wordpress” or “wp”. So in this box, just type in the name of the directory/folder you want to create and put your installation in.

If you do choose to use a directory then you will need to do a little extra work after you have installed WordPress to make sure your URL is http://YOUR-URL/ rather than http://YOUR-URL/YOUR-WORDPRESS-DIRECTORY. You can find out how to do this using this tutorial.

Then choose a name for your WordPress website, and give it a description. Don’t worry too much about what you put here, you can always change this at a later date in the settings section of your WordPress admin area.

Install WordPress via Softaculous | HollyPryce.com

Next, enter a username, password an email for your WordPress account. You will need your username and password to log into your WordPress admin area, so don’t forget them!

Then choose your language.

Install WordPress via Softaculous | HollyPryce.com

You can choose a theme from here if you wish, but once you have installed WordPress and logged in to your account you will be able to choose from a larger variety. If you don’t choose a theme here, your WordPress installation will be set up with the latest default WordPress theme, which is called Twenty Seventeen.

Finally, click Install to complete the process. WordPress should now be installed on your website!

Install WordPress via Softaculous | HollyPryce.com

4 | Log in to your WordPress admin area

Now you have installed WordPress, you need to log in to your WordPress admin area. In order to access the admin area, you will need to go to the login page, which has a URL that looks something like this:


Make sure you replace “YOUR-URL” with your URL.

If you installed WordPress in a directory, you will need to go a slightly different URL to log in:


Just replace “YOUR-WORDPRESS-DIRECTORY” with the name you chose for your WordPress directory. So if you called your directory “wordpress” you’d replace this with “wordpress”.

Every time you need to log in to WordPress, use this URL. You should now see a login page that looks like this:

WordPress login | HollyPryce.com

Enter the username and password that you chose for your WordPress account when setting it up via Softaculous, and click Log In to be taken to your WordPress admin dashboard.

You’re going to be spending a lot of time in this admin area, so feel free to explore and gain a better understanding how WordPress works.

Throughout the rest of this tutorial we are going to be accessing pages and features using the menu on the left hand side of the screen (highlighted below). Don’t worry; this will all become second nature to you very quickly!

WordPress admin area | HollyPryce.com

Important reminder: If you have used a directory, make sure you read and follow the instructions in this article to update your URL.

5 | Export your WordPress.com content

Now you have set up your new WordPress website it’s time to move your content over from your WordPress.com website.

To do this, start by logging in to your WordPress.com admin area. Hover over Tools in the left hand menu and click Export.

Export content from WordPress.com | HollyPryce.com

This will take you two a page where you will see two options: Export and Guided Transfer.

Export content from WordPress.com | HollyPryce.com

The Guided Transfer option if for those who want to leave the work to someone else! You can pay a fee for someone else to transfer your WordPress.com website to a self-hosted WordPress website (a service I offer myself for a much more reasonable price!).

However, if you want to transfer your website yourself then you will want to go for the Export option. Click Start Export to begin.

On the next page you need to choose what you would like to export. I recommend choosing All content. Then click Download Export File.

Export content from WordPress.com | HollyPryce.com

This will generate an XML file which will be downloaded on to your computer. You should keep this file in a safe place as you will need it for the next part of the process.

6 | Import your WordPress.com content in to your new WordPress website

Now we have our WordPress.com website content at the ready we can import this in to our new website.

Head back in to your brand new WordPress admin area, hover over Tools in the left hand menu and click Import.

Import content into WordPress | HollyPryce.com

On the Import page, look for the WordPress option and click Install Now.

Import content into WordPress | HollyPryce.com

The Install Now link will then change to say Run Importer. Click on this.

On the next page you will need to upload the XML file that contains your WordPress.com website content. Choose your file and then click Upload file and import.

Import content into WordPress | HollyPryce.com

You will then need to assign authors to the posts you have imported. You can import an author, create a new user or assign posts to an existing user.

Then tick the box next to Download and import file attachments to ensure that your images are imported too. When you’re ready, click Submit.

Import content into WordPress | HollyPryce.com

And that’s it! Your content has now been imported. Click on Posts in the left hand menu to make sure that all your posts are there as expected.

7 | Redirect your visitors (if you’ve purchased a new domain)

If you have purchased a new domain specifically for your self-hosted WordPress website then you will need to put some measures in place to redirect your visitors from your old website to your new one.

Now, normally when we want to redirect visitors from one website to another, we will add some code to one of the website files. But unfortunately, because you don’t have access to your website files as a WordPress.com user, we can’t do that. So you have two options:

1 | Set up redirection via WordPress.com

The good news is that WordPress.com has a redirection tool which will set up a 301 redirect. This will not only redirect visitors from your old website to your new one, but it will also redirect search engines too.

The bad news is this comes at a cost. It is currently £11 per year to use this redirection tool.

If you wish to use this tool, log in to WordPress.com, click on Settings then click on redirect under Site Address:

WordPress.com redirects tool | HollyPryce.com

You will then be asked to enter the domain that you want to redirect your visitors to.

2 | Set up a “We’ve moved” landing page

I completely understand that not everyone will want to pay to redirect their visitors, especially after already paying for hosting and a new domain.

So, if you don’t want to pay for the WordPress.com redirection, I recommend setting up a sort of landing page that will inform your visitors that you have moved. Provide a nice big link to your new domain so it’s really easy for visitors to find you.

Pin for later?