I was able to complete my testing earlier than expected and was able to do the cutover early! This means that my migration from WordPress to Hugo is complete! What’s really cool here is the overall performance improvement to the website.

Performance Improvements

I have a few site monitors running against the website to tell me when it goes offline or is having issues:

After cutting over to Hugo this morning, I noticed a rather large improvement to my response times for the website. The below graph shows my UptimeRobot monitor:

UptimeRobot Monitoring Graph

This screenshot shows the graph from my DigitalOcean monitor:

DigitalOcean Monitoring Graph

Can you spot the theme?!

Explaining the Performance Boost

On the surface, I don’t have a strong explanation for this change. Everything is running on similar infrastructure. I was also running a static WordPress site with the help of SimplyStatic.

There were a few changes in the flow of traffic from the frontend to the actual content. The WordPress version talked directly to NodePorts on my Kubernetes cluster while the Hugo site is coming in through a LoadBalancer port. There is also one less reverse proxy hop in my Kubernetes cluster.

These minor changes made a huge difference!

Less Complexity Means Better

The previous setup called for a number of funky integrations that were somewhat touchy.

Kubernetes Upgrades Caused Outages

This says it all! With my previous setup talking directly to NodePorts instead of a load balancer on the Kubernetes cluster, I had to update my configuration every time the Kubernetes cluster was upgraded. This was because an upgrade would discard the existing the Kubernetes nodes and replace them with new ones. This meant IP changes and I had to do configuration changes in my DigitalOcean app to account for the updates.

Less Infrastructure to Maintain

WordPress upgrades are a thing of the past. Concerns over any plugins and access to the admin console are also gone.

I’ve also removed a layer or two of reverse proxies from the flow of traffic. This reduces the complexities of tracing requests through my infrastructure.

More Automation Ahead!

This is a huge improvement for the future. With publishing now being integrated with Github Actions, there’s an opportunity for even more automation when a new article is published and more. I’m super excited for being able to implement some of this!

What’s Next?

I’ve still gotta get used to editing pages in markdown but I think I can handle it.

Keep an eye out for more content! I plan to explain my current configuration and how I setup Hugo with my Github Actions to publish websites.

I’ll also provide some information on how I was able to perform the migration over to this setup.

Enjoy!