How to move from to self-hosted WordPress

WordPress is the world’s most popular Content Management System (CMS), and is believed to power well over 25% of global websites.  One of the huge benefits of it is that the WordPress software (‘WordPress core’) is free, so you can get going with it for little or no cost.

Many people start off developing their website by heading straight for, which is the hosting environment owned by Automattic, the company which oversee the development of WordPress. offers many packages, with the basic one being free. Typically, new website owners sign up for the basic package and then rapidly find out that they want to do more than this package allows.  At this point, the question then becomes:

Should I upgrade and stay with, or should I move to self-hosted WordPress?

If you want to know more about what each of these terms mean, or what the difference between the two is, have a look at this article which explains it in much more detail.

For the purposes of this article, I’m going to assume that you’ve already started building a site on with their ‘basic’ package and that you’ve decided you want to move to self-hosting.  If you’re using a paid-for package and are already using your own domain name, then the instructions below won’t work and you’ll need to look into how to migrate your WordPress website instead.

So here’s how you move to self-hosted WordPress:

1. Buy a domain name.

A ‘domain name’ is simply the address that people type into the browser when they want to find your site – like, or  Finding one that isn’t already in use can be quite tricky, but it doesn’t really matter who you buy it from.  If you’ve already chosen your host you might want to buy it from them (assuming they offer that service), if only because it means you’re not dealing with two separate companies.

2. Choose a host.

Check out this article on how to choose a good host – and remember that price should not be your deciding factor.  Hosting is like most things in life – by and large, you get what you pay for!  One little word of warning – if you’re not very technical and/or new to WordPress, make sure your host is either happy to set WordPress up for you or offers ‘one click install’.

Note that some hosts also offer a free migration of your site.  If this is the case, then once you’ve done step 3 below just get in touch with them and they’ll sort the rest out for you.

3. Make sure your new domain name now points to the host you’ve chosen.

To do this:

  • Ask your host what their nameservers are.
  • Log in to the website of the provider you bought your domain from.
  • Head for the section which is most probably called something like ‘control panel’.
  • Find the button to change your nameservers.
  • Change the nameservers (there are always two to change, sometimes three or even four) to those provided by your new host, and then wait for about 24 hours. This is because the internet is a network of databases, each of which has to be updated with your new nameservers.  This step is called ‘propagation’ and it typically takes 12-24 hours, though it can be quicker and sometimes can take up to 48 hours.

Note that if you’ve bought your domain from your host you won’t have to do this step at all.

  • Install WordPress.

Hopefully you’ve chosen a host who does one click install, or who has already set it up for you so this should just take a few minutes.

  • Copy the content from your website to your new website:
  1. Login to your site on
  2. Click on ‘My Site’ and scroll down the menu on the left until you get to ‘Settings’.
  3. Click on this and then on the General tab near the top.
  4. Scroll down the page until you see ‘Export’. Click on the arrow on the right.
  5. Click on the download button for ‘Export all’ to export your posts, pages and feedback. Note that this process does NOT export any themes or plugins – that’s not an option I’m afraid.
  6. Click on the download button for ‘Export media library’ to export all your images.
  7. You can then either click the new Download link that pops up, or WordPress will send you a link so that you can access it from there.
  8. Once you’ve downloaded your content on to your computer, make a note of its name and location (on your computer) and head back to your new, hosted site.
  9. Login to your new site, then from the Dashboard menu on the left hand side, go down to the Tools menu where you’ll see an option to Import your old content. This will ask you to install a Plugin. It will give a list of choices – pick the one that says ‘WordPress’ and click Install Now.
  10. You’ll see a message at the top that the importer was installed successfully. Click on the “Run importer” link.
  11. Click the “Choose file” button and select the file you downloaded from your blog. Then click the blue “Upload file and import” button.
  12. WordPress will then ask who you want to assign your posts to. It’s easiest to just select ‘assign posts to an existing user’ and choose your own username from the dropdown list.
  13. To make sure any images and other multimedia is also imported, check off the “Download and import file attachments” checkbox.
  14. Click Submit.
  15. Repeat step k for your ‘media library’.

At this point you’ll have a site which is set up using one of WordPress’s default themes (such as TwentySeventeen) so your Home page in particular will look very different to your old one.  But don’t panic – this is where the real fun begins because now’s your chance to build exactly the site you want. You can use any WordPress theme you want, and any WordPress plugins too.  Enjoy!