Wydajność

Lazy loading obrazków: jedno słowo, duża różnica

27 maja 2026 2 min czytania web-pc.pl 9 komentarzy

Strona z galerią potrafi ważyć kilkanaście megabajtów, choć użytkownik widzi na starcie trzy zdjęcia. Jeden atrybut w kodzie sprawia, że reszta wczytuje się dopiero wtedy, gdy jest potrzebna.

Lazy loading obrazków: jedno słowo, duża różnica

Obrazki to zwykle najcięższa część strony. Przy galerii albo liście produktów łatwo o kilkanaście megabajtów, z czego użytkownik na starcie widzi ułamek. Przeglądarki mają na to wbudowane rozwiązanie i korzysta się z niego jednym atrybutem.

Cały mechanizm

<img src="zdjecie.jpg" alt="Opis" loading="lazy" width="800" height="600">

Tyle. Przeglądarka pobierze plik dopiero wtedy, gdy użytkownik zbliży się do niego przewijaniem. Działa we wszystkich aktualnych przeglądarkach, bez żadnej biblioteki.

Dwie pułapki

Nie oznaczaj tak zdjęcia w nagłówku strony. Obrazek widoczny od razu po wejściu będzie przez lazy loading wczytany później niż powinien — a to psuje wynik w pomiarach szybkości, bo Google mierzy właśnie moment pojawienia się największego elementu na pierwszym ekranie. Zdjęcia nad linią zgięcia zostaw bez tego atrybutu, a najważniejszemu dodaj fetchpriority="high".

Zawsze podawaj szerokość i wysokość. Bez nich przeglądarka nie wie, ile miejsca zarezerwować, i po wczytaniu obrazka treść pod nim przeskakuje. To osobny wskaźnik, który Google mierzy i za który obniża ocenę strony. Atrybuty width i height wystarczą — CSS i tak może potem zmienić rozmiar.

Reszta pracy przy obrazkach

Lazy loading opóźnia pobieranie, ale nie zmniejsza plików. Największe oszczędności są gdzie indziej:

  • Format WebP daje przy tej samej jakości pliki zwykle o 25–35 procent mniejsze od JPEG. Serwer może podawać go automatycznie tym przeglądarkom, które go obsługują, bez zmiany adresów w kodzie.
  • Realny rozmiar. Zdjęcie 4000 pikseli szerokości wyświetlane w kafelku 400 pikseli to marnowanie transferu. Przeskaluj przed wgraniem.
  • Atrybut srcset pozwala podać kilka wersji tego samego zdjęcia — telefon pobierze małą, monitor dużą.
  • Kompresja. Jakość 80 procent przy JPEG jest wzrokowo nie do odróżnienia od 100, a plik jest o połowę lżejszy.

Ile to daje

Typowa strona z galerią po takim zestawie zabiegów schodzi z kilkunastu megabajtów do jednego–dwóch przy pierwszym wczytaniu. Na telefonie w słabym zasięgu to różnica między stroną, która się otwiera, a taką, którą użytkownik zamyka przed pojawieniem się treści.

Najszybszy plik to ten, którego przeglądarka w ogóle nie musiała pobrać.
Podziel się:

Komentarze (9)

  1. Renata

    Dodanie width i height do zdjęć podniosło nam wynik w PageSpeed o kilkanaście punktów. Dosłownie pół godziny pracy.

    Odpowiedz
  2. Renata

    Dodanie width i height do zdjęć podniosło nam wynik w PageSpeed o kilkanaście punktów. Dosłownie pół godziny pracy.

    Odpowiedz
  3. Zbyszek

    Ostrzeżenie o nieoznaczaniu zdjęcia w nagłówku jest kluczowe. Sam popełniłem ten błąd i wyniki mi spadły zamiast wzrosnąć.

    Odpowiedz