Move to WordPress

Move from WordPress.com to WordPress.org – The Complete Step-by-Step Guide

Guide to move WordPress.com to Wordpress.org
Please share

Move Your Blog from WordPress.com to WordPress.org

If you’re reading this page chances are you already know why you should be using self-hosted WordPress,(aka WordPress.org), it’s differences and benefits, and you’re already thinking of moving from WordPress.com to WordPress.org. Compared to all other free blogging platforms, a transfer from WordPress.com to WordPress.org is probably on of the easiest blog to WordPress migrations you could ask for. It kind of makes sense though, since both WordPress.com and WordPress.org use the same core software. This doesn’t mean you can just hit the export and import buttons and expect things to just work. Issues do come up with imports, servers time out without indication, and you need to ensure you maintain your PageRank, SEO, and your followers. A Move from WordPress.com to WordPress.org is well covered in many other high-ranking tutorials you can find with a simple Google search, well kind of. I believe many of these sites simply create these keyword rich articles from other poorly described tutorials only to get traffic and they simply do not address many crucial steps. For example, literally every single one of them will tell you to use the WordPress Importer tool to import your content. Wrong!

I will tell you why this doesn’t always work and show you a much better way to import your blog from WordPress.com to WordPress.org.

We’ve done exactly these steps for hundreds of clients and detailed every crucial step of this process. Don’t let the length of the post put you off, the process of moving from WordPress.com to WordPress.org is not difficult. However, if you’re still not comfortable, we can do this for you with our guided transfer service, and will usually move your blog from WordPress.com to WordPress.org for free.

Feel free to also join and help build our new Facebook Group Blogger to WordPress, created with the intention of building a community of bloggers supporting bloggers in moving to self-hosted WordPress.

Table of Contents

  1. Get a Domain Name
  2. Get a Hosting Account for Your Self-hosted WordPress Blog
  3. Install WordPress
  4. Change to Temporary Domain Name
  5. Prepare for Your WordPress.com to WordPress.org Import
  6. Content Transfer from WordPress.com to WordPress.org
  7. Fix Categories
  8. Themes, Menus, and Widgets
  9. Take Your Blog Live – Redirecting Visitors to Your New Blog
  10. What’s Next?

Before You Start

I feel like I have to put this in at the start of every tutorial so there aren’t any surprises along the way. Don’t say we didn’t tell you! A Move from WordPress.com to WordPress.org is not perfect or seamless and there are a few unavoidable “things” which are just part of the deal. At some point you are going to transfer your blog to self-hosted WordPress and you will have to deal with these, so there’s no point in putting it off any longer.
Here’s what you should be aware of (what we’ve learned after 200+ WordPress.com to WordPress.org transfers)

  • You cannot bring your theme over when you import content from WordPress.com to WordPress.org. I know, that sucks! The bright side is you’ll get much more choice and freedom in choosing one you really like and customize it any way you want.
  • On some imports from WordPress.com to WordPress.org we’ve seen Posts lose their Category linking. It is random, usually only some, sometimes all. We’ll cover how you can fix these.
  • If you’re not using the default WordPress.com comment system, your comments may not all import. This is less of an issue compared to other free blogging platforms, but it can happen. Some of the better comment systems, like Disqus, has an export function with lots of migration tools to get you sorted.
  • Some blog posts may lose some or all formatting. For the most part it usually works fine, but we have seen it happen.
  • During the WordPress.com to WordPress.org migration your WordPress.com blog will stay live. When you are ready to take your new WordPress.org blog live, there may be a few minutes to a couple of hours of downtime where neither site is available. There’s a small chance some of your followers or viewers (and maybe even yourself) may be unable to see your site for up to 48 hours. (This is not a WordPress issue, it happens anytime you change DNS servers and depends on the site visitor’s ISP).
  • And lastly, all illustrations and steps we show for the WordPress.com to WordPress.org import are based on using SiteGround hosting and NameCheap domain registrar. Partly because we’re in their affiliate program, but mostly because they are the best and easiest to use and both have incredible customer support. Here’s our review of SiteGround, if you’re interested.
  • Lastly, everything you do here you do at your own risk. We are not responsible if something goes wrong and you lose all your data during the import from WordPress.com to WordPress.org. We will show you along the way how to back everything up, but still, anything that happens is not on us. Capiche?

Ok, let’s get started…

1. Get a Domain Name

If you already have your own custom domain name for your blog you can skip down to Section 2 below.

If you don’t yet have your own custom domain name (this is a new blog or website, OR you’re still using a myblog.wordpress.com), then you’ll need to purchase your own unique domain name before you can start the WordPress.com to WordPress.org transfer.

Two Choices

You have two choices for purchasing your own domain name. You can buy it through your hosting company when you sign up for your hosting account in the next step, or you can buy it from a separate domain name provider. We recommend you buy your domain name from a separate provider for two main reasons:

  1. They’re usually cheaper upfront (unless the hosting provider has a special deal going), and on renewals.
  2. If you decide to change hosting providers in the future, you won’t need to also transfer your domain name. You simply log into the domain name provider and point your domain to the new hosting company’s DNS servers.

