If you have a website or blog hosted on wordpress.com and would like to transfer it to a different hosting platform (running on WordPress), this tutorial will guide you through the whole process.
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 move to a self-hosted WordPress site.
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. At that time I didn’t want to spend too much on hosting. It was a new site so I went with Bluehost shared hosting – Basic plan.
What is Shared Hosting
Shared Hosting is a type of hosting plan where you share the server with other users. Shared hosting is good when you are just starting out a new website and don’t expect a lot of traffic. It allows you to maintain a site while keeping your budget under the limit.
Why Shared Hosting is Cheaper
Web hosts can offer shared hosting at such a lucrative price because you are not the only user. The downside is that your site might get affected when a traffic spike occurs on another site. If your website starts to consume too much server resources your web host might notify you to upgrade your plan. However, they don’t mention these things on the sales page. There is no such thing as Unlimited Domain, Unlimited bandwidth or Unlimited Storage.
All web hosts try to seal the deal by giving you an option to purchase a 2 year or 3-year plan. You also get a decent discount as well. However, that’s not always ideal because you might want to move to a different host a year from now. Usually, it comes with a 30-day or 45-day money back guarantee but they definitely won’t give you a refund after that period. If you are in a situation where you need to change your host, this might even force you to stay as you have already paid for 3 years. And If you still want to go ahead with moving you will probably be looking at a $500 loss.
My Experience with Bluehost Shared Hosting
I was a little afraid of paying too much after my previous experience with GoDaddy. So I signed up for a monthly plan. I could probably save a lot but my main goal was to just check out the Bluehost Shared Hosting – I wasn’t disappointed!
It’s been a year but my website never went down – not once. And the page load speed’s been amazing. I can’t believe my site was hosted on a shared server all these time. That day just never came where I would have to think about moving to a different host or upgrade my plan.
Web Hosts Comparison
I’m not a big fan of web hosting reviews. They are mostly biased. When someone writes a good review on a hosting company, it’s usually because they are affiliated with them and get paid for it. However, A2 Hosting is making some real noises in the WordPress community. And they are not just reviews, a real-time analysis in terms of speed and performance.
Unfortunately, I can’t just go with a 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 is very important to me because I barely make any money from this website.
The first one that came to my mind was SiteGround. 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).
Stumbling upon SiteGround WordPress Hosting
SiteGround was offering a massive 60% discount on their WordPress hosting plan. One thing I really liked about SiteGround is that they charge you less like a shared hosting plan but offer tons of features in return. It includes free website transfer so you can put your mind at ease if you are planning on moving to SiteGround. Some other notable features include – free SSL certificate, free Cloudflare CDN (content delivery network), free daily backups.
with this 60% discount, the price was still within my budget and I could serve my website pages in HTTPs – That’s unbelievable!
Their plans didn’t talk big like other web hosts in terms of unlimited storage, unlimited bandwidth or unmetered traffic but were clearly stating the features. To be honest, Free SSL, Free SSD storage, Free CDN, free regular backup and a web server specifically optimized for running WordPress were enough to attract any user. And when I decided to read some SiteGround Web Hosting Reviews it gave me enough hope for moving.
I didn’t take long. I signed up for their StartUp Optimized WordPress plan just a couple of days ago and the experience has been amazing 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.
Moving from WordPress.com
The setup process is very quick. Once you sign up for this plan WordPress will be automatically installed for you (no manual one-click install). 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.
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 on migrating wordpress.com subscribers.
When you connect to your wordpress.com account 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 SiteGround account panel. 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.
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.
This concludes my tutorial on moving to a self-hosted WordPress site from WordPress.com. If you have any tips/questions about the migration process feel free to share it in the comment section.