How to Move from WordPress.com to a Self-Hosted WordPress site

Last updated on by admin


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

  1. 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).
  2. 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.
  3. 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 not 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 chanced 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.

screenshot showing my WordAds earnings

$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 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 any more.

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 HostGator shared hosting – Baby 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 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 6 months 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 HostGator 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 HostGator 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, SiteGround 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 SiteGround and bluehost as their recommended web hosts. I wasn’t too keen about bluehost as I saw many bad reviews from unhappy WordPress users (And now that I have a SMTP plugin I can clearly see which hosts are not reliable and where things go wrong frequently).

SiteGround price was alright after a massive 60% discount. It includes free website transfer and a year of free SSL certificate. But I still need to take the regular price into consideration ($14.95/month). The real deal breaker was the number of page views – it supports up to 25,000 views/month. that’s not suitable for me as I was planning to host 2 sites.

Stumbling upon HostGator WordPress Hosting

I logged into my HostGator account the other day and I suddenly stumbled upon their Managed WordPress Hosting plan. I was really surprised because as far as I could remember they didn’t have this plan.

They were offering a 40% discount but the price was still within my budget without the discount. With this plan I could host 2 sites easily and have up to 200,000 traffic – That’s unbelievable!

Their plans didn’t talk big like other web hosts in terms of performance but they were offering a lot for the price. That many page views with free CDN, free regular backup and 2x faster load with varnish caching were enough to attract any WordPress user.  All anyone would do in this situation is read some more reviews before they click on the purchase button. Well, I didn’t need to!

Who would know better about a web host? Someone who has been with them for a while. Shared hosting is what most web hosts struggle with. If a web host can provide performance hosting in a shared server, I believe they can provide anything.

I didn’t take long. I signed up for their Standard Optimized WordPress plan just two days ago. This is the first time I paid for the whole year and the experience has been amazing so far. This feels even faster than my other site hosted on the shared baby plan (I plan to transfer it to this server and cancel my other plan very soon). I guess the 2x faster load speed was no exaggeration.

I don’t know why but I noticed a huge traffic boost in the last two days. 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 about 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,

screenshot showing how to export content from a wordpress.com site

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 HostGator 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 like usual.

This is pretty simple. HostGator actually has a tutorial on how to edit hosts file on different operation systems. You should be able to find the IP address for 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.

screenshot showing how to import content into 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.

screenshot showing the default permalink settings in WordPress

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 able 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’m 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 HostGator 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 can browse your new site like 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.

special SiteGround WordPress hostingspecial Bluehost WordPress hosting

6 thoughts on “How to Move from WordPress.com to a Self-Hosted WordPress site”

  1. Thanks for this post. I’m desperately in need of help and wondering if you can help me out please. I never had a wordpress self hosted site, but instead i self hosted with host gator and use the wordpress option as it seems you do. I recently heard that if i started the way you explain, i wouldve had easier time building community and following. Not I’m curious if there is a way for me to revert / kind of work backwards ? Like will Jetpack help me with that? And since I don’t have WP account, to install, does it mean for me to create and account and i can link it to my self hosted site? Please help. thank you

  2. thank you so much for thAT post.
    im already stucked in that .
    because ive domain name i got it from wordpress.com saadoxat.com , and i already assigned it to hostgator wordpress hosting plan, but i cant use any plugins outside wordpress.com plugins or any other theme,
    in addition to im obligated to use only wordads (very bad).

    i dont know what to do to shift from wordpress.com to be able to use other plugins ,themes & to signup in GOOGLE ADSENSE PROGRAM?

    CAN YOU HELP ME?
    MANY THANKS,

    1. @AHMED, That doesn’t make sense. When you move your hosting to HostGator you shouldn’t have this restrictions anymore. Are you sure you are not accidentally viewing your wordpress.com dashboard? When did you change the nameserver to HostGator? The domain name propagation takes a while to point to the new nameserver.

      1. i did it 10 days back but i still has the same problem also my dashboard is in blue colour and no plugins buttoms in it which indicate that im still with wordpress.com.

        when i contact hostgator support .they talk about domain transfer but i didnt convinced?

        1. @Ahmed, I’m not sure why they are asking you to transfer the domain. I still didn’t change mine from wordpress.com. It just points to the hostgator nameserver.

Leave a Reply

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