Recently, I moved this website “compile.blog” from WordPress.com to the self-hosted WordPress solution.
And, searching didn’t help because all the articles/videos were about moving from WordPress.com’s free sub-domain to a self-hosted WordPress with a custom domain.
But it was a bit different in my case: “compile.blog” itself was with WordPress.com.
After struggling a bit, I found a way to do that.
Here, I will be very reasonable and explain the “why” of moving my site away from WordPress.com and a step-by-step guide to doing that.
What is WordPress.com?
WordPress.com and WordPress.org are confusing for the new comers.
Let me explain:
WordPress.org is just an open-source and free CMS (Content Management System) software that you can install on any web host.
Whereas, WordPress.com is a managed WordPress hosting that uses that WordPress.org’s free CMS software to provide an optimized experience.
Why did I move away from WordPress.com?
I was using the personal plan (approx. $3 per month) and it didn’t have enough customization options that I needed.
Some other reasons were:
- the default permalink structure is not SEO friendly
- it didn’t support iframes
- it didn’t let me embed Airtables or Gists
- I couldn’t add a newsletter form
- any extra plugin was not allowed
- there was no way to do SEO optimizations
- it didn’t let me add some additional CSS
However, upgrading to their business plan would have solved most of these problems. But… it was not worth it to spend approx. $10 per month for a site that only gets a few thousand monthly views.
Also, even if you get the business plan, it will not be as customizable as a self-hosted solution.
How to move away from WordPress.com
I am going to explain step-by-step what I exactly did to move compile.blog from WordPress.com to a self-hosted WordPress solution.
Please note that your website might be down for a few minutes while moving. So, it’s advised that you choose a time when the site has the least number of visitors.
#1 – Transferring the Custom Domain to NameSilo from WordPress.com
I had a custom domain (compile.blog) added to my WordPress.com site and removing it was a kind of pain. The problem was, I had bought the domain from WordPress.com itself and I didn’t want to keep it there anymore. So, I had to move the domain out to NameSilo.
To be honest, I thought it would be a problem to transfer the domain, as I would lose all the traffic to the website for almost a week until the domain transfer gets completed. But, to my surprise, the transfer got completed within 48 hours and the site was still up during the time.
Here’s what I did:
- got the transfer code from WordPress.com
- went to NameSilo transfer manager, added the domain, completed the payment, and
- requested the transfer
And, within 2 days, I received an email from WordPress that if I approve the transfer now, the domain would be instantly transferred. I did.
#2 – Exporting the Data from WordPress.com
The website was live during the transfer period but once the transfer got complete, it wasn’t opening.
Now, I made the WordPress.com sub-domain (atechplanet.wordpress.com) as the primary domain and then deleted the custom domain (compile.blog) after that.
My website was accessible through the sub-domain.
Now, you have to navigate to Tools > Export from the left-side admin panel and download all the content by clicking on the Export all button.
#3 – Setting Up the Self-hosted WordPress with the Custom Domain
Now, it’s time to buy a web-hosting and then set up a WordPress instance by attaching the transferred custom domain.
I use DigitalOcean to host all my websites. Here’s how I did:
- created a WordPress Droplet
- added the custom domain
- updated the domain DNS records and Nameservers
- waited for 10-15 mins
- completed the WordPress installation, and
- logged into the WordPress admin
Earlier, compile.blog had a 3rd party theme but now, I wanted to use the WordPress default Twenty Twenty theme. After setting up the theme, it was time to import all the content.
And, it’s not difficult at all.
Just navigate to Tools > Import inside your wp-admin of the new site and then install the WordPress importer, run the importer, choose the file that you downloaded from WordPress.com and run the import.
It will ask, whether you want to assign all the content to an existing user or you want to create a new user or you want to import the author data too. You can do anything you want, no problem at all.
And, an important thing is, do not forget to check the “Download and import file attachments” checkbox. It ensures that all your images and other attachments are imported to your new installation.
Submit, and you’re done. It will take a few minutes depending upon the number of posts you had.
Now, all your posts and pages should be accessible as earlier.
Set your WordPress.com sub-domain to private after everything is completed to avoid duplicate content issues.
WordPress.com has a default and only one permalink structure as
https://compile.blog/2021/04/19/sample-post/ but I don’t like it. I prefer my permalink structure to be like
For that, I 301-redirected all the old post URLs to the new structure URL. And, took the help of a tool called Scraper to scrape the URLs of all the posts, and to add 301 redirects, I used the WordPress plugin called Easy Redirect Manager.
The WordPress plugin allows you to upload a CSV list to add multiple redirects and that makes the process really easy. I used the above CSV file to add redirects.
Your website should now be fully ready and you can do some other modifications as you would do in a normal WordPress installation.
For your convenience, here’s a quick checklist of what you need to do:
- Transfer the custom domain to another registrar (if you have a custom domain added)
- Export the data from WordPress.com
- Set the new WordPress with the custom domain
- Import the data to the new WordPress
- Set your old WordPress.com website to private
- Change the default permalink (if you want)
What can I do if some of the images are still loading from the WordPress.com sub-domain?
Yes, this happened with me too.
And, I used a plugin called Auto Upload Images and with just a few clicks all the images were automatically uploaded to my new site.
Here’s a detailed tutorial on that:
My domain is registered with WordPress.com, can I take it away?
Yes, in that case, you will have 2 options:
- You can keep your domain with WordPress.com and still point it to the self-hosted WordPress.
- You can transfer your domain to any other registrar and then point it to the self-hosted WordPress.
Here’s a tutorial on how to transfer your domain to a different registrar from WordPress.com.
Can I change my WordPress theme?
After the import process gets finished, you can change to whatever theme you want, blog posts won’t get affected by that.