If you decide to purchase your domain name separately, then we recommend NameCheap as our pick for best choice. They usually have the best prices, the lowest yearly renewals, excellent support, and a very easy to use interface.

If you decide to use NameCheap you can follow these instructions for purchasing your domain name:

1.1 Go to NameCheap

Signing up is pretty easy and you can use the button below to get there:

1.2 Choose a domain name

Enter you preferred domain name into the search bar and hit the search button to see if your preferred domain name is available.

NameCheap Signup Step 1

If it’s available, add it to the Cart then you can proceed to the checkout. If your preferred domain name is not available, try another search until you find one is right for your blog.

1.3 Adding Options

Before checkout you’ll be asked about adding a whole lot of extra add ons. You don’t need any of these to set up your domain, but we do recommend the WhoisGuard add-on (usually free for the first year with NameCheap) as this protects your personal information (name, address, phone number, etc) from being shown if someone does a whois lookup on your domain name. All the other options such as premium DNS, or SSL certificate (SSL certificate comes with hosting company) are NOT required.

NameCheap Signup Step 2

1.4 Fill in your details

This is all pretty self-explanatory, just complete the form with your personal details and your payment information. That’s it! You’re ready for step 2 below.

2. Get a Hosting Account for Your Self-hosted WordPress Blog

As far as choosing the host you want to use, you are free to pick any host you want. We highly recommend using SiteGround for many reasons, one of them being that they are officially recommended by WordPress themselves.

To read our full review on why we recommend them, please click here.

If you decide to use SiteGround you can follow the steps below for signing up for your self-hosted WordPress hosting account.

2.1 Go to SiteGround

Signing up should be pretty easy, to start off with, you can use the button below and get a 60% discount:

2.2 Choose a hosting plan

SiteGround has 3 different plans available, we recommend the GrowBig package as you will not have to worry about outgrowing your blog as your visitors increase. Another feature is the high level of caching, which means much better loading speeds if you have many pictures on your blog. You can always upgrade or downgrade to a different plan any time you want!

siteground hosting plans

2.3 Enter your domain

You will now be asked to register a domain name. If you already have a custom domain name you wish to use (usually your current blog domain), select the “I already have a domain”. Then put in your domain name in the box and click proceed.

If you don’t have a domain name, you can purchase it with your hosting plan if you want, or from a separate domain name provider as we described in Section 1 above.

siteground signup step 2

2.4 Fill in your details

Next up, fill in your personal details. This should be pretty self-explanatory up until these points:

Hosting Services: The Data Center will automatically be selected based on your location, but if you want a different Data Center you have the option to select a different one by clicking the small button next to. (We recommend leaving it as is).

Period: The standard period is 12 months, you can also register for longer but 12 months is perfectly fine if you are not sure WordPress is for you. With SiteGround you also get a 30-day money-back guarantee. We do not recommend selecting the 1-month trial, as it has a $12 setup-fee which is not returned should you want a refund.

Extra Services: You do not need any of the offered extra services. The essential features that are included in all plans are more than enough to keep your site fast and secure!

siteground signup step 3

Once you’re done, you can check-out and pay!

 

3. Install WordPress

Now that you’ve got your hosting set-up, the first thing you need to do before importing your WordPress.com content to WordPress.org is to install WordPress. It’s actually quite easy thanks to SiteGround.

Once you’ve signed up you can start the setup wizard, click on Launch Setup Wizard

SiteGround Launch setup wizard

 

Next, check off Don’t need help now and select Confirm.

siteground setup wizard settings

 

Now check the box to confirm you agree with SiteGround’s Terms of Service, and click on Complete Setup.

siteground setup wizard confirm

 

You’ll now be at your “My Accounts” page and your page should look like the image below. Go ahead and click cPanel.

siteground cpanel button

 

When the cPanel dashboard loads, click the WordPress AutoInstaller.

siteground cpanel autoinstaller wordpress

 

When the Softaculous WordPress installer screen loads, click on Install.

softaculous install wordpress

 

Now you need to fill in some details about your new WordPress.org blog. For now leave the protocol as “http://”, we’ll change it later to “https://” when we add the SSL certificate, if you want. Your domain should be pre-selected if you only have one domain. If you have more than one, select the domain you want the WordPress installation on. Leave the In Directory blank. Now fill in the Site Name and Site Description for your blog. These should be exactly the same as your previous WordPress.com blog, if at all possible, for SEO purposes.

softaculous wordpress install settings

 

Now scroll down the page. You will be given an Admin Username and Admin Password. You can leave it as it is, but I would highly recommend you change the username to the same name as your current WordPress.com blog. The reason is, all your imported and new posts will be published by default by this user (unless you create a new admin user before you import your WordPress.com blog) and will be shown publicly. Whatever you choose, please make sure to write down or record your username and password. If you forget it, you won’t be able to get into your new WordPress dashboard. How to recover it is not described in this article.

