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
- Get a Domain Name
- Get a Hosting Account for Your Self-hosted WordPress Blog
- Install WordPress
- Change to Temporary Domain Name
- Prepare for Your WordPress.com to WordPress.org Import
- Content Transfer from WordPress.com to WordPress.org
- Fix Categories
- Themes, Menus, and Widgets
- Take Your Blog Live – Redirecting Visitors to Your New Blog
- What’s Next?
Ok, let’s get started…
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.
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:
- They’re usually cheaper upfront (unless the hosting provider has a special deal going), and on renewals.
- 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.
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.
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.
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!
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.
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!
Once you’re done, you can check-out and pay!
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
Next, check off Don’t need help now and select Confirm.
Now check the box to confirm you agree with SiteGround’s Terms of Service, and click on Complete Setup.
You’ll now be at your “My Accounts” page and your page should look like the image below. Go ahead and click cPanel.
When the cPanel dashboard loads, click the WordPress AutoInstaller.
When the Softaculous WordPress installer screen loads, click on Install.
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.
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.
This will only take a minute or two, and DO NOT navigate away from the page.
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.
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.
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.
Click Proceed if you get this message:
Now you’re in your cPanel, scroll down to Databases, then click on phpMyAdmin.
In phpMyAdmin, expand out the database tree. It should look something like myblog1_wp456.
Find and click on 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.
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.
Your table should be updated to look similar to this:
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.
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.
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.
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.
Now scroll down to and click on 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.
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.
At the bottom of the import page you will see the WordPress import tool, and usually not installed by default. Click on Install Now.
Now let’s move on to actually importing your WordPress.com content to your new WordPress.org site.
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.
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.
Now scroll down the page to Site Tools and click on Export.
In the export screen click on 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.
Now right-click on the Download link and choose Copy Link Address. Now paste the link in a text editor for later.
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.
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).
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.
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).
Most likely however, nothing will happen! Your page will stop loading and you’ll either get an error message, or nothing at all.
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.
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.
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:
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.
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.
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.
After installation click on Activate.
Now go to Settings > Taxonomy Filter and check off the Tags box under Posts, and then click Save Changes.
Now in your Posts page you will have the ability to filter by tags.
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.
Now click the check box under Bulk Actions to select all posts.
Click on Bulk Actions, select Edit, then click Apply.
Now check the box of the category you want to add to these posts, then hit Update.
Now repeat for all categories with matching or similar tags.
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.
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.
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.
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.
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.
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.
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.
You can also add/edit widgets from the live preview (under Appearance > Customize), however not all widget locations may be shown in this view.
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.
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.
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.
Look for the Name Servers section and open the option to change it.
Select 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:
Enter the two addresses exactly as shown, no spaces or extra characters and save it.
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.
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.
Now click on Name Servers and DNS.
On the section that says Use WordPress.com Name Servers, toggle the switch off.
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:
Copy and paste the name servers exactly as they appear, no spaces before or after. Then click Save 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.
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.
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.
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.
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.
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.
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.
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.
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!
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.
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.