Część 2 z 10

Szybkość sklepu a przychód: ile kosztuje każda dodatkowa sekunda

Szybkość sklepu a przychód: ile kosztuje każda dodatkowa sekunda

Krótka odpowiedź: szybkość to nie metryka techniczna, tylko mnożnik dla całego lejka. Działa jednocześnie na konwersję, pozycje w wyszukiwarce i cenę płatnego kliknięcia. To jedyne ulepszenie, którego nie da się zrobić „tylko dla jednego kanału” — działa wszędzie naraz.

Co dokładnie mierzy Google

Od 2020 roku istnieją trzy metryki, które Google zbiera od prawdziwych użytkowników Twojej strony, a nie w laboratorium. Nazywają się Core Web Vitals, a progi wyglądają tak:

MetrykaCo znaczy po ludzkuPróg „dobry”
LCPKiedy pojawia się główny blok strony — zdjęcie produktu, nagłówekdo 2,5 s
INPJak szybko strona reaguje na kliknięciado 200 ms
CLSJak bardzo treść skacze podczas ładowaniado 0,1

Szczegół, który regularnie umyka: liczy się 75. percentyl. Nie wystarczy, że „u mnie na laptopie otwiera się szybko” — trzy czwarte prawdziwych wizyt, łącznie ze starymi Androidami na transmisji komórkowej, musi zmieścić się w progu.

W sklepach na WordPressie najczęściej wykłada się INP: strona zdąży się narysować, ale przez kolejną sekundę nie reaguje na kliknięcia, bo w tle wciąż pracują skrypty wtyczek, czatu, pikseli i koszyka. Użytkownik nie czyta tego jako „wolna strona”, tylko jako „strona się zepsuła” — i wraca.

Ile to kosztuje w pieniądzach

Najuczciwsza publiczna ilustracja to studium przypadku Vodafone na web.dev: test A/B na dwóch wizualnie identycznych wersjach strony pokazał, że poprawa LCP o 31% dała 8% wzrostu sprzedaży. Bez redesignu, bez nowej promocji — sama szybkość.

Przelicz to na własne liczby tak samo jak w pierwszym temacie: jeśli sklep robi 40 000 € miesięcznie, 8% to 3200 € co miesiąc. Praca nad szybkością jest jednorazowa.

Jest jeszcze drugi efekt, którego rzadko się liczy: szybkość zmienia koszt reklamy. Wolna strona docelowa pogarsza wynik jakości w systemach reklamowych i podnosi cenę kliknięcia. Płacisz podwójnie — mniej osób dociera, a każde dotarcie kosztowało więcej.

Dlaczego zwalnia akurat WooCommerce

WooCommerce sam w sobie nie jest wolny. Wolnym robi go typowa konstrukcja wokół niego. Z moich audytów kolejność winowajców jest prawie zawsze taka:

1. Motyw z kreatorem. Wielozadaniowy motyw z wizualnym builderem ciągnie za sobą dziesiątki plików CSS i JS na każdą stronę — w tym te potrzebne wyłącznie na stronie głównej. To najczęstsza i najbardziej niedoceniana przyczyna.

2. Wtyczki ładujące się wszędzie. Wtyczka slidera, formularza, opinii i kalkulatora dostawy rejestrują swoje skrypty w całym sklepie, a nie tylko tam, gdzie są używane.

3. Brak cache'u stron. Każde wejście w kategorię to pełny cykl PHP plus zapytania do bazy. Na hostingu współdzielonym za 5 €/mies. to 1,5–3 sekundy do pierwszego bajtu.

4. Fragmenty koszyka. WooCommerce domyślnie wywołuje wc-ajax=get_refreshed_fragments na każdej stronie, żeby odświeżyć licznik koszyka. Na skądinąd zbuforowanej stronie to jedyne niebuforowalne żądanie, które blokuje resztę.

5. Zdjęcia w oryginalnym rozmiarze. Fotograf oddał JPEG-i 4000 px po 3 MB i wgrano je bez zmian. Przeglądarka pobiera 3 MB, żeby pokazać obrazek szerokości 600 px.

6. Skrypty zewnętrzne. Czat, piksele, mapy, widżety opinii. Każdy wygląda niewinnie, razem zjadają INP.

Co naprawiać w kolejności zwrotu

