Those of you who are regulars here probably have noticed that I have changed the layout of my blog. This change followed a migration from Wordpress to Hugo blogging platform. Despite the fact that I am still migrating parts of my old setup, I am already very happy that I have made the move. This blog post is to tell you this short story.
I also apologise in advance for parts of the blog that still might not work properly.
Problems with Wordpress
Updates updates updates…
Everyone on this side of the universe (The Developers and derivatives) knows Wordpress. It is a huge platform with lots of functionality and plugins. All of those things require constant maintenance and regular upgrades for newest features and security patches. If you have customized the layout of some theme, there is a chance that updating a plugin can break your website entirely. The last 2 plugin updates have broken the layout of my blog. On Friday, after some plugin updates, my website layout was broken again. Some functions of my blog stopped working at all. That was the last drop of bitterness that made me switch to another platform.
All of this has led to hiring a freelancer (and my good friend)
Cezary Nazaruk, who fixed the blog for the time being. He also improved my blog quite significantly and recommended quite a few improvements, including SEO and layouts. If you need help with your wordpress blog, I highly recommend him.
Page load time
I was running on the cheapest VM instance there is on Google Cloud. 512MB RAM doesn’t exactly cut it for a wordpress website, but also isn’t terrible. The load time of my page was between 2-5s. Average page load time over the last 90 days was 5.3s. This is not impressive but as a non-profit blog I was able to handle it.
Running cheapest VM on Google Cloud along with storage for backups costs me around 7$ per month. That’s not much, but taking into account that I don’t make money out of this blog, it could be cheaper.
Why static site generator
I started being interested in static web page generators, such as Jekyll and Hugo a while back. I have also seen some pages and blogs using it for a while. I never actually considered static page generators because of their lack of features compared to CMS platforms. However, recently my frustration with Wordpress grew too much. I wanted something simple that wouldn’t break every time I update a plugin.
I started with Jekyll as it seemed more popular. However, after a few hours I gave up as it wasn’t so easy to setup as advertised. With hugo it took me 30 minutes to have basic working website in place.
Why I moved to Amazon from Google Cloud
I was hosting my wordpress blog on Google Cloud Platform. I wanted to continue using GCP, as I really like the simplicity of Google platform. Unfortunately in order to host a webiste on Google Cloud Storage (a’la Amazon S3) over HTTPS you need to setup a Load Balancer. The basic (flat-fee for the first 5 load balancing rules) price of Google Cloud Load Balancer is $18. This was way above my budget of $1 for non-profit blog :)
My page load time has decreased by an order of magnitude. Simple change of one css file enables me to re-design the website. I am also happy that I can write my blog posts in Markdown. It was also possible in Wordpress, but the Markdown was automatically converted to HTML after saving. This led to many annoyances during writing articles.
Wordpress requires non-trivial amount of maintenance even for a small website. I was not ready to put those hours in, as I prefer to focus on the content rather than the CMS. I also did not leverage wordpress’ features much. If you really need Wordpress, though, I recommed an awesome guy who can help you with both inital setup and website improvements -
I am happy with my migration to Hugo. Despite the fact that not everything works just yet, I already feel the benefits of generating static pages, such as page load time, simplicity and ease of usage. As I learn the hugo platform, I will continue to improve my blog. Any feedback from you is highly appreciated. As I still don’t have comments section, you can write me an email directly to email@example.com