Now enter your normal email address for the Admin Email. The default shown will not work unless you setup a mail server, and not covered in this article.

Now click on Install.

softaculous wordpress install more settings

 

This will only take a minute or two, and DO NOT navigate away from the page.

softaculous wordpress installing

 

Once the installation is complete you’ll see a “Congratulations…” message telling you WordPress was successfully installed. Yay!

Now you can click on the My Accounts tab and go to the next step.

softaculous wordpress install complete

 

4. Change to Temporary Domain Name

If your WordPress.com blog is using a free WordPress domain, for example “myawesomeblog.wordpress.com” (and you purchased or already had a custom domain name) then you can skip this step. You still need to make sure your custom domain name is pointing to your hosts DNS servers or you won’t be able to access your site. If you purchased your domain with the hosting company, then this will have been done automatically. If you purchased your domain separately, say through NameCheap, then you will need to point the domain to the hosting company’s name servers. Until you do this, you won’t be able to access your site (unless you really want to use a temporary domain as described below, but there’s no need). You can jump to Step 9.1 to do this, and then continue on with Step 5.

If you are already using your own domain, for example “www.myawesomeblog.com”, then you need to do this step to be able to access your new self-hosted WordPress blog. This change is temporary and a necessary part of the WordPress.com to WordPress.org migration process and you will reverse it when you’re ready to take your new WordPress blog live.

So, let’s go…

From your “My Accounts” page in SiteGround, click on the Information & Settings tab, then right-click on the Access Site by IP button, and select Copy Link Address from the context menu.

siteground account settings page

siteground access site by IP

 

Open up a text editor or word document, and paste and save the link. It should have the form http://xx.xxx.xxx.xxx/~abcdefgh (this may differ by the hosting company you choose, or if you have a dedicated IP)

Now click on the Go to cPanel button.

siteground my accounts page

 

Click Proceed if you get this message:

siteground access cpanel securely proceed

 

Now you’re in your cPanel, scroll down to Databases, then click on phpMyAdmin.

siteground select phpMyAdmin

 

In phpMyAdmin, expand out the database tree. It should look something like myblog1_wp456.

phpmyadmin page

 

Find and click on wpql_options.

myphpadmin wpql options

 

On the table on the right, the top two entries in the option_name column will be siteurl and home. You’re going to update these with the temporary domain you copied earlier. Click on the Edit link on the left of the table.

phpmyadmin options siteurl and home

 

Now replace the domain in the box with the temporary domain you copied earlier, then click Go. Do the exact same for both siteurl and home.

phpmyadmin url update

 

Your table should be updated to look similar to this:

phpmyadmin confirm url settings

 

You can now access your new WordPress site by using the same URL you used above. There won’t be much to see as there are no posts or pages, but the default WordPress twenty-seventeen theme will be loaded and a nice picture with your blog title and tag line displayed.

wordpress twenty seventeen home page

 

5. Prepare for Your WordPress.com to WordPress.org Import

Now it’s time to log in to your new WordPress dashboard and prepare your new blog for importing from your WordPress.com blog.
The proper way to access your WordPress admin area is to add /wp-login.php to the end of your domain. If you’ve setup a temporary domain as in Step 4 above, then use the temporary domain name. So for example, you will enter either this myawesomeblog.com/wp-login.php OR this xx.xxx.xxx.xxx/~abcdefgh/wp-login.php into your web browser’s address bar. You should now see your WordPress login window.

wordpress admin login page

 

Login with the Admin Username and Admin Password you created in Step 3. If you forgot these, or didn’t write them down, you can try following these steps to recover, use the myPhpAdmin method. Once you’ve logged in successfully you’ll be in your WordPress Dashboard.

wordpress admin dashboard

 

Now go in and clean up any default posts included by the autoinstaller. Click on Posts (left column on the Dashboard), and then click on Trash under any posts in the list.

wordpress delete default posts

 

Now scroll down to and click on Settings > Permalinks.

wordpress settings permalinks

 

Here you need to match your new WordPress permalink URL’s with your WordPress.com permalink URL’s. Not doing this is bad for SEO, so it’s highly recommended to match them up. The standard WordPress.com permalink URL format is Day and name, so you can select the same and click Save Changes.

WordPress Permalink Setting

 

Now we’re going to install the WordPress import tool. I will say this; if you have a decent size blog, this method is going to be frustratingly slow. I am only showing you this so you know you have the option or only have a very small blog. We’ll cover the actual import and other option in the next step. So, go to Tools > Import.

WordPress Dashboard Tools Import

 

At the bottom of the import page you will see the WordPress import tool, and usually not installed by default. Click on Install Now.

WordPress Install Importer

 

Now let’s move on to actually importing your WordPress.com content to your new WordPress.org site.

 

 

6. Content Transfer from WordPress.com to WordPress.org

