<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Performance on Kliku Kliku</title><link>https://klikukliku.dev/tags/performance/</link><description>Recent content in Performance on Kliku Kliku</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 10 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://klikukliku.dev/tags/performance/index.xml" rel="self" type="application/rss+xml"/><item><title>Cusdis Comments in Hugo: A Lightweight Solution Without Tracking</title><link>https://klikukliku.dev/posts/hugo-comments-cusdis/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/posts/hugo-comments-cusdis/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;While looking through comment systems for static blogs, I decided to check out Cusdis. It promises a &amp;ldquo;low-friction&amp;rdquo; approach: a simple widget, no ads, and no heavy tracking in the background. Cusdis positions itself as a lightweight, privacy-friendly alternative to Disqus. It is an open-source project with a self-hosting option and a managed version at cusdis.com. You can find a detailed guide on how to self-host Cusdis in a separate post: &lt;a href="https://klikukliku.dev/en/posts/cusdis-self-hosted-vps"&gt;Self-Hosting Cusdis on a VPS&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Giscus Comments in Hugo: Lightweight GitHub Discussions Integration</title><link>https://klikukliku.dev/posts/hugo-comments-giscus/</link><pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/posts/hugo-comments-giscus/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;As part of my review of comment solutions for static blogs, I decided to test &lt;strong&gt;Giscus&lt;/strong&gt;. It is an open-source tool that uses GitHub Discussions as its backend.&lt;/p&gt;
&lt;p&gt;I was intrigued mainly by the promise of high performance and privacy. Below, I present an analysis of this solution, an implementation guide for Hugo, and the conclusions from my performance tests.&lt;/p&gt;
&lt;h2 id="what-exactly-is-giscus"&gt;What exactly is Giscus?&lt;/h2&gt;
&lt;p&gt;Giscus is a widget that connects your website directly to the GitHub API. When a reader leaves a comment under a post, the system automatically creates a new discussion (or adds a reply) in the connected GitHub repository.&lt;/p&gt;</description></item><item><title>Disqus Comments in Hugo: Setup Guide and Performance Analysis</title><link>https://klikukliku.dev/posts/hugo-comments-disqus/</link><pubDate>Tue, 10 Feb 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/posts/hugo-comments-disqus/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Disqus is probably the first solution that comes to mind when we think about comments on static sites. It has been with us since 2007, supports millions of websites, and takes the burden of building a backend off our shoulders.&lt;/p&gt;
&lt;p&gt;I decided to check what its integration with Hugo looks like in 2026, but mostly, what the real cost of this convenience is. I ran performance tests on this blog, and the results might surprise you.&lt;/p&gt;</description></item><item><title>Hugo Optimization: Complete Guide</title><link>https://klikukliku.dev/posts/hugo-performance-summary/</link><pubDate>Tue, 03 Feb 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/posts/hugo-performance-summary/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Over the past few weeks, I conducted a comprehensive optimization of my Hugo-based website. What started as curiosity about whether I could squeeze more performance out of a static site generator turned into a series of experiments with concrete, measurable results.&lt;/p&gt;
&lt;p&gt;The starting point was good. Hugo naturally generates fast pages. My Lighthouse score hovered around 92-94 points. However, analysis in Chrome DevTools revealed problems invisible to the naked eye. Nearly fifteen megabytes of transfer on the homepage. Fifteen separate CSS files generating one and a half seconds of delay. No caching strategy for returning visitors.&lt;/p&gt;</description></item><item><title>Hugo JS Optimization: Bundling, Fingerprinting, and Caching in 15 Minutes</title><link>https://klikukliku.dev/posts/hugo-js-optimization/</link><pubDate>Tue, 27 Jan 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/posts/hugo-js-optimization/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;After &lt;strong&gt;&lt;a href="https://klikukliku.dev/posts/hugo-css-optimization"&gt;cleaning up CSS styles&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a href="https://klikukliku.dev/posts/hugo-image-optimization"&gt;optimizing images&lt;/a&gt;&lt;/strong&gt;, I focused on the JavaScript layer. At first glance, the situation looked innocent. The site was loading two files: a script from the theme and my own code for handling the color theme toggle. Together, they weighed less than three kilobytes. With such a small size, optimizing here might seem like overkill.&lt;/p&gt;
&lt;p&gt;However, the real challenge was hidden in the HTTP headers. I noticed that both files had a one-year cache lifetime. Unfortunately, their names lacked a unique identifier, or a &amp;ldquo;fingerprint.&amp;rdquo; This created a serious risk. It meant that after deploying any fixes, users would still use the old version of the code saved in their browsers.&lt;/p&gt;</description></item><item><title>HTTP Server Optimization for Hugo: GZIP, Cache Headers, and Fingerprinting</title><link>https://klikukliku.dev/posts/hugo-server-optimization/</link><pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/posts/hugo-server-optimization/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;We often focus on HTML minification or CSS bundling, treating it as the end of optimization. However, I&amp;rsquo;ve noticed that even the best-prepared files can load slowly if we forget about the HTTP server layer. That&amp;rsquo;s where untapped potential lies, worth exploring.&lt;/p&gt;
&lt;p&gt;In my practice, two configuration elements prove crucial. First, GZIP compression. From my experience, it can reduce text file sizes by sixty to seventy percent. Second, proper Cache headers. They eliminate unnecessary requests on subsequent user visits. Today I&amp;rsquo;ll show you how to configure a server for a Hugo-based site to squeeze maximum performance from static files.&lt;/p&gt;</description></item><item><title>CSS Optimization in Hugo: Minification and Bundling for Maximum Performance</title><link>https://klikukliku.dev/posts/hugo-css-optimization/</link><pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/posts/hugo-css-optimization/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;We often focus on optimizing JavaScript or images, while treating CSS styles as somewhat secondary. We assume that since individual files weigh just a few kilobytes, they&amp;rsquo;re not a problem. But that&amp;rsquo;s a false assumption. The way we deliver these files to the browser can have a crucial impact on how quickly users see the finished page.&lt;/p&gt;
&lt;p&gt;When I looked into Chrome&amp;rsquo;s developer tools, I noticed a specific problem on my site. My page was loading fifteen separate CSS files. Combined, this generated a delay of around one point six seconds. Interestingly, the data size wasn&amp;rsquo;t the issue at all. GZIP compression was working correctly and reducing file weight by over sixty percent. The real bottleneck turned out to be the sheer number of HTTP requests. The browser was wasting time establishing connections instead of downloading content.&lt;/p&gt;</description></item><item><title>Hugo Image Processing: How I Reduced Page Size by 98%</title><link>https://klikukliku.dev/posts/hugo-image-optimization/</link><pubDate>Tue, 06 Jan 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/posts/hugo-image-optimization/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Images are usually the biggest obstacle to website performance. Although Hugo generates fast static sites by nature, unoptimized images can completely cancel out this advantage. I decided to investigate this using my own website as a case study.&lt;/p&gt;
&lt;p&gt;Analysis in Chrome DevTools clearly showed the source of the problem. Images made up 96% of the total transfer, adding up to nearly 15 MB. I identified three large PNG files that caused most of this traffic and increased the load time to over 4 seconds. For mobile users, this meant a long wait and wasted data.&lt;/p&gt;</description></item><item><title>Comment Systems Performance Test</title><link>https://klikukliku.dev/posts/comment-systems-performance-test/</link><pubDate>Mon, 29 Dec 2025 12:09:04 +0100</pubDate><guid>https://klikukliku.dev/posts/comment-systems-performance-test/</guid><description>&lt;p&gt;This is a dedicated test post for measuring the performance impact of different comment systems on our Hugo site.&lt;/p&gt;
&lt;h2 id="testing-methodology"&gt;Testing Methodology&lt;/h2&gt;
&lt;p&gt;We&amp;rsquo;re comparing four popular comment systems:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Disqus&lt;/strong&gt; - Popular third-party solution with cloud hosting&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Giscus&lt;/strong&gt; - GitHub Discussions-based, open source&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cusdis&lt;/strong&gt; - Lightweight, privacy-focused solution&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Remark42&lt;/strong&gt; - Self-hosted, privacy-focused with rich features&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="performance-metrics"&gt;Performance Metrics&lt;/h2&gt;
&lt;p&gt;For each system, we measure:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Page Load Time&lt;/strong&gt; - Total time to fully load the page&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JavaScript Size&lt;/strong&gt; - Amount of JS downloaded for comments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP Requests&lt;/strong&gt; - Number of network requests made&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PageSpeed Score&lt;/strong&gt; - Desktop and Mobile performance scores&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Core Web Vitals&lt;/strong&gt; - FCP (First Contentful Paint) and LCP (Largest Contentful Paint)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="test-environment"&gt;Test Environment&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hugo Version&lt;/strong&gt;: v0.152.2 extended&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Theme&lt;/strong&gt;: Terminal v4.2.3&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Browser&lt;/strong&gt;: Chrome/Brave (latest)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network&lt;/strong&gt;: Real-world conditions via PageSpeed Insights&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cache&lt;/strong&gt;: Hard reload (Ctrl+Shift+R) for accurate measurements&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="baseline-measurement"&gt;Baseline Measurement&lt;/h2&gt;
&lt;p&gt;Before testing any comment system, we capture a baseline measurement of the page &lt;strong&gt;without comments&lt;/strong&gt; to understand the base performance.&lt;/p&gt;</description></item></channel></rss>