If you have a website or blog hosted on wordpress.com and would like to migrate/move to a different hosting platform, you are in the right place. This tutorial will guide you through the whole process of switching from wordpress.com to wordpress.org (a self-hosted site running on WordPress).
Before I jump into the moving part let me explain some things about wordpress.com (in case you are not familiar with it) or why I decided to change my hosting from wordpress.com to a self-hosted environment – wordpress.org. If you want a more in-depth tutorial on the migration part, please check out the definitive guide to moving from wordpress.com to wordpress.org.
What is WordPress.com
WordPress.com is a site that runs on WordPress (content management system) and allows you to create your own blog or website for free. This is great for users who just want to get the experience of blogging or write content for personal use. It also works great if you are just starting a new website for a particular niche and not really sure how it will go.
Pros & Cons of Hosting on WordPress.com
- You can host it for free, there is no hidden costs or fees – You get a subdomain (which always ends with wordpress.com) unless you purchase a domain upgrade (It costs at least $18.00/year for registration and mapping).
- Less bandwidth issue compared to most hosting companies out there – You get up to 3 GB of storage space for free. In order to get more space and unlimited bandwidth, you will need to purchase the space upgrade (starting at 10 GB for $20.00/year to 200 GB for $290/year). With space upgrade, you can also upload additional filetypes like MP3s.
- Faster page load time – You can’t really install any WordPress plugin. You only have the choice of installing a theme that is available on wordpress.com (either free or premium). You can’t edit/customize any file. In order to customize the fonts, color and CSS you can purchase their Custom Design upgrade ($30.00/year).
Why I Hosted My Site on WordPress.com
I actually created this site to use as a homepage for my free WordPress plugins. Users usually come to my site to check out the documentation or if they are having any issues with a particular plugin. And I’m always happy to provide free support. I try my best to reply to each and every comment on my site as well as the wordpress.org support forum.
That was going alright until I started to get more and more support questions. So I had to find a way to monetize my site. That’s when I discovered WordAds.
What is WordAds
WordAds is the official wordpress.com advertising program (Similar to Google Adsense). It allows you monetize your site by putting ads in various places (header, content, sidebar etc). WordAds revenue is based on impressions (not clicks).
I was very excited to hear about WordAds as wordpress.com doesn’t allow any third-party advertising network. Unfortunately, you won’t get the invite until your site gets a decent amount of traffic (The exact number is unknown and not disclosed to the public). They have recently changed this policy though. Websites with low to moderate traffic are now also being accepted for WordAds. However, I would not interpret “low” as “90-100” page views/day as my site was accepted just a month ago and it has been getting thousands of page views every month for at least 6 months.
My Experience with WordAds
When I enabled WordAds my initial experience was not that great. For some reason, those ads were slowing down my site. I think it’s because these ads are not really optimized for display like Google Adsense. I also didn’t like the video ads, they were making my site non-responsive to the point that I couldn’t even scroll (not to mention how irrelevant the ads were for my target audience). At one point my antivirus blocked one of the ads and flagged it as malicious content.
I believe Search Engines noticed this performance loss as well. Ever since I enabled WordAds my daily traffic went down a little bit (that can’t be a coincidence). But I got really shocked when the monthly earnings came out.