The typical advice from a Google search for importing content from WordPress.com to WordPress.org is to use the WordPress Importer, the one you installed at the end of the previous step. While this is the official method, our experience from doing 200+ WordPress.com to WordPress.org transfers is it rarely works for most blog imports.

Because of the PHP limits of WordPress and your shared hosting provider, even small to medium-sized blogs will exceed these limits and cause your import to time out. The alternative method is to have your hosting provider do the import for you. I know SiteGround does this free for all their clients, so why not use them. In any case, for the sake of completeness I will cover both methods in Steps 6.2a and 6.2b. But first lets export your WordPress.com content.

6.1 Export Content from WordPress.com

Sign in to your WordPress.com account and click on My Sites in the top left of the screen.

WordPress.com Home Screen

 

If you have more than one site click on the one you want to export. On the dashboard for the selected site, click on Settings.

WordPress.com Dashboard Settings

 

Now scroll down the page to Site Tools and click on Export.

WordPress.com Settings Export

 

In the export screen click on Export All.

WordPress.com Export All

 

After a few seconds or minutes, depending on the size of your blog, you will get a message saying Your export was successful! A download link has also been sent to your email. You’re going to both download the file and save the link to the download file. Click on Download to save the WordPress.com export file.

WordPress.com Export Download Link

 

Now right-click on the Download link and choose Copy Link Address. Now paste the link in a text editor for later.

WordPress.com Export Copy Link Address

 

6.2a Import Your WordPress.com Content Using the WordPress Importer

This is the usually recommended way of importing your WordPress.com blog into WordPress.org. While always recommended on virtually every other tutorial on the web, including 1st page ranking sites claiming to be WordPress experts, it rarely works properly and will drive you nuts! I’m showing it here to be complete, plus it will work if you have a very small blog to import to WordPress.

If not already there, head back to your new WordPress dashboard and to Tools > Import. In Step 5 you installed the WordPress importer plugin, so there should now be a Run Importer link there now. Click on it.

WordPress Import Run Importer

 

In this step you will be uploading the contents of the file you downloaded in the previous step. The file you downloaded will be in .zip format and you will need to extract or unzip it before uploading. The unzipped file will contain one or more .xml files that you will upload in the next step.

On the Import WordPress screen, click on Choose File. You’ll want to now select the xml file you downloaded and extracted from your WordPress.com export. If there were multiple xml files, choose the first one in the series, it will be labelled accordingly. After you’ve selected it, click on Upload file and import. (Remember, the file you selected should have the .xml extension, extracted from the downloaded .zip file).

WordPress Import Select and Upload File

 

After the file is uploaded (there’ll be an upload progress bar in the bottom left of your screen), you’ll be asked to Assign Authors. Since you created your user name to match your username in Step 3, you can go ahead and assign the posts to this user. You have the option of creating a new user, or leaving the posts attributed to the Import author. I recommend you choose the “assign posts to an existing user:” and select your username. If you don’t, then your next post from your new WordPress blog will be from a different user. Make sure to check the Download and import file attachments check box, and then click Submit.

WordPress Import Assign Authors

 

The import process will start and you will see the page reloading. What you’re looking for is a message that says All done! Have fun. (Or something similar).

WordPress Importer All done

 

Most likely however, nothing will happen! Your page will stop loading and you’ll either get an error message, or nothing at all.

WordPress Import Blank Screen Timed Out

 

This happens because of php limits and/or your shared hosting services limits. If you were to go into your posts, you would see that some content was actually imported. So, do the import again! Yep, upload your xml file again, assign your posts, and check the box to import all content and start the import again. Now you’ll probably get some messages saying “Page…” or “Media…already exists”. WordPress checks to see what was already imported in the previous import and skips over these, so no duplicates, and continues to import the rest of your content.

WordPress Import Timed Out

 

However, once again, it’s likely to time out!  If you don’t get the All done message when the page finishes loading, then the import process timed out again.

Now repeat the process again. And again. And again. Keep doing it until you get the success message.

If your WordPress.com export zip file contained multiple xml files, you need to wait until the first xml file is completely imported, then repeat the process for the subsequent files.

If your blog is a medium to large blog with many images, the import from WordPress.com to WordPress.org using this method will be painful and probably make your brain bleed. Honestly, I’ve done some blogs and had to do this 50+ times just to finish the first xml file! Many 1st page ranked search results on the issue will tell you to modify your php.ini file and increase your max_execution_time variable. Even if your host allows you to do this, or doesn’t have some other overriding parameter, don’t waste your time. It won’t help you much.

The way around this is to have your host do it for you as they would do it via SSH and not php. This is one of the main reasons we recommend bloggers use SiteGround when we transfer their site for them. It literally makes our lives that much easier. The next step describes exactly how we do it for our own clients.

6.2b The Better Way to Move Your WordPress.com Content to WordPress.org

