Why I moved from Wordpress to Hugo

Β· 624 words Β· 3 minute read

Introduction πŸ”—

Previously I tried hosting my personal blog/website (techiesandy.com) on a Wordpress site. This site was hosted on a Oracle cloud VM (VM.Standard.E2.1.Micro shape). Wordpress was installed on Docker with the following stack

  • Mysql as database
  • Nginx as the http server
  • Certbot for automatic SSL certificate management via LetsEncrypt
  • Wordpress

Entire site was proxyfied via Cloudflare.

The problem πŸ”—

While it was all fun and exiciting to setup Wordpress site, choosing the right theme from a plethora of options and only then I started encounter issues

System performance πŸ”—

As said, I hosted the whole stack on a Oracle cloud VM, specifically on a VM.Standard.E2.1.Micro shape which has a modest 1 core CPU and 1GB of system memory, which in theory should be sufficient for hosting a site. Atleast that is what I thought./ I constantly faced system unresponsiveness. Sometimes things were so bad that I could’nt even login via SSH. Installing system updates were always slow with frequent system crashes, so I always had to bring down the docker containers to patch the system.

Below is a snapshot of system resources used by the stack.

top - 10:37:15 up 15 days,  4:11,  1 user,  load average: 0.01, 0.03, 0.00
Tasks: 154 total,   1 running, 153 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.3 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.2 si,  0.3 st
MiB Mem :    950.0 total,     12.1 free,    690.2 used,    247.6 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    180.2 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  58251 systemd+  20   0 1778324 394468      0 S   1.0  40.6 309:57.46 mysqld
     14 root      20   0       0      0      0 S   0.3   0.0  94:10.97 ksoftirqd/0
     28 root      20   0       0      0      0 S   0.3   0.0  90:08.54 ksoftirqd/1
  58217 root      20   0 1238400   2812      0 S   0.3   0.3  30:28.54 containerd-shim

Customizing the theme πŸ”—

Another issue what I faced was customizing the theme what I chosen for the site. Now this is completely on me that I chose a theme, though very well designed was very difficult to customize. I constantly had issues moving design elements around the page. For example if I had to move the caption section anywhere around the page, it was quite a task !

Editing theme elements

Plugins πŸ”—

Although there are a plenty of plugins (both paid and free) available for Wordpress, I found using them was was like using a freeware. Most of the features were locked down under a payment/subscription making them hard to use. Now I do understand that someone running a business might bear an expense of such a subscription, but for me, I want to only blog, so this was not going to work out.

Enter Hugo πŸ”—

While attending an online live event, I came across the website of one of the speaker. I started casually browsing and felt how responsive the website was. At the footer of the site, I saw Powered by Hugo. Then I started exploring Hugo, found out that its quite easy to get started.

The journey πŸ”—

So, I installed hugo on a Ubuntu WSL, went through the setup documentation found a simple theme and voila, I had a working website within few minutes. The next thing to figure out was about where to host this website/blog ?. Do I again host it on a Oracle cloud VM ? which would mean, I have to figure out how to secure the site, how to put the site behind Cloudflare proxy, etc. On further reading Hugo documentation, I found the different hosting options and what caught my mind was hosting it on Cloudflare pages. Thus, this site was born.

Further, I have also written on how to setup Hugo on Cloudflare pages. You can find it here.