Kolejność ma znaczenie — najtańsze i najskuteczniejsze najpierw:

  1. Zdjęcia — konwersja do WebP/AVIF, serwowanie właściwego rozmiaru, leniwe ładowanie wszystkiego poniżej pierwszego ekranu, ale nie głównego zdjęcia produktu (to psuje LCP)
  2. Cache stron + object cache — statyczne buforowanie kategorii i kart produktów, Redis lub Memcached dla zapytań do bazy
  3. Wyłączenie fragmentów koszyka tam, gdzie nie są potrzebne, albo zastąpienie ich lekkim odświeżaniem licznika
  4. Przegląd wtyczek — usunąć nieużywane, ograniczyć ładowanie skryptów do stron, które ich naprawdę potrzebują
  5. Odroczenie skryptów zewnętrznych — czat i piksele ładować po interakcji, a nie w <head>
  6. Fonty — własny hosting, font-display: swap, tylko używane odmiany
  7. Hosting — jeśli po tym wszystkim TTFB nadal przekracza 600 ms, problem jest w sprzęcie, nie w kodzie

Pierwsze trzy punkty dają zwykle 70% efektu i zajmują kilka dni. Szczegóły techniczne każdego z nich są w sąsiednim przewodniku: Core Web Vitals, obrazy, fonty i skrypty oraz buforowanie.

Wstawka dla programisty

  • Włącz HPOS. High-Performance Order Storage przenosi zamówienia z wp_posts/wp_postmeta do dedykowanych tabel. Na sklepie z dziesiątkami tysięcy zamówień zmienia to zarówno panel, jak i każde zapytanie o zamówienia.
  • Mierz dane polowe, nie laboratoryjne. Tryb laboratoryjny PageSpeed Insights jest wygodny do debugowania, ale ocena idzie z danych polowych CrUX. Raport Core Web Vitals w Search Console mówi prawdę.
  • Szukaj długich zadań, nie „wagi strony”. INP zabijają konkretne handlery: przerysowanie koszyka, skrypt slidera, synchroniczny kod analityki. Profiluj zakładkę Performance zamiast liczyć kilobajty.
  • Sprawdź opcje autoload. SELECT SUM(LENGTH(option_value)) FROM wp_options WHERE autoload='yes' — jeśli to megabajty, każde żądanie ciągnie ten balast. Zwykle są to pozostałości po usuniętych wtyczkach.
  • Weryfikuj na profilu mobilnym z dławieniem sieci i CPU. Na Twoim MacBooku zawsze jest szybko.

Kiedy optymalizacja motywu przestaje pomagać

Jest granica, za którą nie ma już czego poprawiać: motyw i wtyczki narzucają minimum pracy, którego nie da się usunąć bez psucia sklepu. Objawy, że ją osiągnąłeś:

  • Mobilne LCP utknęło na 3–4 sekundach, mimo że zdjęcia i cache są już zrobione
  • Każda nowa wtyczka wyraźnie pogarsza metryki
  • Musisz wybierać między „szybko” a „ma potrzebne funkcje”

W tym punkcie zostają dwie drogi. Pierwsza to obciąć funkcjonalność: zrezygnować z buildera, przepisać szablony, usunąć część wtyczek. Druga to rozdzielić witrynę i backend: zostawić WooCommerce do produktów, zamówień i panelu, a frontend zbudować osobno na szybkim stosie. Jak to działa i kiedy się opłaca, opisuje strona WooCommerce i headless — łącznie z uczciwym opisem sytuacji, gdy się nie opłaca. Gotowe rozwiązanie tego typu to NextWoo, witryna w Next.js na istniejącym WooCommerce.

Praktyczny test

  • Otworzyłem raport Core Web Vitals w Google Search Console i obejrzałem adresy mobilne
  • Znam LCP, INP i CLS z danych polowych, a nie tylko z testu laboratoryjnego
  • Sprawdziłem wagę głównego zdjęcia produktu — poniżej 150–200 KB
  • Sprawdziłem TTFB na stronie kategorii — poniżej 600 ms
  • Wyłączyłem lub ograniczyłem fragmenty koszyka
  • Przejrzałem listę wtyczek: każda jest albo potrzebna, albo usunięta
  • Policzyłem, ile 8% wzrostu sprzedaży jest warte w moich pieniądzach

Co dalej

Szybki sklep to warunek, a nie powód zakupu. Dalej odwiedzający trafia na kartę produktu i decyduje, czy ufa Ci na tyle, by oddać pieniądze: karta produktu, która sprzedaje.

Jeśli chcesz to komuś przekazać: przyspieszenie strony — audyt, lista prac według priorytetu i stała cena za wdrożenie.

Chcesz, żeby ktoś spojrzał na Twój sklep z zewnątrz?

Wyślij link do sklepu i liczby, które Cię nie zadowalają. W odpowiedzi dostaniesz analizę: gdzie dokładnie uciekają pieniądze i co naprawić najpierw — ze stałą ceną za pracę.

Zamów audyt sklepu