Website Optimizations

Over the last few weeks, I indulged myself in doing a few “nice to have” website optimizations. They were:

Upgrade to HAProxy 3.2 and Enable HTTP/3

I recently learned that HAProxy now provides first-party Debian and Ubuntu packages. Notably, these packages are not built with the OpenSSL library, but with the faster AWS-LC. And they support HTTP/3 out of the box. Up until now, I was using HAProxy packages from the vbernat PPA, which has only limited HTTP/3 support.

Over the holiday season, I tested the AWS-LC packages with our specific HAProxy configuration (testssl.ssh was super handy here), and this week I deployed the changes to Healthchecks.io’s production load balancers and enabled HTTP/3.

WordPress Theme for blog.healthchecks.io

blog.healthchecks.io is a WordPress blog exported to a static site. I’m using the excellent HardyPress for managing it.

The WordPress theme I had originally picked for the site was Astra. It is a relatively lightweight theme, but still has some superfluous HTML, JS, and CSS, which was bugging me to no end. During the holidays, I bit the bullet and put together a custom theme. I used the BlankSlate theme and the mvp.css stylesheet as the starting point, deleted large parts from both, and then edited the HTML markup and CSS to get the look right. Now the site looks better than before, has cleaner markup, a single CSS include, and no JS includes. Phew!

WebP for the Landing Page Graphics

I wanted to submit Healthchecks.io to 512kb.club, but the uncompressed size of the landing page was a little over the required 512kB size limit. It was only a few kilobytes over, but the low-hanging fruit optimizations were already done (or so I thought). However, I did find one unoptimized PNG image, optimized it with oxipng, and got the page just below the limit.

It later occurred to me that the size of the product illustrations (each a 30kB to 50kB PNG) could perhaps be reduced by converting to lossless WebP. Indeed, there was 30% – 50% space saving for each illustration, and the page now sits at 441kB uncompressed. And it looks the same in browsers, tested in Firefox, Chrome, and Ladybird.

Thanks for reading, and happy 2026,
–Pēteris