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
  4. 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
  5. Ula

    Czy WebP działa już wszędzie, czy trzeba nadal trzymać zapasowe pliki JPEG?

    Odpowiedz
    1. Administrator autor bloga

      WebP obsługują dziś wszystkie aktualne przeglądarki, więc zapasowe pliki JPEG nie są konieczne. My i tak zostawiamy je na serwerze i podmieniamy w locie po nagłówku Accept — kosztuje trzy linijki w konfiguracji, a działa nawet w bardzo starych przeglądarkach.

      Odpowiedz
    2. Administrator autor bloga

      WebP obsługują dziś wszystkie aktualne przeglądarki, więc zapasowe pliki JPEG nie są konieczne. My i tak zostawiamy je na serwerze i podmieniamy w locie po nagłówku Accept — kosztuje trzy linijki w konfiguracji, a działa nawet w bardzo starych przeglądarkach.

      Odpowiedz
  6. Ula

    Czy WebP działa już wszędzie, czy trzeba nadal trzymać zapasowe pliki JPEG?

    Odpowiedz
    1. Administrator autor bloga

      WebP obsługują dziś wszystkie aktualne przeglądarki, więc zapasowe pliki JPEG nie są konieczne. My i tak zostawiamy je na serwerze i podmieniamy w locie po nagłówku Accept — kosztuje trzy linijki w konfiguracji, a działa nawet w bardzo starych przeglądarkach.

      Odpowiedz
Odpowiadasz na komentarz: Ula anuluj

Twoja odpowiedź

Komentarz pojawi się po zatwierdzeniu przez moderatora. Adres e-mail nie jest publikowany.

Przeczytaj też

Robimy strony, które są szybkie nie tylko na papierze.

Poproś o darmową wycenę