Kompresja strony internetowej Gzip, Brotli

Jak samodzielnie przyspieszyć działanie strony www?

Kompresja strony internetowej polega na zmniejszeniu plików, które są wysyłane przez serwer do przeglądarki, która je dekompresuje i przetwarza. Mniejszy rozmiar plików jest odbierany szybciej, co bezpośrednio przekłada się na większą prędkość ładowania witryny.

Kompresje przeprowadza się najczęściej za pomocą jednego z dwóch algorytmów, które opisujemy w dalszej części artykułu: Gzip i Brotli.

Proces optymalizacji strony

Optymalizacja strony internetowej to podstawa pozycjonowania stron. Jest to proces wielopoziomowy, którego głównym założeniem jest poprawa szybkości, wydajności oraz użyteczności strony internetowej. Pracują nad tym programiści (kod) oraz copywriterzy (content).

Jedną z ważniejszych miar, które są sprawdzane podczas optymalizacji strony, jest szybkość witryny internetowej. Zgodnie ze statystyką każda sekunda opóźnienia to spadek konwersji.

Każda sekunda opóźnienia to średnio 7% mniej konwersji.

Współczynnik konwersji spada o 4.42% z każdą sekundą, która potrzebna jest na załadowanie strony (Inter Growth). Źródło: [https://inter-growth.co/seo-stats/], [2022]

53% użytkowników smartfonów opuści Twoją stronę, jeśli jej wersja mobilna będzie ładowała się dłużej niż 3 sekundy (Inter Growth).

Jak przyśpieszyć stronę internetową?

Strona będzie działała znacznie szybciej, jeśli zadbamy o:

1. wydajniejszy i szybszy kod witryny - działanie czasochłonne, a efekty mogą być znikome;

2. mniejsze pliki graficzne i skryptowe, które szybciej się wczytują - prostsze rozwiązanie, ale często sprowadza się do mozolnego aktualizowania grafik kadrowanych do odpowiedniego rozmiaru;

3. wydajniejszy serwer - zmiana usługodawcy hostingowego może dać najlepsze rezultaty, ale często podniesie znacząco koszty hostingu i wymaga pomocy osoby z umiejętnością migracji witryny (kolejne koszty);

4. włączenie kompresji danych po stronie serwera - ogranicza się do wklejenia kilku linijek kodu, bądź wyklikania odpowiednich opcji w ustawieniach hostingu;

Rodzaje kompresji serwerowych

Najpopularniejszy Gzip

Standard, który stał się tak naprawdę opcją domyślną wielu serwerów.

Aby sprawdzić, czy Twoja strona obsługuje kompresję Gzip, uruchom poniższy kod na swojej stronie internetowej:

$headers = get_headers("https://semlife.pl", 1);
echo $headers['Content-Encoding'];
Rodzaje kompresji serwerowych

Jeśli kompresja nie jest włączona, wprowadź poniższy kod w plik htaccess strony:

mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
Jeśli kompresja nie jest włączona, wprowadź poniższy kod w plik htaccess strony:

Najlepsza kompresja Brotli

Najnowszy standard, który został stworzony przez Google, oferuje najlepszą kompresją ze wszystkich dostępnych (Brotli, Deflate, Zopfli, LZMA, LZHAMand Bzip2).

https://github.com/google/brotli

Wklej poniższy kod do pliku htaccess:

AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/json application/x-font-ttf application/vnd.ms-fontobject image/x-icon
Rodzaje kompresji serwerowych

Jak działają systemy kompresji?

Gzip, Deflate i Brotli to trzy popularne algorytmy kompresji danych stosowane w celu zmniejszenia rozmiaru plików, co przekłada się na zmniejszenie czasu transferu danych. Każdy z tych algorytmów działa w nieco inny sposób.

  1. Gzip:

Gzip jest algorytmem kompresji bezstratnej, który działa na poziomie pliku. Polega on na zastępowaniu powtarzających się ciągów bajtów krótkimi kodami, dzięki czemu możliwe jest osiągnięcie znacznej redukcji rozmiaru pliku. Gzip wykorzystuje Lempel-Ziv (LZ77) do znalezienia powtarzających się ciągów i kodowania Huffmana do ich kompresji.

  1. Deflate:

Deflate również jest algorytmem bezstratnej kompresji danych, który działa na poziomie strumienia. Podobnie jak w przypadku Gzipa, Deflate używa algorytmu LZ77 do znajdowania powtarzających się ciągów i kodowania Huffmana do ich kompresji. W przeciwieństwie do Gzipa, Deflate nie zawiera nagłówka pliku ani sumy kontrolnej.

  1. Brotli:

Brotli to stosunkowo nowy algorytm kompresji opracowany przez Google, który oferuje lepszą kompresję w porównaniu do Gzipa i Deflate. Brotli jest także algorytmem bezstratnym i wykorzystuje nowe techniki kompresji, takie jak kodowanie słownikowe, transformacja Huffman-Fano i kodowanie prefiksowe, aby zmniejszyć rozmiar pliku. Brotli działa na poziomie bloku, co oznacza, że może dostosować rozmiar bloku do różnych typów danych i osiągnąć lepsze wyniki kompresji.

Podsumowując, każdy z tych algorytmów stosuje różne techniki kompresji danych i działa na innych poziomach. Gzip i Deflate są najczęściej stosowane do kompresji plików na serwerze internetowym, podczas gdy Brotli jest stosowany w coraz większej liczbie przeglądarek internetowych, ponieważ osiąga lepsze wyniki kompresji przy minimalnym wpływie na wydajność.

 

Poradnik SEM i PPC
Nasze artykuły na temat SEM

SEO marketing

Znacznie więcej niż pozycjonowanie strony w wyszukiwarce