Migration from WordPress.com to a self-hosted Blog on Amazon Lightsail

Why Amazon Lightsail? I started my blog theonet.de seven years ago on WordPress.com. It was easy to set up, I could use the blog right away and it was only 13 bucks a year to map my blog’s domain theonet.de to the domain theonetde.wordpress.com provided by WordPress.com.

For a long time I was happy with that solution but in the long run I grew tired with the restrictions of WordPress.com and I wanted to gain full control over my blog.

One night I decided to migrate my blog and was looking for a hoster for my new self-hosted blog. As my idea to self-host my blog was still an experiment I needed an economic solution without a long-term hosting commitment. To have fall-back options was a necessity in case something went wrong during the set-up. And I wanted to start right away.



Amazon Web Services (AWS) offered a free version for a year which could be activated instantly and was ready to use. However, I found AWS EC2 a bit too complicated for a beginner, then I discovered Amazon Lightsail. It was a lot easier to use and I started the process to transfer my blog.

Amazon Lightsail
Amazon Lightsail

I know Amazon, Google, Facebook and Apple are often criticized for their lack of data protection and transparency, Amazon in Germany is under attack by trade unions. However, the strike is about workers’ condition in Amazon’s warehouses and not about Amazon cloud computing. Amazon offers GDPR compliant cloud computing within the European Union. I opted for Frankfurt as server location. From an ethical perspective I still feel uneasy about my choice of Amazon Lightsail but from a practical viewpoint it is a very good solution. Sometimes compromises are a part of life., digital or otherwise. I try to buy fair-trade and organic products but my shpping cart also carries other items.

Here is how I how I migrated my blog. It was not done in a single day, but I worked on it step by step. Before making another step forward I took a snapshot of the whole system so I had a fall back option. Fortunately, I never had to reinstall a snapshot. My blog is now up and running with SSL encryption. Here are the steps I took.
I signed up for AWS Lightsail and followed the documentation at https://docs.bitnami.com/aws/get-started-lightsail to installed a new WordPress blog with server location in Frankfurt/Germany. Note: The browser console is very handy. It was even more practical after I found out (why was *this* mentioned nowhere?) that you can copy the clipboard content to the console via the left mouse button.

I exported the blog from WordPress.com and imported it to my instance on AWS following the procedure at https://move.wordpress.com/exportimport-content/. Do not forget to include “files” before starting the import routine.

I attached the domain name to the new server, following: https://docs.bitnami.com/aws/faq/configuration/configure-custom-domain/. and I redirected the domain to point to the new server. I did this by changing the A Host setting with my domain service provider. I changed the domain mapping in my WordPress.com instance and made the wordpress.com domain (theonet.wordpress.com the primary domain.

Next I configures the domain within the WordPress installation according to https://docs.bitnami.com/aws/faq/configuration/configure-custom-domain

I enabled SSL through a Let’s Encrypt certificate through installing Cerbot withhttps://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-using-lets-encrypt-certificates-with-wordpress,

I migrated the suscribers to my old to my new blog following with https://en.support.wordpress.com/site-redirect. I also wrote an email to the WordPress support team asking to transfer the stats to my new blog. So far I have not gotten a response. Last I deleted the domain mapping theonet.de on WordPress-com and bought a redirect from theonet.wordpress.com to theonet.de.

On my new server I eliminated all references to the old wordpress.com domain thru a seearch and replace procedure via a plug-in. . I followed href=”https://blog.templatetoaster.com/update-old-urls-in-database/”. First I used the plug-in Search and Replace but it did not work on my server. (I read some comments that it does not work with WordPress 5.) My second attempt was Better Search Replace and it worked.

Now my blog is running on my new server …

Screenshot theonet.de
Screenshot theonet.de

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.