I’ve already said a few times there’s a better way to import your content from WordPress.com to WordPress.org. Just let your host do it. And this is why we love SiteGround. They offer this as a free service. And while they say it takes 24 to 48 hours, every single import I’ve asked them to do is done in less than 3 hours, some in less than an hour! That’s a heck of a lot faster than me trying to upload an xml 50+ times as in the previous step!

Here’s how we do it for our clients who use SiteGround:

Navigate to SiteGround’s website transfer page under their support tab, or use this link: https://ua.siteground.com/support/website_transfer.htm

On the website transfer page, select your account, accept the terms of service, and click Submit.

SiteGround Website Transfer Request

The form will expand and here’s what you need to enter to get them to import your WordPress.com blog to WordPress.org.

  • Select: I am transferring from another web host
  • cPanel OR Other (Control Panel)
  • cPanel URL: WordPress.com
  • Username: WordPress
  • Password: WordPress
  • Former host provider, select: WordPress.com

Under the “Post an Enquiry” field, copy and paste this text below:

Dear Sirs,

I need help importing my content from WordPress.com over to SiteGround (Best done by you via SSH, so the import doesn’t timeout due to php limits).

I have already prepared a WordPress Installation on SiteGround, the details are as follows:

URL: {Enter your new WordPress URL}
User: {enter your new WordPress URL}
Pass: {enter your new WordPress password}

Here is a download link for my WordPress.com Export file: {enter link for wordpress.com export file}

Thank you very much for helping getting this imported for me.

Make sure to enter your own URL, or temp url from Step 4 if you’re using one, your new WordPress user name and password from Step 3, and the link you copied from your WordPress.com export file from Step 6.1. Select a notification email address or leave it as your default, agree to the terms and conditions, and then click Submit. Now take a break and wait for SiteGround to get back to you.

SiteGround Website Transfer Settings

 

After SiteGround is finished the import you’ll get an email from them indicating its done. Now you can log back in and check how all of you content was imported.

 

7. Fix Categories

While the move from WordPress.com to WordPress.org is usually issue free, we have seen from time to time where post categories get dropped or messed up. This means some posts may have been moved to “Uncategorized”, or if you had posts in multiple categories, some may now only be in one. If this happens, adding these back can be a very manual process, though using the bulk edit tools can speed things up.

If you were also using tags, and had matching or similar tags to your categories, then this can help. In this case you can filter by tags which is faster than manually selecting posts in the list before doing your bulk edits. For example, if you had a category called “Fun”, and also tagged the post with “fun”, then you could filter the list by the tag “fun”, select all the posts, then add them all to the “Fun” category in one go. Let’s have a look at the detailed steps.

These steps are optional, I’ve added them here to make your life easier and I hope it does.

7.1 Add Posts to Categories Using Tags

Again, this only really works if you also used similar tags to your categories.

First check that all your Categories are there. Go to Posts > Categories and have a look. If they’re not, go ahead and add them in now.

Filtering posts by tags is not a default capability in WordPress, so you you’ll have to use the Admin Taxonomy Filter plugin to do this. Go to Plugins > Add New and search for “Admin Taxonomy Filter”. It should be the first in the list. Click on Install Now.

WordPress Install Plugin

 

After installation click on Activate.

WordPress Activate Plugin

 

Now go to Settings > Taxonomy Filter and check off the Tags box under Posts, and then click Save Changes.

admin taxonomy filter settings

 

Now in your Posts page you will have the ability to filter by tags.

Posts Tags Filter Added

 

To bulk add posts with a particular tag into a specific category you’ll use the filter and bulk edit tools. Here’s an example. Click on All Tags, select a tag, then click Filter. This will only show posts with the tag you selected.

Posts how to filter by tags

 

Now click the check box under Bulk Actions to select all posts.

Posts select all

 

Click on Bulk Actions, select Edit, then click Apply.

Posts bulk edit

 

Now check the box of the category you want to add to these posts, then hit Update.

posts bulk add categories

Now repeat for all categories with matching or similar tags.

 

Tip: The number of posts listed is usually defaulted to 20. If you have more than this in a filtered category or tag, you’ll have to perform the above steps on posts on page 2, page 3, and so on. You can change the number of posts shown on a page by clicking on Screen Options at the top, and changing the Number of items per page to something higher. You can use 100, 200, or more as required, to get all the posts in a category to display on one page. Just note however, the page will take longer to load, so you should change this back to something smaller when you’re finished.

Posts Change Number of Items per Page

 

7.2 Remove Posts from the “Uncategorized” Category

If your Posts categories got messed up in the WordPress.com to WordPress.org import, then you more than likely have a bunch of posts in the “Uncategorized” category that shouldn’t be. Unfortunately the bulk edit tool doesn’t allow you to remove a post from a category. So it’s either a manual edit of each post, or follow these steps to fix them.

a. If all of your posts are in at least two categories…

In other words, they’re in “Uncategorized” AND some other category, do this:
1 – Go to Settings > Writing and change the Default Post Category to anything other than “Uncategorized”.
2 – Go to Posts > Categories and delete the “Uncategorized” category. This will remove that category from all your posts.
3 – If you want, you can now re-create the “Uncategorized” category and again make it the default in the settings.

 b. If all of your posts are not in at least two categories…

