Minifikacja kodu oznacza zmniejszenie jego objętości. Aby to zrobić, możesz zacząć od najprostszego sposobu, jakim jest usunięcie zbędnych komentarzy i białych znaków poprzez kompresję całego kodu do minimum za pomocą gotowych narzędzi. Warto jednak sprawdzić, czy można to zrobić. Niektórych skryptów (jak np. JS) nie można uprościć i przepisać na prostszy kod, usuwając przy okazji nieużywane fragmenty. Minifikować można kod JavaScript, CSS oraz HTML

W sieci znajdziesz wiele pomocnych narzędzi do minifikacji zasobów, np.:

  • dla kodu HTML https://github.com/kangax/html-minifier
  • dla kodu CSS https://github.com/cssnano/cssnano,https://github.com/css/csso
  • dla kodu JS https://github.com/mishoo/UglifyJS

Oczywiście, do popularnych systemów CMS również znajdziesz gotowe rozwiązania. W sieci są dostępne też narzędzia do ręcznego minifikowania zasobów, a często takie funkcje są też wbudowane w popularne edytory tekstowe.

Uwaga! Przed rozpoczęciem minifikacji warto zrobić kopię plików. Zminifikowany kod nie jest już tak czytelny i jego późniejsza modyfikacja może być czasochłonna.

Jeżeli chodzi o kompresję plików, to najlepsza jest ta bezstratna, która po stronie serwera zmniejszy ich wagę i znacząco skróci czas załadowania. Popularnymi mechanizmami kompresji w internecie przez długi czas były Gzip i Deflate, oferujące kompresję na podobnym poziomie. Później Google wdrożyło swoje algorytmy kompresji: Zopfli, a następnie bardziej wydajny Brotli. Warto jednak zastanowić się, czy warto z niego korzystać. Gzip i Deflate są powszechnie dostępne, a przy kompresji ważniejszy jest sam format plików, które kompresujesz, niż wykorzystywany do tego algorytm.

Różnice w efekcie mogę być po prostu za małe w stosunku do wysiłku, jaki włożysz, aby Twój serwer obsługiwał algorytm Brotli. Wyjątkiem jest skorzystanie z CloudFlare. Nawet jego darmowej opcji.

Jakie pliki warto kompresować? Generalnie wszystkie, których używasz na stronach internetowych. Formaty plików tekstowych, takie jak np.:

  • html,
  • css,
  • js,
  • json,
  • txt

bardzo dobrze się kompresują. Gorzej wypadają niektóre pliki graficzne, które już same w sobie mają kompresję. Z kolei np. pliki z rozszerzeniami exe, mp3, mp4, mkv posiadają współczynnik kompresji ponad 90%.

Włączenie konwersji na serwerze możesz wykonać na kilka sposobów:

  • wklejając odpowiedni kod w pliku konfiguracyjnym.htaccess (pod warunkiem, że serwer ma zainstalowany odpowiedni mechanizm),
  • instalując je na własnym lub dedykowanym serwerze (https://github.com/google/brotli),
    wykorzystując gotowe wtyczki w znanych systemach CMS
  • korzystając z sieci CDN i np. usługi CloudFlare, która zwraca już skompresowane zasoby.