Na pierwszy rzut oka białe znaki w znacznikach HTML wydają się nieistotne — przeglądarka i tak wyrenderuje wszystko poprawnie. Jest jednak kilka miejsc w dokumencie stanowiących wyjątek, gdzie usunięcie białych znaków realnie zmienia wygląd strony.
Co można bezpiecznie usunąć
Minifikator usuwa komentarze HTML <!-- ... -->, zbędne białe znaki i podziały linii między znacznikami, cudzysłowy wokół atrybutów, których wartość nie zawiera spacji, a czasem także opcjonalne znaczniki zamykające, takie jak </li>.
Klasyczny błąd: sklejenie dwóch słów w jedno
Pojedyncza spacja między dwoma elementami inline to realny, widoczny odstęp na wyrenderowanej stronie, a nie tylko formatowanie w kodzie źródłowym. <span>foo</span> <span>bar</span> wyświetla się jako "foo bar" z odstępem; jeśli ta spacja zostanie bezmyślnie usunięta, wynik cichcem zmienia się w "foobar" bez żadnego odstępu. Ostrożny minifikator usuwa wyłącznie białe znaki niewpływające na wygląd — na przykład między elementami blokowymi — a spacje między elementami inline pozostawia nietknięte.
Minifikacja a czytelność podczas developmentu
Podczas pracy nad kodem HTML zwykle pozostaje sformatowany z wcięciami, bo dzięki temu łatwiej odczytać strukturę w DevTools. Minifikację stosuje się dopiero do finalnej wersji przed publikacją, gdy czytelność dla człowieka przestaje mieć znaczenie.
Do czego się to przydaje
- Zmniejszenie rozmiaru strony HTML przed wdrożeniem na produkcję.
- Usunięcie komentarzy dewelopera z finalnej wersji znaczników.
- Uniknięcie błędów dzięki usuwaniu białych znaków tylko tam, gdzie jest to naprawdę bezpieczne.
Dlaczego rozmiar strony wciąż ma znaczenie w sieciach mobilnych
Choć w Polsce i regionie łącza stacjonarne są powszechne, znaczna część ruchu na wielu stronach nadal pochodzi z urządzeń mobilnych i sieci komórkowych, gdzie jakość połączenia bywa mniej stabilna niż w sieci domowej. HTML rzadko jest najcięższym zasobem strony w porównaniu z obrazami czy JavaScriptem, ale każdy zaoszczędzony bajt wciąż skraca czas do pierwszego renderowania — a przy słabszym połączeniu ta różnica jest bardziej odczuwalna.