In other words, some of your posts are ONLY in one category, “Uncategorized”, and you want to keep them that way, then do the steps below. If you don’t want any “Uncategorized” posts you can do a bulk edit by manually selecting those posts in the list and add those posts to another category, then do the steps above when all posts are in at least two categories.
To be clear, these steps will remove “Uncategorized” from posts with more than one category (where one category is “Uncategorized”) and leave posts with only one category, “Uncategorized”, as is.
1 – Go to Posts > Categories and create a new, temporary category. Let’s call it “Temp”.
2 – Go to Settings > Writing and change the Default Post Category to “Temp”.
3 – Go to Posts and manually select (check box) all posts in only the “Uncategorized” category.
4 – Click on Bulk Actions and choose Edit, then hit Apply.
5 – In the Categories box check off your new category “Temp”, and then click Update.
6 – Go to Posts > Categories and delete the “Uncategorized” category.
7 – Now, create the “Uncategorized” category again.
8 – Go to Settings > Writing and change the Default Post Category back to “Uncategorized”.
9 – Go to Posts and click on All Categories and select “Temp”, and click Filter.
10 – Select ALL posts (only “Temp” posts should be showing), click on Bulk Actions and choose Edit, then hit Apply.
11 – In the Categories box check off “Uncategorized”, and then click Update.
12 – Finally! go to Posts > Categories and delete the “Temp” category.

UPDATE: You should be able to skip the steps above that have been crossed out. They’re no longer necessary as WordPress will automatically assign the default category to posts that only have one category at the time you delete the category.

8 – Themes, Menus, and Widgets

At this point in the WordPress.com to WordPress.org process you will have a fully functional WordPress blog with all your content imported from your WordPress.com blog. Now you need to make it look nice by adding a different theme (if you want), create a menu, and add some widgets. I will only go over the basics in this section as every theme has different options, and menu and widget areas. If you’re looking for some premium themes I highly recommend Elegant Themes as a top choice. Elegant’s themes are full of options that you don’t always find in other so-called premium themes making them highly customizable.

If you’re looking for more in-depth details on how to customize your blog, create and edit menus, and set-up widgets you can try Elegant Themes or WP Beginner. They can go into much more detail than I will here. But I will still give you the basics here to get you started.

8.1 Add a Theme

Go to Appearance > Themes.

wordpress appearance themes

 

Your active theme is highlighted. The default theme that comes with WordPress is Twenty Seventeen and this should be active by default. Click on Add New.

wordpress themes add new

 

Here you can search through the free themes available in the WordPress repository or you can upload your own. Which ever way you choose, the steps are pretty self-explanatory. Simply install, and then activate it. If you’ve purchased a premium theme, then upload the theme and activate it. The theme you purchased would be in .zip format. Keep it as a zip file for the upload, WordPress will take care of the rest.

wordpress add themes upload theme

 

After you’ve installed your theme now you can start customizing the look of your blog.

 

8.2 Customizing Your Blog’s Look

Again, every theme has different options, but go to Appearance > Customize and you will see all the theme’s customization options. This will include everything from adding logos, to front page layouts, menu’s widgets, footers, header styles, fonts, colours, etc.

In the customize screen as you make changes you will see a live preview, so you can see the effect of any change you make. If you would like to keep the change, click the Publish button at the top of the screen. Note though, if you’re making a change in the customize screen that is not visible on the current page, you won’t be able to see the change. Just navigate to the page you want to make changes to and you will then be able to see the live preview.

Customize Theme

 

8.3 Create a Menu for Your WordPress Blog

Some themes will create a default menu for you showing all your pages or post categories. You can control how your menu looks and what it contains. Head to Appearance > Menus and click Create Menu. If your theme already created one then you won’t see this option, just “Save Menu”.

All menus items are drag and drop and the order shown in the Menu Structure is the order the menu items will appear on the page. If your theme supports drop down menus, you can create this by indenting a menu item by dragging it slightly to the right. The menu item above it then becomes the parent.

You can add pages, post categories, individual posts, tags, or even external URL links to your menu.

WordPress Menu Instructions

 

Make sure to save your menu before you navigate away from the page if you’ve made any changes. You can also make as many menus as you want. However they won’t be visible until you actually assign them to a location. Depending on your theme you could have one or more menu locations. On the menu page click on the Manage Locations tab and select a menu you created or saved to a particular location as defined by your theme.

 

8.4 WordPress Widgets

Every theme will have different widget locations built-in, go to Appearance > Widgets.  The most common is the sidebar widget location, but premium themes generally have several locations available. This is a drag and drop operation and all you need to do is select an available widget on the left and drag it into a widget location on the right. You can usually put multiple widgets in a single widget location, and the order of the widgets in the widget location will be how they display on your site. Most widgets are configurable, so once you drag a widget over, it will expand so you can configure it.

