Step 3a – Import WordPress From non-Business Plan

With WordPress Installed from Step 2, let’s continue with moving your WordPress.com site to your new self-hosted WordPress site on SiteGround. Note, if your WordPress.com site is on the Business plan, you can follow the instructions at Step 3b instead. You can find those here.

If your site is not on the business plan with WordPress.com then your only option for going self-hosted WordPress is to use the built in WordPress export function. Keep in mind though, this only exports your content, so posts, pages, comments, and media if referenced to in the posts and pages. Themes, customization settings, logos, etc. will not be included in the export file. Also, large sites (lots of media files for example) will most likely time out on the import portion of this process, so will have to be re-imported several times (depending on the site size) before it’s fully imported. One option to get around this is to use SSH and CLI commands to get around the limits, or on SiteGround’s GrowBig and GoGeek plans, SiteGround will actually handle the import for you if you ask them. Another option, upgrade your WordPress.com plan to the Business plan and use the Business plan transfer option here. Yes, this will cost you a bunch of $$$, but WordPress.com will give you a full refund if you cancel the upgrade within 30 days.
Lastly, the Premium themes on WordPress.com are not transferrable, so they will not import/work on the self-hosted site.

Let’s get started!

From your site’s Dashboard, click on Tools to expand the options and click on Export.

wordpress export link

In the Export your content section, click on the Export All button.

wordpress export all button

When the export is complete you’ll see a success message. Click on the Download link to download the export file.

wordpress export download link

That’s it for the export process. The next step will require you to import the file to your new WordPress installation. Before we get there, you’ll note the downloaded file is a .zip file. The new WordPress installation won’t be able to import directly from the zip file, so this will first have to be extracted. After extraction there’ll be at least one .xml file from the zip file. On larger sites there could be multiple files. Each one will need to be imported separately.

Let’s start importing!

Log in to your new WordPress installation dashboard on your new host we setup in steps one and two, and go to Tools > Import. Scroll down and click on Install Now under WordPress.

install wordpress importer

After it’s installed, click on the Run Importer link.

wordpress importer run importer

Click on the Choose File button and select the xml file from your computer’s hard drive (or the first xml file if there’s more than one) you extracted from the export zip file you downloaded from WordPress.com.

wordpress importer choose file

After the file is selected, click on the Upload and import button to start the import.

wordpress importer upload file

The file will be uploaded and analyzed. When done, select the Download and import file attachments option to make sure your media files are imported, and click on Submit.

wordpress import download media and submit

You may get some error messages, and this is normal since not all WordPress.com elements are importable.

wordpress import failed items

If you don’t get a success message indicating the import was successful, navigate back to Tools > Import and run the importer again, upload the file again, and keep doing this until you get a success message. If your site is very large, ie lots of posts and media files, this could take a few iterations to complete. Keep at it until you get the All done. Have fun! message.

wordpress import success message

When the import’s done, our recommendation is to spend some time setting the site up to look the way you want it. This means installing the theme you want and customizing it to look like your WordPress.com site, so your menus, logo, widgets, etc.. Depending on the theme you had on your WordPress.com site, you may be able to find it in the WordPress repository if was a free theme.

When you’re happy with the look of the site you can start the final steps of pointing your domain name to the new site to take it live. We need to know the name servers to use, so the first let’s grab these from our SiteGround account area. Click on the My Accounts tab, and then the Information & Settings tab, and copy the name servers shown under Account DNS.

Siteground name servers

If your domain name is registered with WordPress.com, then follow these steps. If your domain name is registered elsewhere, then follow your registrar’s support documentation for changing name servers. In your WordPress.com dashboard for your site, go to Manage > Domains, then click on your domain name.

wordpress primary domain settings

Click on Name Servers and DNS

wordpress name server and dns settings

Turn off the switch next to the Use WordPress.com Name Servers and enter the two name servers you copied from SiteGround earlier, and click on the Save Custom Name Servers button.

wordpress set custom name servers

Note that due to something called DNS propagation, it could take some time (a few minutes to several hours) for these settings to work, so don’t worry if it doesn’t work right away.

Now head back to your new dashboard and change all internal temporary domain references to the correct domain. We’ll use a plugin for this, so from the WordPress dashboard, click on Plugins > Add New.

wordpress Add New plugin

In the search box type in Search & Replace and look for the Search & Replace plugin by Inpsyde GmbH and click on the Install Now button.

wordpress install search and replace plugin

Then click on the Activate button.

wordpress activate search and replace plugin

Go to Tools > Search & Replace, and then create a backup of your existing database just in case. Click not the Create SQL File button just in case.

wordpress search and replace backup database

Now click on the Download SQL File button to download a copy of the backup.

wordpress search and replace download sql file

Click on the Search & Replace tab.

wordpress search and replace tab

Now under the Search for: text box, enter your temporary url you’ve using to access your site. In the Replace with: text box, enter your domain name. You’re going to activate the SSL certificate after this step, so use the full https in the url. So, http://146.66.68.31/~goselfho in the first field for example, and https://goselfhosted.com in the second field. Make sure to replace the above with your own temporary and actual domain names.
Select the Select all tables checkbox, make sure Dry Run is selected, and click on the Do Search & Replace button to start the dry run. Your settings should look like this:

wordpress search and replace dry run

The dry run should show the results of a test of the search and replace action.

wordpress search and replace dry run results

If your results show nothing was processed or updated, then the search for field may have incorrect information in it. Correct this and try it again.

To run it for real this time, click again the Select all tables checkbox, and uncheck the Dry Run box, choose the Save changes to Database option, then click on the Do Search & Replace button again.

wordpress search and replace save changes to database

You should get another similar success message, but this time you’ll probably be booted from the dashboard and asked to log back in. You likely won’t be able to log in though since you’ve set the domain url as https and there’s no SSL certificate issued for the domain name. To fix that, head back to your SiteGround account cPanel. Click on the My Accounts tab, and then on the reed Go to cPanel button.

SiteGround cPanel button

Scroll down to the SECURITY section and click on Let’s Encrypt.

SiteGround cPanel Lets Encrypt link

Select your domain (if you have more than one), and click on Install. The SSL certificate will now be queued to be installed, and within a few minutes the domain name will start working again and showing as secure and you’ll be able to log into your WordPress dashboard again.

SiteGround Install Lets Encrypt SSL certificate

And that’s it! Your WordPress site is now self-hosted and you can clean up/cancel your plan subscription at WordPress.com.

Disclosure: Some of the links in this page are ‘affiliate links.’ This means if you click on the link and purchase the item or service, we may receive an affiliate commission at no extra cost to you.