$4.62 for 4150 impressions (I was only able to run it for like a week last month). It turns out that you get paid in dollars per thousand impressions. And that’s the best case scenario because it only applies if all the viewers are from the US. If the majority of your website visitors are from other countries your earnings will be even lower.
Just by applying simple math I could see that this WordAds campaign is not going to work out for me. And that I have no reasons to keep my site on wordpress.com anymore.
Search for WordPress Hosting
If you use my plugin you may have noticed my other site wphowto.net where I write how-to tutorials on WordPress. This site was originally hosted on GoDaddy a few years back. After encountering frequent downtime and 500 internal server error I was forced to move to a new web host – SiteGround.
Why SiteGround WordPress Hosting?
At that time I didn’t want to spend too much on hosting. It was a new site so I decided to do some research. After seeing so many good reviews on SiteGround, I decided to go with SiteGround WordPress Hosting.
My Experience with SiteGround WordPress Hosting
I was a little afraid of paying too much after my previous experience with GoDaddy. So I signed up for their GrowBig value plan. I could probably save a lot but my main goal was to just check out SiteGround – I wasn’t disappointed!
60% Discount + Free SSL and It’s been a year and my website has been up most of the time. And the page load speed’s been amazing.
Web Hosts Comparison
As you may know, WordPress now promotes Bluehost, SiteGround, and DreamHost as their recommended web hosts. I wasn’t too keen about DreamHost as the prices were a little too high for me. I needed something affordable yet reliable (And now that I have an SMTP plugin I can clearly see which hosts are not reliable and where things go wrong frequently).
Even though I was already with SiteGround, I wasn’t getting 100% satisfaction. They were not offering Free Domain anymore and even the renewal price of their cheapest plan was a little high ($9.95/month). And since I started to get more traffic, their GrowBig plan was not suitable for me anymore (It supports up to 25,000 visits/month). On top of that, I had to make all my payments via Credit Card because they don’t support PayPal!
I finally realized that I can’t just go with a web host based on speed and performance. I still need to keep it within a price limit and compare if I’m really getting the best value for the price. This was very important to me because I was barely making any money on this website. That’s why the first one that came to my mind was Bluehost.
Stumbling upon Bluehost WordPress Hosting
Bluehost was already making some real noises in the WordPress community. They are officially recommended by WordPress.org and currently rank #1 for offering both Cheap WordPress hosting and Best WordPress hosting.
What I stumbled upon was a massive 50% Discount on their special WordPress hosting plan. One thing I really liked about Bluehost is that they charge you less like a shared hosting plan but offer tons of features in return. They help you transfer your website so you can put your mind at ease if you are planning on moving to Bluehost. Some other notable features include – FREE Domain, FREE SSL Certificate, and 1-Click WordPress Install.
with this 50% Discount, the price was well within my budget and I could serve my website pages in HTTPs – That’s amazing!
Their plans include unlimited storage, unlimited bandwidth, and unmetered traffic (no need to worry about going over 10,000 visits/month). To be honest, Cheaper Renewal Price + FREE Domain + FREE SSL and a web server optimized for running WordPress were enough to attract any user. And after I read some Bluehost review and Bluehost Cloud Hosting Review, it gave me enough hope for moving.
I didn’t take long. I signed up for their Basic Optimized WordPress plan just a couple of days ago and the experience has been mind blowing so far. This is insanely faster than my other site hosted on the shared plan (I plan to transfer it to this server and cancel my other plan very soon). I guess when they talked about offering a fine-tuned web server it was no exaggeration.
I don’t know why but I noticed a huge traffic boost in the last 3-4 days. What’s more noticeable is that my site traffic has actually doubled since I moved from wordpress.com to this server.
How to Move from WordPress.com to WordPress.org
Before starting the migration process I checked out a guide from wordpress.com and wpbeginner. But I was not being able to fully understand the setup since I was a new blogger. So I thought I would do the hard work and create a guide for users who are new to this.
The transfer process from wordpress.com to wordpress.org is actually quite simple. And once you sign up for this plan WordPress will be automatically installed for you (If it’s not installed you can just do it a single click from your cPanel). You will receive an email notifying you of the install.
Exporting Content from Your WordPress.com Site
Log into the dashboard of your wordpress.com site and export all content from Tools -> Export,

When the export process is finished wordpress.com will send you the file via email. It will download as a zip file so you will actually need to extract it to retrieve the XML file.
You might receive an error in the email when you click the download button – “Unfortunately, there was an error exporting your site”. Try it a couple of times until you get a success email (it worked for me after trying 3 times).
Login to Your New Site
You can click on the login link sent by SiteGround via email to login to your new WordPress install. However, your existing domain is still pointing to the server hosted on wordpress.com. That means every time you type in the address it will take you to your wordpress.com site (not the new one). So how would you set up your new site? Well, by avoiding the DNS (domain name system) resolver.
Your DNS settings control where it needs to reach out for the content when visitors go to your domain. But you can customize these settings locally on your computer by editing the hosts file. You can specify in the hosts file to go to a certain IP address when a particular domain name is entered in your browser. This allows you to work on your new site while visitors browse your wordpress.com site as usual.
This is pretty simple. Here is a tutorial on how to edit hosts file on different operating systems. You should be able to find the IP address of your new server from your hosting account dashboard.
Importing Content into Your New Site
Once you have modified your hosts file you should be able to view your new site. Go to Tools -> Import and select WordPress.

Choose the XML file on your computer and select Download and import file attachments.
Setting up the Permalinks
Your permalinks should already be set to Day and name. This is how it is set on a wordpress.com site (even though you don’t get any option to modify it). If it is not set for some reason please make sure to update it. Otherwise, your existing posts will go to a 404 page when you launch your new site.

Connecting Jetpack to Your WordPress.com Account
A self-hosted WordPress install doesn’t contain all the wordpress.com features. In order to get these features, you will need to install the Jetpack WordPress plugin and connect your wordpress.org site to wordpress.com.
The installation process is very easy. Go to Plugins->Add New and install Jetpack by WordPress.com. Jetpack is a featured plugin so you don’t really need to search for it in the plugins menu.
Once Jetpack is installed you just connect it to the wordpress.com account where your site is hosted and all features will be available to you. You can enable/disable certain features in the Jetpack plugin.
Importing Stats and Subscribers
Users who subscribed to your site don’t get imported into your new site automatically. You can import them from your wordpress.com site by following these instructions (referral link): http://jetpack.me/support/subscription-migration-tool/?aff=2057.
When you connect your account from wordpress.com to wordpress.org your new site stats reset. As far as I know, there is no option in the wordpress.com account settings to sync with the old stats. You can request the wordpress.com support staff to merge it with your old site.
Changing Name Servers
Once you have finished configuring your new site and are happy with the setup, you can point your domain to the new site. The name servers can be found in your Bluehost account panel (It can also be found in the welcome email that they sent you after the signup). All you need to do is choose Use Custom Name Servers in your wordpress.com domain settings and specify the two name servers. You can check these instructions on changing name servers: https://en.support.wordpress.com/change-name-servers/.
It might take up to 72 hours for these DNS settings to propagate and become fully active. Make sure to remove those custom modifications from your hosts file so you can browse your new site like a normal user.
That’s all there is to know about moving from wordpress.com to wordpress.org. If you have any tips/questions about the migration process feel free to share it in the comment section.