<?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/pl/tags/performance/</link><description>Recent content in Performance on Kliku Kliku</description><generator>Hugo</generator><language>pl</language><lastBuildDate>Tue, 10 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://klikukliku.dev/pl/tags/performance/index.xml" rel="self" type="application/rss+xml"/><item><title>Komentarze Cusdis w Hugo: lekkie rozwiązanie bez trackingu</title><link>https://klikukliku.dev/pl/posts/hugo-comments-cusdis/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/pl/posts/hugo-comments-cusdis/</guid><description>&lt;h2 id="wstęp"&gt;Wstęp&lt;/h2&gt;
&lt;p&gt;Przeglądając systemy komentarzy do blogów statycznych, wziąłem na warsztat Cusdis — bo obiecuje podejście „minimum tarcia”: prosty widget, bez reklam i bez ciężkiej analityki w tle. Cusdis pozycjonuje się jako lekka, prywatnościowa alternatywa dla Disqus i jest rozwijany jako projekt open source, z opcją self-hostingu oraz wariantem zarządzanym na cusdis.com. Szczegółowy przewodnik po self-hostingu Cusdis znajdziesz w dedykowanym wpisie: &lt;a href="https://klikukliku.dev/pl/posts/cusdis-self-hosted-vps"&gt;Self-Hosting Cusdis na VPS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Moim celem było sprawdzić dwie rzeczy: jak wygląda sensowna integracja z Hugo (bez wklejania skryptów „na dziko”) oraz jaki realny narzut pojawia się na stronie, gdy komentarze są włączone.&lt;/p&gt;</description></item><item><title>Komentarze Giscus w Hugo: Lekka Integracja z GitHub Discussions</title><link>https://klikukliku.dev/pl/posts/hugo-comments-giscus/</link><pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/pl/posts/hugo-comments-giscus/</guid><description>&lt;h2 id="wstęp"&gt;Wstęp&lt;/h2&gt;
&lt;p&gt;W ramach przeglądu rozwiązań do obsługi komentarzy na blogach statycznych, wziąłem na warsztat &lt;strong&gt;Giscus&lt;/strong&gt;. To narzędzie typu open-source, które wykorzystuje GitHub Discussions jako swój backend.&lt;/p&gt;
&lt;p&gt;Zaintrygowała mnie przede wszystkim obietnica wydajności i prywatności.Poniżej przedstawiam analizę tego rozwiązania, instrukcję implementacji w Hugo oraz wnioski z testów wydajnościowych.&lt;/p&gt;
&lt;h2 id="czym-właściwie-jest-giscus"&gt;Czym właściwie jest Giscus?&lt;/h2&gt;
&lt;p&gt;Giscus to widget, który łączy Twoją stronę bezpośrednio z API GitHuba. Kiedy czytelnik zostawia komentarz pod wpisem, system automatycznie tworzy nową dyskusję (lub dopisuje odpowiedź) w powiązanym repozytorium na GitHubie.&lt;/p&gt;</description></item><item><title>Komentarze Disqus w Hugo: Przewodnik po Integracji i Analiza Wydajności</title><link>https://klikukliku.dev/pl/posts/hugo-comments-disqus/</link><pubDate>Tue, 10 Feb 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/pl/posts/hugo-comments-disqus/</guid><description>&lt;h2 id="wstęp"&gt;Wstęp&lt;/h2&gt;
&lt;p&gt;Disqus to prawdopodobnie pierwsze rozwiązanie, które przychodzi nam do głowy, gdy myślimy o komentarzach na stronach statycznych. Jest z nami od 2007 roku, obsługuje miliony witryn i zdejmuje z nas ciężar tworzenia własnego backendu.&lt;/p&gt;
&lt;p&gt;Postanowiłem sprawdzić, jak wygląda jego integracja z Hugo w 2026 roku, ale przede wszystkim, jaki jest rzeczywisty koszt tej wygody. Przeprowadziłem testy wydajnościowe na tym blogu i wyniki mogą was zaskoczyć.&lt;/p&gt;
&lt;h2 id="czym-właściwie-jest-disqus"&gt;Czym właściwie jest Disqus?&lt;/h2&gt;
&lt;p&gt;W skrócie: to „komentarze jako usługa”. My dostarczamy statyczny frontend, a Disqus bierze na siebie całą brudną robotę: hosting bazy danych, walkę ze spamem, moderację i logowanie użytkowników (Google, Facebook, Twitter).&lt;/p&gt;</description></item><item><title>Optymalizacja wydajności w Hugo. Kompletny przewodnik</title><link>https://klikukliku.dev/pl/posts/hugo-performance-summary/</link><pubDate>Tue, 03 Feb 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/pl/posts/hugo-performance-summary/</guid><description>&lt;h2 id="wstęp"&gt;Wstęp&lt;/h2&gt;
&lt;p&gt;Przez ostatnie tygodnie przeszedłem przez kompleksową optymalizację mojej strony. Zaczęło się od prostej ciekawości czy da się wycisnąć więcej z tego generatora stron statycznych — a skończyło na serii eksperymentów, które dały wymierne rezultaty.&lt;/p&gt;
&lt;p&gt;Punkt wyjścia był naprawdę przyzwoity. Hugo z definicji generuje szybkie strony. Mój wynik w Lighthouse oscylował gdzieś między 92 a 94 punktami. Ale kiedy zagłębiłem się w Chrome DevTools i zerknąłem na szczegóły transferu sieciowego, zobaczyłem rzeczy, których gołym okiem nie widać. Prawie 15 megabajtów transferu na stronę główną. 15 osobnych plików CSS, które generowały półtorej sekundy opóźnienia. Zero strategii cache&amp;rsquo;owania dla osób, które wracają na stronę.&lt;/p&gt;</description></item><item><title>Optymalizacja JS w Hugo: Bundling, Fingerprinting i Cache w 15 minut</title><link>https://klikukliku.dev/pl/posts/hugo-js-optimization/</link><pubDate>Tue, 27 Jan 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/pl/posts/hugo-js-optimization/</guid><description>&lt;h2 id="wstęp"&gt;Wstęp&lt;/h2&gt;
&lt;p&gt;Po &lt;strong&gt;&lt;a href="https://klikukliku.dev/pl/posts/hugo-css-optimization"&gt;uporządkowaniu stylów CSS&lt;/a&gt;&lt;/strong&gt; i &lt;strong&gt;&lt;a href="https://klikukliku.dev/pl/posts/hugo-image-optimization"&gt;optymalizacji obrazów&lt;/a&gt;&lt;/strong&gt;, zająłem się warstwą JavaScript. Na pierwszy rzut oka sytuacja wyglądała niewinnie. Strona ładowała dwa pliki: skrypt z motywu oraz mój własny kod obsługujący przełączanie koloru motywu. Łącznie ważyły one niespełna trzy kilobajty. Przy tak małym rozmiarze mogłoby się wydawać, że optymalizacja w tym miejscu to sztuka dla sztuki.&lt;/p&gt;
&lt;p&gt;Prawdziwe wyzwanie kryło się jednak w nagłówkach HTTP. Zauważyłem, że oba pliki miały ustawiony roczny czas życia w pamięci podręcznej. Niestety, w ich nazwach brakowało unikalnego identyfikatora, czyli tak zwanego fingerprintu. To stwarzało poważne ryzyko. Oznaczało bowiem, że po wdrożeniu jakichkolwiek poprawek, użytkownicy nadal korzystaliby ze starej wersji kodu zapisanej w przeglądarce.&lt;/p&gt;</description></item><item><title>Optymalizacja serwera HTTP dla Hugo: GZIP, cache headers i fingerprinting</title><link>https://klikukliku.dev/pl/posts/hugo-server-optimization/</link><pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/pl/posts/hugo-server-optimization/</guid><description>&lt;h2 id="wstęp"&gt;Wstęp&lt;/h2&gt;
&lt;p&gt;Często skupiamy się na minifikacji HTML czy bundlingu CSS, uznając to za koniec optymalizacji. Zauważyłem jednak, że nawet najlepiej przygotowane pliki potrafią ładować się wolno, jeśli zapomnimy o warstwie serwera HTTP. To właśnie tam leży niewykorzystany potencjał, który warto zagospodarować.&lt;/p&gt;
&lt;p&gt;W mojej praktyce kluczowe okazują się dwa elementy konfiguracji. Po pierwsze, kompresja GZIP. Z mojego doświadczenia wynika, że potrafi ona zredukować rozmiar plików tekstowych o sześćdziesiąt do siedemdziesięciu procent. Po drugie, odpowiednie nagłówki Cache. Dzięki nim eliminujemy zbędne zapytania przy kolejnych wizytach użytkownika. Pokażę wam dzisiaj, jak skonfigurować serwer dla strony opartej na Hugo, aby wycisnąć maksimum możliwości ze statycznych plików.&lt;/p&gt;</description></item><item><title>Optymalizacja CSS w Hugo: minifikacja i bundling dla maksymalnej wydajności</title><link>https://klikukliku.dev/pl/posts/hugo-css-optimization/</link><pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/pl/posts/hugo-css-optimization/</guid><description>&lt;h2 id="wstęp"&gt;Wstęp&lt;/h2&gt;
&lt;p&gt;Często skupiamy się na optymalizacji JavaScriptu czy obrazów, a style CSS traktujemy nieco po macoszemu. Wydaje nam się, że skoro pojedyncze pliki ważą zaledwie kilka kilobajtów, to nie stanowią problemu. Jednak to mylne założenie. Sposób, w jaki dostarczamy te pliki do przeglądarki, może mieć kluczowy wpływ na to, jak szybko użytkownik zobaczy gotową stronę.&lt;/p&gt;
&lt;p&gt;Kiedy zajrzałem do narzędzi deweloperskich w Chrome, zauważyłem u siebie konkretny problem. Moja strona ładowała aż piętnaście osobnych plików CSS. Sumarycznie generowało to opóźnienie rzędu jednej i sześciu dziesiątych sekundy. Co ciekawe, problemem wcale nie był rozmiar danych. Kompresja GZIP działała poprawnie i redukowała wagę plików o ponad sześćdziesiąt procent. Prawdziwym wąskim gardłem okazała się sama liczba zapytań HTTP. Przeglądarka traciła czas na nawiązywanie połączeń, zamiast na pobieranie treści.&lt;/p&gt;</description></item><item><title>Hugo Image Processing: Jak odchudziłem stronę o 98%</title><link>https://klikukliku.dev/pl/posts/hugo-image-optimization/</link><pubDate>Tue, 06 Jan 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/pl/posts/hugo-image-optimization/</guid><description>&lt;h2 id="wstęp"&gt;Wstęp&lt;/h2&gt;
&lt;p&gt;Obrazy to zazwyczaj największa przeszkoda w osiągnięciu wysokiej wydajności stron internetowych. Choć Hugo generuje z natury szybkie witryny statyczne, nieoptymalizowane grafiki potrafią całkowicie zniweczyć tę przewagę. Postanowiłem przyjrzeć się temu bliżej na przykładzie własnej strony.&lt;/p&gt;
&lt;p&gt;Analiza w Chrome DevTools jasno wskazała źródło problemu. Obrazy stanowiły aż dziewięćdziesiąt sześć procent całego transferu, co dawało prawie piętnaście megabajtów danych. Namierzyłem trzy duże grafiki w formacie PNG, które generowały większość tego ruchu i wydłużały czas ładowania do ponad czterech sekund. Dla użytkowników mobilnych oznaczało to długie oczekiwanie i niepotrzebne zużycie pakietu danych.&lt;/p&gt;</description></item></channel></rss>