"Strona zawsze była szybka, a teraz ładuje się jakieś pięć sekund, nic nie zmienialiśmy" - to zdanie słyszę często, i niemal zawsze coś się jednak zmieniło. Tylko zwykle nie jedna duża rzecz, tylko kilka małych, które nakładały się na siebie miesiącami, aż w końcu efekt stał się widoczny.
Zdjęcia w pełnym rozmiarze aparatu
To najczęstsza przyczyna, jaką widzę. Ktoś dodaje do strony zdjęcie prosto z telefonu albo aparatu - plik ma kilka, czasem kilkanaście megabajtów, bo aparat robi zdjęcia w rozdzielczości dużo większej niż potrzebna do wyświetlenia na ekranie. Strona wyświetla to zdjęcie pomniejszone wizualnie do rozmiaru np. baneru, ale w tle wciąż ładuje cały, ciężki plik. Pomnóż to przez kilkadziesiąt takich zdjęć dodawanych przez lata, a strona zaczyna ładować megabajty danych tam, gdzie wystarczyłyby kilobajty.
Rozwiązaniem jest kompresja zdjęć przed dodaniem ich do strony (albo automatyczne narzędzie, które robi to za Ciebie) - zmniejsza to rozmiar pliku, często kilkukrotnie, praktycznie bez widocznej różnicy w jakości dla oka użytkownika.
Zbyt wiele wtyczek działających naraz
W poprzednim wpisie pisałem o wtyczkach jako ryzyku bezpieczeństwa. To też prosta przyczyna spowolnienia - każda aktywna wtyczka dokłada swój kawałek kodu, który musi się wykonać przy każdym wczytaniu strony. Jedna czy dwie wtyczki tego nie odczują. Ale strona z trzydziestoma aktywnymi wtyczkami, z których część wzajemnie się dubluje albo w ogóle nie jest używana, wykonuje dużo niepotrzebnej pracy przy każdym odwiedzeniu - a to bezpośrednio przekłada się na czas ładowania.
Tani lub przeciążony hosting
Hosting to serwer, czyli komputer, na którym fizycznie leżą pliki Twojej strony i który "obsługuje" każde jej odwiedzenie (więcej o różnicy między hostingiem a domeną w dalszej części serii). Tani hosting współdzielony oznacza, że na tym samym serwerze mieszka jednocześnie wiele innych stron - jeśli jedna z nich zaczyna zużywać dużo zasobów, może to spowolnić wszystkie pozostałe, łącznie z Twoją, mimo że Ty nic nie zmieniałeś.
Do tego dochodzi kwestia tego, ile ruchu strona faktycznie generuje - hosting, który wystarczał na początku działalności, może zacząć nie nadążać, kiedy strona zaczyna przyciągać więcej odwiedzających albo obsługuje więcej danych (na przykład duży sklep internetowy).
Brak pamięci podręcznej (cache)
WordPress przy każdym odwiedzeniu strony w standardowym ustawieniu "buduje" ją od nowa - pobiera treść z bazy danych, składa ją w całość, wysyła do przeglądarki. Cache to mechanizm, który zapamiętuje już złożoną wersję strony i przy kolejnych odwiedzinach po prostu ją pokazuje, zamiast budować wszystko od zera za każdym razem. Bez tego mechanizmu strona wykonuje dużo więcej pracy niż musi przy każdym pojedynczym wejściu.
Nie musisz znać się na technikaliach, żeby zorientować się w problemie. Warto zapytać osobę zajmującą się stroną wprost: czy zdjęcia są skompresowane, ile jest aktywnych wtyczek, jaki jest hosting i czy działa cache. Same te cztery pytania pokrywają większość przyczyn spowolnienia.
Niekompatybilne lub przestarzałe elementy
Czasem spowolnienie nie wynika z jednej wyraźnej przyczyny, tylko z tego, że strona z czasem "obrosła" elementami, które nie były ze sobą dobrze zaplanowane - motyw wymagający dużo mocy obliczeniowej, wtyczka do animacji, która ładuje dodatkowe biblioteki na każdej podstronie, nawet jeśli animacja jest widoczna tylko na stronie głównej, albo osadzone materiały wideo czy mapy, które próbują się wczytać przy każdym wejściu, zamiast czekać na kliknięcie użytkownika. Żaden z tych elementów osobno nie jest problemem - suma kilku naraz już tak.
Dlaczego szybkość w ogóle ma znaczenie
Poza oczywistą niewygodą dla odwiedzających - a badania konsekwentnie pokazują, że użytkownicy porzucają wolno ładujące się strony już po kilku sekundach - szybkość strony wpływa też na jej widoczność w Google. Wolniejsza strona to gorsze doświadczenie użytkownika, a to jeden z czynników branych pod uwagę przy ustalaniu pozycji w wynikach wyszukiwania. Spowolnienie, które wydaje się tylko drobną niedogodnością, potrafi więc realnie kosztować ruch i klientów, zanim jeszcze ktokolwiek zorientuje się, co jest tego przyczyną.
Warto też pamiętać, że użytkownicy odwiedzający stronę z telefonu - a to dziś zwykle większość ruchu - odczuwają spowolnienia dużo mocniej niż osoby na szybkim łączu domowym czy firmowym. Strona, która na komputerze w biurze wydaje się "w porządku", na słabszym połączeniu mobilnym potrafi ładować się kilkukrotnie dłużej.
Dobra wiadomość jest taka, że w większości przypadków przyczyny spowolnienia da się zdiagnozować i naprawić bez przebudowywania całej strony - to raczej porządkowanie tego, co już jest: skompresowanie zdjęć, usunięcie zbędnych wtyczek (temat, który rozwijałem w poprzednim wpisie), włączenie cache i, jeśli to konieczne, rozmowa z firmą hostingową o tym, czy obecny plan wciąż odpowiada realnym potrzebom strony.
Chcesz to wdrożyć u siebie?
Opisz swój projekt, a odpiszę w ciągu 24h z konkretną propozycją.