Ile wtyczek to za dużo? Liczba nie jest tu dobrym wskaźnikiem

3 min czytania karol
Kabel zasilający zawiązany w węzeł obok wtyczki, w zielonym świetle

„Masz za dużo wtyczek” to najczęstsza diagnoza, jaką słyszy właściciel wolnego sklepu. Zwykle jest nietrafiona, bo liczba wtyczek nie mówi nic o tym, ile pracy wykonują. Dwadzieścia wtyczek, które siedzą cicho i odzywają się tylko tam, gdzie trzeba, kosztuje mniej niż pięć, z których jedna czeka na odpowiedź cudzego serwera przy każdym wczytaniu strony.

Dlaczego sama liczba myli

Wtyczka do przekierowań, która dokłada jedno zapytanie przy starcie i nic więcej, i wtyczka synchronizująca magazyn z hurtownią przy każdym wczytaniu karty produktu to w statystyce ta sama jedynka. W czasie odpowiedzi serwera dzieli je wszystko.

Dlatego liczenie wtyczek prowadzi donikąd. Sensowne pytanie brzmi: co każda z nich robi przy żądaniu, które właśnie obsługuje sklep - i to da się zmierzyć.

Trzy rzeczy, które faktycznie spowalniają

1. Zapytania do zewnętrznych usług przy renderowaniu strony

Wtyczka, która przy każdym wczytaniu sprawdza kurs waluty, stan magazynu w hurtowni albo ważność licencji, dokłada do czasu odpowiedzi tyle, ile zajmie odpowiedź cudzego serwera. Jeśli ten serwer ma gorszy dzień, ma go też Twój sklep.

To jeden z powodów, dla których nasze wtyczki nie łączą się z niczym na zewnątrz.

2. Zapytania do bazy w pętli

Wtyczka wyświetlająca odznakę przy każdym produkcie potrafi wykonać osobne zapytanie dla każdej pozycji w katalogu. Przy dwunastu produktach na stronie to dwanaście dodatkowych zapytań zamiast jednego.

Sprawdzisz to wtyczką Query Monitor - zakładka „Queries”, sortowanie po komponencie.

3. Skrypty ładowane wszędzie

Wtyczka do formularzy kontaktowych, która ładuje swój JavaScript i CSS na każdej podstronie, w tym na kartach produktów, gdzie nie ma żadnego formularza. Kilkanaście kilobajtów razy każda odsłona.

Kabel USB zwinięty na ciemnym blacie
Każda wtyczka to kod, który wykonuje się przy każdym żądaniu do strony.

Jak to sprawdzić u siebie

  1. Zainstaluj Query Monitor i otwórz kartę produktu.
  2. Zobacz, ile zapytań do bazy generuje strona. Poniżej 60 to dobrze, powyżej 150 warto się przyjrzeć.
  3. W zakładce „Queries by Component” sprawdź, która wtyczka odpowiada za największą część.
  4. W „Scripts” i „Styles” poszukaj plików, które nie mają prawa być na tej stronie.

Co sprawdzić przed instalacją

Cztery pytania. Zajmują pięć minut i oszczędzają audytu za rok:

  1. Czy wtyczka łączy się z czymś na zewnątrz przy każdym wczytaniu strony? Query Monitor, zakładka „HTTP API Calls”. Jedno wywołanie w panelu raz na dobę jest w porządku. Jedno na froncie, przy każdej odsłonie, nie jest.
  2. Czy ładuje swoje pliki wszędzie? Otwórz kartę produktu i poszukaj w „Scripts” i „Styles” plików wtyczki, która z tą stroną nie ma nic wspólnego.
  3. Ile zapytań dokłada? Policz zapytania przed włączeniem wtyczki i po. Różnica powyżej kilkunastu na zwykłej podstronie to sygnał, żeby zajrzeć głębiej.
  4. Kiedy była ostatnia aktualizacja? Wtyczka nietykana od dwóch lat to nie tylko ryzyko bezpieczeństwa. To też kod pisany pod starsze WooCommerce, który często robi rzeczy odradzane dziś przez sam rdzeń.

Wniosek

Nie licz wtyczek. Sprawdź, co robią. Sklep z czterdziestoma lekkimi wtyczkami będzie szybszy niż sklep z pięcioma, z których jedna czeka na odpowiedź cudzego API przy każdym wczytaniu strony.

Nowa wtyczka? Dowiesz się pierwszy.

Premiery, poradniki i promocje - raz na jakiś czas, bez zasypywania skrzynki.

[ skrót ] Albo zrób to wtyczką
Motyw dla siłowni
v1.1.0 Nowość

Motyw dla siłowni

Jednostronicowa strona siłowni, którą klient sam wypełni treścią.

WP
6.4+
799,00 zł jednorazowo
Kup i pobierz
Motyw sklepu z wyposażeniem wnętrz
v1.0.0 Nowość

Motyw sklepu z wyposażeniem wnętrz

Sklep z wnętrzami, w którym klient kupuje cały pokój ze zdjęcia.

WP
6.4+
799,00 zł jednorazowo
Kup i pobierz