WordPress Widget Setup

 

You can also add/edit widgets from the live preview (under Appearance > Customize), however not all widget locations may be shown in this view.

Tip: Instead of deleting widgets you’ve already configured but no longer want to use, you can drag them to the Inactive Widgets area of the page. This way, if you change your mind and want to use the widget again, you don’t need to re-configure a new one, simply drag it back!

Feel free to customize your blog until you’re happy enough to take it live. Remember, you can continue to tweak areas and settings even after you go live, so you don’t have to wait until it’s perfect.

 

9 – Take Your Blog Live – Redirecting Visitors to Your New Blog

The last step for your move from WordPress.com to WordPress.org is to set up redirects so visitors land on your new blog and not your old one. It’s also important to ensure Google knows where you went, you don’t want to lose your google ranking or any link juice you may have built up.
Let’s go…

9.1 Update Your DNS Server

Note: If you didn’t use the temporary domain in moving your blog from WordPress.com to WordPress.org (from Step 4), then you can skip this step.

If you registered your custom domain with WordPress.com, click here to jump down to WordPress.com specific instructions on how to do this. Otherwise follow the steps below.

Log into your domain registrar, I’m showing NameCheap’s dashboard, your registrar might be different, but the steps will be similar.

Go to your domains and click on Manage.

namecheap manage domain

 

Look for the Name Servers section and open the option to change it.

namecheap name servers

 

Select Custom DNS.

namecheap name servers custom dns

 

Enter the DNS server information you got from your host. This would have been in an email or it will be in your cPanel. Here’s where to find it on SiteGround:

siteground name servers

 

Enter the two addresses exactly as shown, no spaces or extra characters and save it.

namecheap name servers enter new and confirm

 

Thats it.

 

If you registered your domain with WordPress.com, the steps are similar. Here they are:

Log back into your WordPress.com dashboard, go to My Sites and select the site you’re transferring to WordPress.org. Near the bottom left of the page, click on Domains.

WordPress.com Settings Domains Manage

 

In the Domains screen look for the domain which says Registered Domain and has the Primary Domain tag, and click anywhere in the highlighted area shown.

WordPress.com Settings Domains

 

Now click on Name Servers and DNS.

WordPress.com Settings Name Servers and DNS

 

On the section that says Use WordPress.com Name Servers, toggle the switch off.

WordPress.com Change Name Servers

 

You will now be able to enter your hosts Name Servers. This would have been in an email or it will be in your cPanel. Here’s where to find it on SiteGround:

siteground name servers

 

Copy and paste the name servers exactly as they appear, no spaces before or after. Then click Save Custom Name Servers.

WordPress.com Change Custom Name Servers

 

Once you do this your old site will no longer be visible on your custom domain. But now no one can get to your new site because you initially changed it to a temporary domain. So let’s fix that.

9.2 Change Your WordPress Site URLs

If you didn’t use a temporary domain for the import from WordPress.com to WordPress.org (Step 4) then you don’t need to do this step.

Head back to your WordPress.org dashboard and go to Settings > General and update the WordPress Address (URL) and Site Address (URL) to your actual domain name. So, http://myawesomeblog.com, or whatever your domain name is, and Save your settings.

wordpress update settings url

 

You will now get booted out of WordPress, so log back in. Since you’ve just changed your address in WordPress, the new login URL will now be myawesomeblog.com/wp-login.php, not the temporary address you were using before.

Note:
Once you change a DNS server to point to a different host, it takes some time for the changes to propagate through the internet. In rare instances, up to 72 hours. Usually, it’s just a few minutes and up to 4 hours. This depends a lot on your ISP, and in some cases your own browser. If after making the change you cannot get to your site or the login page, try clearing your browser cache and restarting your internet router. If it still doesn’t work then it’s likely your ISP has a slow refresh rate on their DNS cache and you’ll have to wait. If you don’t want to wait, you can bypass your ISP’s DNS and just use a public one. Here’s a good article that explains how to change to using a public DNS server. And google’s version here.

 

9.3 Activate Your SSL Certificate

This step is optional but recommended, and if you’ve purchased your hosting plan from SiteGround you’ll get a free SSL certificate. Google does consider https as a ranking factor and you should definitely consider activating it. Plus, many browsers warn users of non-secure sites which could turn off some users, reducing your site traffic.

Head back to your SiteGround account and go into your cPanel again. Scroll down the page to the Security section and click on Let’s Encrypt.

siteground cpanel security lets encrypt

 

If not already installed, install the SSL certificate and wait for it to complete. Once it’s complete, turn on HTTPS Enforce. If a warning screen pops up, click OK. That’s it.

siteground cpanel ssl https enforce

 

9.4 Fix Broken Internal Links

If you didn’t use a temporary domain for the import from WordPress.com to WordPress.org (Step 4) then you don’t need to do this step.

