Będziesz potrzebować
- Dostępu administratora do WordPressa
- Świeżej kopii zapasowej sklepu
- Kopii sklepu do testów, jeśli Twój hosting ją udostępnia
Ile to trwa
Ok. 3 do 4 godzin, rozłożonych na dwa dni, żeby porównać wyniki.
Od czego zacząć przyspieszanie?
Od pomiaru, a nie od wtyczki. Większość sklepów, które do nas trafiają z problemem szybkości, ma już zainstalowaną jedną albo dwie wtyczki „do przyspieszania”. Czasem pomagają, częściej dokładają kolejną warstwę, która walczy z poprzednią. Zaczynam więc od sprawdzenia, co już jest zainstalowane.
Wolny sklep ma zwykle jedną albo dwie konkretne przyczyny. Najczęściej to brak pamięci podręcznej na serwerze, ciężkie zdjęcia, kilka wtyczek, które ładują się na każdej podstronie, i baza danych pełna starych wpisów. Każdą z tych rzeczy da się zmierzyć i poprawić osobno. Zwykle wystarczy poprawić dwie z nich, żeby klient poczuł różnicę na telefonie.
Dlatego robię to w kolejności: zmierz, popraw jedną rzecz, zmierz znowu. Brzmi wolniej niż zainstalowanie wtyczki z obietnicą na okładce, ale po jednym popołudniu wiesz dokładnie, co pomogło, a co nie. I nie psujesz koszyka przy okazji.
Zmierz punkt wyjścia
Bez pomiaru nie wiesz, czy zmiany pomogły. Zmierz cztery typy stron, bo w sklepie każda działa inaczej.
- 1Otwórz PageSpeed Insights i zmierz stronę główną, kategorię, kartę produktu i koszyk.
- 2Patrz na wynik dla telefonów, bo z nich przychodzi zwykle większość ruchu.
- 3Zapisz dla każdej strony czas największego wyrenderowania treści (LCP) i czas odpowiedzi serwera.
Włącz pamięć podręczną stron
Pamięć podręczna zapisuje gotowe strony i podaje je bez ponownego liczenia. W sklepie przyspiesza strony produktów i kategorii, a koszyk, zamówienie i konto klienta zostawia dynamiczne.
- 1Na serwerze LiteSpeed zainstaluj wtyczkę LiteSpeed Cache. Na innych serwerach użyj wtyczki zalecanej przez dostawcę hostingu.
- 2Włącz pamięć podręczną i sprawdź, czy koszyk, zamówienie i moje konto są wyłączone z pamięci.
- 3Dodaj produkt do koszyka w oknie prywatnym i sprawdź, czy koszyk pokazuje właściwą zawartość.
Włącz Redis jako pamięć obiektów
Koszyk i zamówienie nie trafiają do pamięci podręcznej stron, więc tam liczy się szybkość bazy danych. Redis trzyma wyniki częstych zapytań w pamięci i odciąża bazę.
- 1Sprawdź w panelu hostingu, czy Redis jest dostępny, i zapisz dane połączenia.
- 2W LiteSpeed Cache włącz pamięć obiektów i wybierz Redis. Na innych serwerach użyj wtyczki do Redis, którą wskazuje dostawca.
- 3Sprawdź status połączenia we wtyczce. Powinien pokazywać, że Redis działa.
Odchudź zdjęcia produktów
Zdjęcia to zwykle najcięższa część karty produktu. Aparat w telefonie robi zdjęcia o szerokości kilku tysięcy pikseli, a karta produktu potrzebuje ułamka tego.
- 1Wgrywaj zdjęcia o szerokości do 2000 pikseli, a nie prosto z aparatu.
- 2Włącz konwersję do formatu WebP, np. w LiteSpeed Cache albo we wtyczce do optymalizacji zdjęć.
- 3Sprawdź, czy zdjęcia poniżej pierwszego ekranu ładują się dopiero przy przewijaniu. WordPress robi to domyślnie, ale niektóre motywy to wyłączają.
Przejrzyj wtyczki
Każda wtyczka to kod, który może ładować się na każdej podstronie. Kilka zbędnych wtyczek potrafi spowolnić sklep bardziej niż słaby serwer.
- 1Usuń wtyczki, których nie używasz. Wyłączona wtyczka nie spowalnia sklepu, ale zostawia zbędny kod do aktualizowania.
- 2Zainstaluj na kopii sklepu wtyczkę Query Monitor i sprawdź, które wtyczki wykonują najwięcej zapytań do bazy.
- 3Dla najcięższych poszukaj lżejszego zamiennika albo zapytaj autora o ustawienia.
Posprzątaj bazę danych
Z czasem baza sklepu puchnie: stare wersje wpisów, wygasłe dane tymczasowe i historia zadań w tle, które WooCommerce wykonuje przy zamówieniach. Porządek skraca zapytania i zmniejsza kopie zapasowe.
# usuwa wygasłe dane tymczasowe (WP-CLI)
wp transient delete --expired
# w wp-config.php: ogranicza liczbę zapisanych wersji wpisów
define( 'WP_POST_REVISIONS', 10 );Historię wykonanych zadań w tle przejrzysz w WooCommerce, w Stan, Zaplanowane działania. Jeśli zajmuje dziesiątki tysięcy wierszy, zapytaj dostawcę hostingu albo autora sklepu o bezpieczne czyszczenie.
Zmierz jeszcze raz i porównaj
Zmierz te same cztery strony co w kroku 1, najlepiej następnego dnia, gdy pamięć podręczna jest już zapełniona. Porównaj LCP i czas odpowiedzi serwera z zapisanymi wynikami.
Jeśli strony z pamięci podręcznej są szybkie, a koszyk i zamówienie dalej długo się ładują, wąskim gardłem jest zwykle serwer: procesor, pamięć albo baza danych. Wtedy więcej da zmiana hostingu niż kolejne wtyczki. Na co patrzeć przy wyborze, opisujemy w poradniku Hosting dla WooCommerce: na co patrzeć przy wyborze?.
Lista kontrolna
0 z 6 sprawdzonePytania
Jak szybko powinien ładować się sklep?
Google uznaje za dobry wynik, gdy największy element strony ładuje się w mniej niż 2,5 sekundy. To dobry cel dla kart produktów i kategorii na telefonie.
Czy jedna wtyczka do przyspieszania wystarczy?
Pomoże, ale nie zastąpi pomiaru i porządku. Wtyczka nie odchudzi zdjęć wgranych prosto z aparatu ani nie usunie zbędnych wtyczek, a na słabym serwerze nie przyspieszy koszyka.
Czy potrzebuję CDN?
Jeśli klienci są głównie w Polsce, a serwer też stoi w Polsce, CDN daje zwykle niewiele. Przydaje się przy sprzedaży za granicę i przy bardzo dużej liczbie zdjęć.
Skąd mam wiedzieć, że to wina hostingu?
Gdy po włączeniu pamięci podręcznej czas odpowiedzi serwera dalej jest długi, a w panelu hostingu widać przekroczenia limitów procesora lub pamięci. Wtedy sklep potrzebuje mocniejszego pakietu albo innego serwera.
Szybszy sklep zaczyna się od serwera.
W Sorahost każdy pakiet ma LiteSpeed z LSCache, Redis i dyski NVMe. Przeniesiemy Twój sklep za darmo i pomożemy ustawić pamięć podręczną.
