Last week I’ve decided to move my blog from WordPress.com to WordPress.org and self hosted, I thought it will be an easy straight forward process, but it turned out it is not 🙁 especially if you have been blogging for a while and you have popular posts and good traffic coming from search engines.
Why I decided to move? Because I felt that I need more control of my blog; I want to customize the look and theme, have my own gadgets and plugins, and have better analysis of who is visiting my blog using Google analytic tool. WordPress.com is great platform for just blogging and forgetting anything else. The good thing I did when I started using WordPress.com that I registered a custom domain so my Google page rank is not affected during this move.
So In this post I will share my own experience on how I moved my blog. I know there are tons of articles from very experienced bloggers talking about this topic, but really there are some tiny details not covered in the articles I found and it kept me wondering if I’m doing the right thing or not, as well when you move your blog you want to do it with minimal down time, or at least you keep your old blog up and running while your new one is fully configured and ready to welcome your visitors.
I followed the steps below which I found them logically correct, you might do it in different way and it will be great if you shared your experience in the comments section.
Step 1: Setting up shared host with good web hosting company
First things first, you need to setup shared hosting account, there are many out there, I’ve done comparison between different hosts and finally chose Bluehost, and to be honest it was excellent choice so far, especially the customer support, they answer your phone call/chat with very minimal waiting time (1-2 minutes) and they are really helpful and patient.
Once you create an account on your preferred host company, you will have access to their control panel, you need to install the latest version of WordPress.org, it is an easy process and I followed this link to install WordPress.org using simple scripts, really it is one click setup.
After the installation is done you can access your new WordPress.org admin page using the specified IP address i.e: http://66.122.44.55/we-admin/ Once you access it will look the same as WordPress.com but without any content and with very set of simple themes, for now you can choose any one i.e (Twenty Fourteen). Note: Do not change your given IP address from your host company to your domain name at this moment; because your custom domain name is still registered with WordPress.com and points to your old blog. We’ll do this step later once you migrate everything to your new blog.
Before jumping into selecting themes and installing plugins, let’s talk how you can export all your content from your old blog.
Step 2: Exporting all your content from WordPress.com
Now let’s go back to the old blog and export all it is content (Posts, Pages, Comments, Tags, Categories, Terms, Navigation Menu, as well your Images) so we can import them to the new blog.
I’ve followed the first three steps of this article to do the export/import thing, it is very straight forward and basic, we’ll talk about step 4 and 5 in the article later on.
At this moment you should have imported all your content to your new blog, you have your posts, tags, pages, images, etc… But in my case once I previewed the imported posts on the new blog I was upset 🙁 why? because all of my posts contained code snippets, and in WordPress.com I used to wrap them with special html attributes which WordPress.com only understands.
So in my case I visited every post and did some modification on those code snippets. I thought it will be a painful process, but eventually it was a simple one. I knew that I needed to install plugins which supports pasting code snippets so I jumped to the plugins sections and searched for a good plugin were I can use it to wrap my code. There are many plugins, I decided to use Crayon Syntax Highlighter and this was a great choice, you can check my other posts to see how the code snippets are formatted, it is way better than the formatting supported in WordPress.com.
Step 3: Using a new theme so your blog shines!
After I finished this process for around 20 posts, I decided it is the time to search for themes and pick one that it is SEO friendly, doesn’t generate unneeded HTML in arbitrary way. There are many many WordPress.org themes out there, some are free and some are paid. I didn’t do an extensive search here, but I decided to use a theme and framework powered by StudioPress, I’ve made my decision based on the great reviews all over the internet. You can read how Genesis Framework empowers your blog here. The theme and framework cost around 100$ for sure you can use other themes for around 40$ but you won’t get the framework.
Installing the framework and the theme is very simple, after you create an account and pay the fees, you will be able to download two zip files (one for the framework and another one for the theme) then you can follow this link to install them on your new blog.
After the theme is installed, you can browse your new blog with the new theme. If you want to customize the theme then you will find a lot of resources and tutorials once you log in to your StudioPress account. Very simple to follow and implement.
Step 4: Configuring SEO on your new blog
When I was using WordPress.com I never thought of SEO tools, WordPress.com took care of everything, I only added Google/Bing webmaster tools and that’s it, but in WordPress.org it is a different story, you need to take care of this, you need to install plugin which helps you to write optimized content for search engines as well as taking care of your website sitemaps.
There are a lot of SEO plugins available but the most popular one is Yoast WordPress SEO by Joost de Valk. This tool is really amazing and it is easy to use, it has lots of features but what I really liked about it and was not available in WordPress.com that Yoast SEO provides a page analysis tool indicator to help you writing SEO friendly posts as the image below:
So in my case I opened again every post and started to add some focus keyword, meta description. But do not get tempted to change the SEO title because this URL is already out for long time and for sure you do not want to end up with many 404 pages when you move to the new blog.
As well you can use the SEO plugin to add Google, Bing, Alexa webmaster tools key from the SEO Dashboard page, it is pretty the same as in WordPress.com.
Step 5: Getting the cool features in WordPress.com to WordPress.org
To be honest there was some cool features available in WordPress.com which doesn’t exists by default in WordPress.org until you install a third party plugin. The tools I like are (Stats, Subscription box, the like button, and mobile push notifications when you use WordPress.com app). The good news that you didn’t loose them, you can have the same exact tools by installing JetPack which is provided by wordpress.com, all you need to do is to connect your new blog to your WordPress.com account then you start customizing the tools you want to use from JetPack.
The last thing I installed is Google Analytics where you can have deep insight about your visitors, it has too many details and you can’t compare it to the stats provided by JetPack. So to install it I’ve followed these simple instructions in this link.
Step 6: Moving existing domain to your web host
Alright, until this moment no one can access my new blog unless the visitor knows the IP address assigned to me, so you can keep changing and experiencing new plugins/widgets on your new installation until you are satisfied with the results. Once you are happy and good to go, then it is the time to the move. The move means: moving your existing domain to another host in my case Bluehost, so the domain starts pointing to your new WordPress.org installation and visitors will be able to see your new blog. This was the most stressful part of the whole process because I didn’t know about the DNS propagation delay which I’ll talk about it soon.
Now you want to Transfer the domain registered with WordPress.com to another registrar, so in future you can manage the domain renewals from one place (your hosting provider). There is another option which is changing the name servers to point the domain to your hosting provider, in this case you need to renew your domain name and manage it from WordPress.com. Personally, I prefer the Transfer option. The process to transfer is not easy, but you can follow the instructions in this link to transfer it.
Once you made all the necessary steps in WordPress.com following the previous link, you need to go to your hosting company web site and complete the transfer there. Most of the well known hosting companies have clear step by step instructions on how to complete this transfer. In my case I followed this video tutorial provided by Bluehost. You need to have your credit card scanned from the front and back because you need to verify by email that you are the owner for this host account.
Congratulations you are done! You need now to set back and wait until the DNS is propagated, this might take up to 36 hours, in my case it took exactly 22 hours.
During this process I ended up with some questions that I did’t find clear answers to it, below are the questions and how I figured out to answer them!
Q1. What will happen to my WordPress.com blog and WordPress.org while DNS is propagating?
Most probably your new blog will be temporarily unavailable until the DNS propagation is done, the best thing you can do here is to keep serving your WordPress.com blog to your readers but without using the top domain name, you need to go to WordPress.com admin page, choose My Domains and set your primary domain to “example.wordpress.com” as the image below. By doing this; users who are trying to access your blog using your top domain name “www.example.com” will be redirected to “example.wordpress.com” until the DNS propagation is done. You can always check the DNS propagation progress by using tool called Global DNS Propagation Check.
Now go back to your WordPress.org installation, it is the right time to start accessing your new blog by domain name not IP, you can do this by navigating to settings->general then change WordPress address and Site Address to your domain name, i.e: https://bitoftech.net. Note: you might not be able to access your admin page once you do this step until the DNS is fully propagated; so for any reason you want to change it back to IP you can contact your host support to change it for you, or you can change it manually from your MySQL database.
This is the ugliest part of the move, but you really need to relax and wait the DNS to propagate, there is nothing you or your hosting company can do to fasten this process.
Q2. What to do with my old WordPress.com blog after the new one is up and running?
You can keep the old blog and visitors access it using example.wordpress.com, but I think it is little bit confusing because you have migrated all your content to the new one. In my opinion the best thing to do is to set your old blog site viability to Private. You can do this by navigating to Settings->Reading and set the site visibility to private as the image below:
By doing this any visitor trying to access your old blog using the url (http://example.wordpress.com) will be asked to provide credentials to access this blog. Most probably users do not know this URL and search engines didn’t index any pages from it because you just used it for short time (until DNS propagated).
Q3. Do I need to use WordPress.com permanent site redirect (301)?
WordPress.com offers a nice service for 13$/year were you will be able to to forward visitors to your WordPress.org blog, but in my case there was no need for this and I won’t loose SEO ranking because I’ve been using custom domain name once I started blogging at wordpress.com. If you do not have custom domain name and your blog domain was like example.wordpress.com then you definitely need this service so you won’t loose SEO ranking.
Q4. Do I need to verify Google/Bing webmaster tools?
In theory you shouldn’t verify them again because you are using the same domain name and the same meta content value, but I preferred to re-verify them again. All you need to do is to log in to your webmaster tool, verify your website, submit your new site map XML file and that’s it.
I hope this post will be useful for anyone moving his/her blog to self hosted blog, once you are done, all your readers will notice the difference especially if you are using a nice theme 🙂
That’s it for now, let me hear your opinion and experience if you moved your blog already, maybe there is simpler way you can share it with us.
Thanks so much for directing me here – helpful points on a variety of move topics. I ended up having to purchase the 301 redirect from WordPress.com and then set my blog to private. Checking individual posts as well as the main url – they’re all linking correctly to the new site!
I think after a couple years of paying for the 301, I’ll be able to stop…as the amount of old links going to my greasegirl.wordpress.com site will lose relevancy. Now that I’ve completed this, I’m looking into submitting my new site map (I’ve never done any submitting with search engines…but I did integrate Google analytics into my new site).
Thanks for passing by, I really liked your blog and the new theme 🙂 if you are using Yoast SEO plugin then most probably your site map is submitted by default, you can check this by visiting Google webmaster tools and check the number od indexed URLs.
Give Google analytics a try, very easy to install and it has real time monitor so you can know how many visitors are looking at your site any moment 🙂 good luck and let me know if you need any help installing it.
Thank you for all of this information. I am currently trying to self-host my WordPress.com website. I did not buy my own domain because honestly I wanted to see if this is something I wanted to pursue. I am really enjoying it but I am finding all of the limitations I was warned about. Can you recommend where to purchase a domain? Should I purchase it through WordPress before the move or purchase it from the hosting or through Google Apps? Thanks!
Hello, I recommend to buy your domain once you subscribe with a hosting company, usually they provide free domain name when you register with them. I recommend you to self host it, but you have to do all the configuration at the beginning then you forget about it 🙂 good luck and let me know if you need help.
This was very helpful. You don’t know the extent to which I’m happy I found this post. Thanks a million.
Thank you, glad it was useful 🙂
Hi there, thanks for this post! I am worried I won’t be able to do the move on my own. How complex is the process for an intermediate computer savvy person like myself? Is it worth paying for a guided transfer offered by WordPress.com engineers? It is quite expensive but I am seriously considering paying for it to be done for me as I am scared of messing my new blog up! Help
Hi, I took a quick look on your blog and you have been blogging for long time with huge number of comments, so congratulations! Well you can try moving it by your self, what I see that your content includes the post it self, images, and comments, there is no special plugins. First thing you need to do is to buy a host, I’m using bluehost and they doing great so far. GoDaddy is optimized for WordPress.org too. but you need to know which host plan to buy based on your number of pageviews and features you need (number of emails, library size, etc), any shared host plan more than 10$ per month will be good for 150,000-200,000 monthly page view, so do not pick cheap host. Once you buy it you can import your content to it and it will be on temporary domain and keep playing with the theme and new blog style until you decide the time to switch the old one and do the DNS name change where this might take 24 hours. Hosting companies offer the migration service too so you can check the prices of there engineers. Hope this helps and there are 100 of YouTube tutorials about this migration if you want to learn more 🙂 good luck!
Hello excellent blog! Does running a blog like this require a massive amount work?
I’ve very little knowledge of coding but I had been hoping to
start my own blog soon. Anyways, if you have any recommendations
or tips for new blog owners please share. I understand
this is off subject nevertheless I simply wanted to ask.
Kudos!