When you changed your WordPress URLs above, you also unintentionally broke all internal links within your blog. This is because you setup your blog on a temporary domain address, so internal links to photos or other posts, would still be using the temporary domain urls. So let’s go ahead and fix these.

Install a plugin called Search & Replace. After activation it will be in Tools > Search & Replace.

Search and Replace Plugin

 

The first step is to create a back-up of your Database just in case things go bad. So click on Create SQL File. Once the file is created a message will show it’s been created. Click the Download SQL File button.

Search and Replace Backup

 

Now go to the Search & Replace tab. You’re going to search for all temporary domain references and replace with your new domain. If you’ve activated SSL, remember to include the https in the domain. To be clear, you’re searching for http://xx.xxx.xxx.xxx/~abcdefgh and replacing with https://myawesomeblog.com, or what ever your temporary and actual domains are. Check Select all tables, and make sure Dry Run is also checked. Now click Do Search & Replace.

Search and Replace Dry Run

 

That was only a test to make sure you’re searching for and replacing the correct terms. Once completed you will have a chance to view the results which is basically a listing of all the links found. If nothing was found, make sure you typed in the temporary domain EXACTLY how you created it. Once you’ve reviewed it, uncheck the Dry Run box, and then select Save changes to Database. Now click on Do Search & Replace.

Search and Replace Save Changes

All your links should now be fixed, so feel free to deactivate and delete the plugin.

9.5 Redirect WordPress.com to WordPress.org

Note: this step is only required if your blog was on a wordpress.com domain (for example myblog.wordpress.com). If you were already using a custom domain, you don’t need to do this step.

If you were blogging on wordpress.com’s platform using a free domain, you need to make sure your followers, users, and search engines know that you’ve moved your blog. Since you don’t have access to the server you’re at the mercy of wordpress.com for this one. You will have to purchase the Site Redirect Upgrade from WordPress.com. At the time of writing it’s worth $13/year.

I won’t cover how to do this here as it’s well covered in their instructions.

As long as you keep your permalink structure as described in this tutorial the Site Redirect upgrade will continue to work just fine.

So how long do you need to pay for the Site Redirect Upgrade? This really depends on how old your blog is and how many backlinks you’ve amassed over the years. At least one year is recommended, but two would be better for a well established blog.

9.6 Final Steps to Your Move from WordPress.com to WordPress.org

If you’ve built a strong following on your WordPress.com blog you definitely don’t want to lose those followers by leaving them stranded. Luckily the guys that run WordPress.com also created the Jetpack plugin, which is usually installed with WordPress.org as a default plugin.

This is really great for you as it allows you to bring your followers with you, plus a you get a few extra really cool features like extra widgets, security and spam protection, automatic social sharing, and a bunch of others. There’s even a premium version with even more features.

To get started, just go to Jetpack in your WordPress.org dashboard and follow the instructions to connect to your WordPress.com account (don’t create a new account, you already have one).

Then to migrate your followers simply follow the instructions on Jetpack’s support page for the Subscription migration tool. Again, this is well documented on their site, so I won’t cover it there.

And finally, I recommend making your old WordPress.com site private. This ensures Google doesn’t “penalize” you for duplicate content since you’ve just copied all of your content to another site.

Log in and go to your WordPress.com dashboard, and go to Settings. Scroll down to Privacy, select the Private option, then click on Save Settings. That’s it!

how to change wordpress.com to private

 

 

10 – What’s Next?

We’ll soon be publishing a series of articles to cover this, for now you’ll have to use google! But in summary you’ll want to set up your Google Analytics, add a property to / or update your Google Search Console and submit a new sitemap. Install some helpful plugins such as Yoast (for SEO and sitemap), some security plugin such as Wordfence, and backup tool such as UpdraftPlus. Why not create your own custom email address for your new blog.

If you want to learn more about using WordPress an excellent resource is WP101.com. For a small yearly subscription you will get access to some of the best WordPress tutorials and videos on the internet. They are regularly releasing new content and constantly updating the existing ones to keep up with changes.

Please share this post! I’ve seen many tutorials on this topic recently and so many are out-of-date or simply don’t cover the necessary details required for a proper move from WordPress.com to WordPress.org

 

Please feel free to comment or ask questions below. Also join our Facebook group at https://www.facebook.com/groups/bloggertowordpress and learn from or support other bloggers who have been or are going through blog transition to self-hosted WordPress.

Thank you!

 

Disclosure: Some of the links in this page are ‘affiliate links.’ This means if you click on the link and purchase the item, we will receive an affiliate commission.

2 Comments

  1. Awesߋme blog! Do you have aany suggestions for аspiring writers?

    I’m hoping to start my own blog soon but I’m a little lost on everything.

    Would you advise starting with a free platform like Ԝordpress or
    go for a paid option? There are so many options out there that I’m totallʏ overwhelmed
    .. Any recommendations? Bless you!

    1. Yes, starting out on the free WordPress.com platform would be my recommendation. This allows you to create some content, get used to the platform, and you can easily switch to self-hosted later on if you want.

Leave a Reply

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