Wolne ładowanie WordPress – jak przyspieszyć stronę

Jak przyspieszyć WordPress

Szybkość wczytywania się strony internetowej jest jednym z kluczowych elementów optymalizacji. Długi czas ładowania strony nie tylko frustruje Twoich użytkowników ale także obniża jej pozycję w wyszukiwarkach. W tym wpisie wskażę Ci 5 najczęstszych czynników powodujących wolne ładowanie WordPress. Poradzę Ci także, jak sobie z nimi poradzić.

Wolny WordPress – czym mierzyć

Pierwszą rzeczą jakiej musisz być świadomy jest to, że nawet jeśli wydaje Ci się, że Twoja strona wczytuje się szybko, to wcale nie musi ładować się równie szybko innym użytkownikom. Oczywistym jest, że prędkość łącza internetowego ma znaczenie. Ale pamiętaj, że jeśli odwiedzałeś wcześniej jakąś witrynę, to pliki strony mogą znajdować się w pamięci podręcznej Twojej przeglądarki. Dzięki temu, przy kolejnym wejściu na stronę, nie pobiera ona wszystkich jej elementów a sięga do plików przechowywanych już na Twoim komputerze lub smartfonie.

Ważne jest zatem, aby pomiarów dokonywać w sposób obiektywny. Służą do tego darmowe narzędzia firm trzecich. Mam tu na myśli Chrome DevTools, PageSpeed Insights i GTmetrix. Opisywałem je dokładnie w artykule tłumaczącym jak optymalizować obrazki do weba.

Czas ładowania się google.pl
GTmetrix pokaże Tobie czas ładowania się strony, jej rozmiar oraz ilość zapytań do innych źródeł. Poszczególne zakładki pozwolą zdiagnozować problemy i wskazać czynności naprawcze.

Zajrzyj do wspomnianego wyżej wpisu, aby dowiedzieć się jak testować szybkość ładowania się strony WordPress. W tym miejscu napiszę tylko, że Chrome DevTools to narzędzia wbudowane w przeglądarkę Chrome, a Google PageSpeed Insights i GTmetrix to zewnętrzne serwisy dające bardziej szczegółowe analizy pomagające w optymalizacji strony.

5 przyczyn powodujących wolne ładowanie WordPress

Poniżej przedstawię Ci 5 najczęstszych przyczyn powodujących wolne ładowanie WordPress. Z całą pewnością nie wyczerpują one tematu optymalizacji, ale gdy zwrócisz na nie uwagę i dokonasz poprawek, to lwia część roboty będzie za Tobą. Gwarantuję Ci, że jeśli się postarasz, możesz znacząco przyspieszyć wczytywanie się Twojej strony. Może nawet zejdziesz do nie-tak-bardzo mitycznych 3 sekund 😉

1) Stara wersja PHP na serwerze

O powadze pilnowania aktualnej wersji PHP na serwerze strony pisałem już niejednokrotnie, np. we wpisie dlaczego warto używać najnowszej wersji PHP?. Napiszę zatem jeszcze raz. Chodzi o bezpieczeństwo strony oraz wydajność wykonywania skryptów WordPress, co przekłada się czas. Nieaktualna wersja PHP naraża Cię również na ataki hakerskie.

Mało kto jest świadomy, że nowsze wersje PHP przynoszą ogromne zyski w szybkości działania strony. Testy wykazują ponad dwukrotny przyrost wydajności mierzony w czasie wykonywania operacji i zapytań do bazy. Co więcej, najnowsza wersja PHP 7.3 potrafi aż trzy razy szybciej obsłużyć zapytania i jest o 9% szybsza od wersji PHP 7.2.

Czas ładowania strony www
Źródło: www.nazwa.pl

Sprawdź zatem w swoim panelu konta hostingowego czy masz możliwość zmiany wersji PHP dla strony i na którą jego wersję. W dniu pisana tego artykułu wersja PHP 7.4 oraz PHP 8.0 są już oficjalnie wydane, ale nie wszyscy hostingodawcy jeszcze je wdrożyli. Spokojnie – zrobią to z czasem. Trzeba jednak zauważyć, że wersja PHP 8.0 nie jest nastawiana na przyrost wydajności jak poprzednie a jej użycie w obecnej chwili jest nieco ryzykowne. Twórcy wtyczek, muszą dostosować się do nowych instrukcji.

Bądź jednak świadomy, że zmiana wersji PHP może spowodować, iż Twój motyw WordPress lub jakiś plugin przestanie działać poprawnie. Zanim zastosujesz zmiany na dobre, wykonaj testy na kopii strony. Gdy jednak zdecydujesz się na zmianę wersji PHP na żywym organizmie (bo np. jeszcze nie opublikowałeś strony), to sprawdź dokładnie każdą podstronę oraz ewentualne logi w konsoli przeglądarki.

2) Zbyt dużo wtyczek WordPress

Wtyczki są powszechnie stosowane na wszystkich WordPressach. Gdy potrzebujesz jakiejś funkcjonalności instalujesz wtyczkę. Mówi się, że na wszystko jest wtyczka. Miej jednak na uwadze, że każda źle zoptymalizowana wtyczka spowalnia Twoją witrynę. Można powiedzieć dosadniej – w zasadzie każda wtyczka ją nieco spowalnia. Powyłączaj niepotrzebne wtyczki i usuń te nieużywane.

Jeśli nie wiesz do czego dana wtyczka służy, to najprawdopodobniej jej nie potrzebujesz. Jest również rodzaj dobrych wtyczek, ale niestety nie aktualizowanych. Z biegiem czasu, mogą one przestać działać lub pracować niewydajnie. Platforma WordPress dynamicznie się zmienia. Zdarza się, że wraz z aktualizacją WordPressa, plugin przestaje być z nim kompatybilny. Szczególnie taki, który nie widział aktualizacji dłużej niż rok czy dwa.

Niektóre wtyczki, mimo że działają, wykonują w tle mnóstwo zapytań do bazy danych lub zewnętrznych źródeł. Spowalniają tym samym Twoją stroną. Zastanów się, że czy możesz je usunąć bądź zmienić na nowsze/lepsze.

Jeśli chcesz dowiedzieć się więcej ile wtyczek możesz zainstalować – przeczytaj podlinkowany artykuł lub obejrzyj materiał video. Z pewnością poszerzysz swoją wiedzę.

3) Za duże obrazy i brak kompresji

Chyba powszechnie już wiadomo, że zbyt duże obrazy spowalniają wczytywanie się strony internetowej. Trochę mniej powszechna jest wiedza, że obrazki na stronę można kompresować (zmniejszać ich rozmiar). Dotyczy się to plików JPG oraz PNG.

Jeśli chcesz, aby WordPress automatycznie kompresował przesyłane zdjęcia, zapoznaj się z wtyczką Compress JPEG & PNG images stworzoną przez TinyPNG.

wolne ładowanie WordPress
TinyPNG, pomimo nazwy, kompresuje obrazki PNG oraz JPG. Jest dostępny jako wtyczka WordPress lub osobna strona www. Bardzo popularna.

Cały temat kompresji obrazków opisałem obszernie we wspomnianym już na początku wpisie jak optymalizować obrazki do weba. Zapoznaj się z nim, bo na prawdę warto!

4) Niestosowanie lazy-load dla obrazków i skryptów

Ten punkt jest również częstą przyczyną wolnego ładowania się strony. Standardowo, gdy odwiedzasz niezoptymalizowaną stronę – pobierasz jej całą zawartość.

Mija się to z celem szczególnie w przypadku gdy jest ona bardzo długa a Ty nie przewijasz do samego dołu. Jest to częste zachowanie użytkowników, którzy już po kilku sekundach oceniają, czy zawartość strony spotyka się z ich oczekiwaniami. Jeśli treść im nie odpowiada, to zamykają kartę przeglądarki i szukają dalej. Niestety zmarnowali swój czas na czekanie aż strona się załaduje. Wykorzystali też niepotrzebnie zasoby Twojego serwera oraz transfer danych.

Bardzo dobrym rozwiązaniem jest leniwe ładowanie (lazy-load) dla obrazków i skryptów. Stosowne wtyczki opóźniają ładowanie obrazków w trakcie przewijania strony przez użytkownika tuż przed tym, zanim powinny się one pojawić na ekranie. Jeśli wykryją, że użytkownik dojedzie za chwilę do miejsca w którym powinien znajdować się obrazek, to dopiero wtedy wywołują z serwera jego pobieranie. Możesz użyć m.in. wtyczki a3 Lazy Load lub Lazy Load by WP Rocket – przetestuj dowolną, sprawdź jak działa na Twojej stronie i czy dobrze współpracuje z innymi pluginami.

Odkładanie w czasie ładowania się skryptów jest już bardziej pracochłonne. Wszystko zależy od potrzeb. Dla przykładu: System komentarzy Disqus jest dość popularnym i wygodnym dla użytkowników rozwiązaniem. Jak wszystko inne, ma też swoje wady – bywa powolny i spowalnia ładowanie się strony. Ale nie musi. Z jego uruchomieniem możesz odczekać do czasu aż użytkownik przewinie stronę do sekcji komentarzy. Pomoże Ci w tym wtyczka Disqus Conditional Load.

5) Brak pamięci podręcznej strony na serwerze

Nieco wcześniej pisałem o pamięci podręcznej przeglądarki i co dzieje się, gdy użytkownik odwiedza Twoją stronę. Powtórzę: pobiera z niej treść, obrazki, skrypty i inne media aby przeglądarka mogła je przetworzyć i wyświetlić.

A co dzieje się po stronie serwera? Otóż bez optymalizacji Twoja strona odpowiada każdemu użytkownikowi osobno przygotowując dla niego wszystkie pliki o które prosi przeglądarka. Musi w tym celu odpytać bazę danych, zebrać multimedia, połączyć ze skryptami, wykonać je, a następnie przesłać użytkownikowi.

A gdyby tak zebrać wszystkie dane w uniwersalne paczki wspólne dla wszystkich użytkowników i przygotować je wcześniej zamiast odpytywać serwer za każdym razem?

W tym miejscu wchodzi tzw. cache serwera. Stosowne wtyczki WordPress skompresują Twoje skrypty, style CSS i skonfigurują stronę aby zminimalizować czas odpowiedzi serwera oraz rozmiar przesyłanych plików. Takie wtyczki jak Autoptimize, Fast Velocity Minify czy W3 Total Cache potrafią zdziałać cuda. Trzeba jednak uważać aby nie przesadzić z optymalizacją.

W3 Total Cache banner
W3 Total Cache może nie jest najlepszym rozwiązaniem na rynku, ale chyba najbardziej popularnym. Nie znaczy to jednak, że jest lekarstwem na wszystko.

Po pierwsze

Nie stosuj kilku podobnych pluginów w tym samym czasie, bo mogą namieszać więcej niż pomóc.

Po drugie

Optymalizację pamięci stosuj stopniowo. Testuj opcje każdej z wtyczek po kolei. Zacznij od podstawowych opcji i zagłębiaj się w temat stopniowo. Musisz szczególnie uważać na zbyć silną kompresję skryptów JavaScript. Może to doprowadzić do niewłaściwego wyświetlania i działania Twojej strony. Wszelkie testy sprawdzaj w trybie prywatnym przeglądarki jako niezalogowany użytkownik. Wtyczki te często stosują swoje rozwiązania tylko na zwykłych, niezalogowanych użytkownikach, którzy nie mają dostępu do zaplecza strony. Nie działają zatem na zalogowanych administratorów, którzy z natury rzeczy muszą pracować na nieskompresowanych skryptach.

Po trzecie

Jeśli jedna wtyczka nie działa tak jak się spodziewasz (bo np. Twój motyw stosuje jakieś niestandardowe rozwiązania) to sprawdź działanie innej. Sam niejednokrotnie przekonałem się, że mój ulubiony Autooptimize nie działa tak wydajnie na wszystkich stronach WordPress które zbudowałem. Wspomniane trzy wtyczki stosuję naprzemiennie w zależności od tego, która działa lepiej z danym motywem i zestawem wtyczek.

Po czwarte

Cache nie sprawdzi się na wszystkich typach stron. Trzeba zachować szczególną ostrożność w przypadku stron wymagających dynamicznego przetwarzania treści (np. sklepy internetowe). Niektóre informacje, takie jak zawartość koszyka czy dane do wysyłki nie muszą być zapamiętywane przez serwer w nieskończoność. WooCommerce sam wie, jak nimi zarządzać. Absolutnie nie twierdzę, że nie należy stosować cache dla sklepów internetowych, ale należy zachować przy nich szczególną ostrożność.

Trochę się tego zebrało

Jak widzisz po długości artykułu, trywialne 5 czynników powodujących wolne wczytywanie się WordPress jest problemem wymagającym szerokiego omówienia. Mam nadzieję, że moje powyższe rady okażą się Tobie pomocne. Daj znać w komentarzu czy tak właśnie jest. Pochwal się swoimi wynikami przed i po optymalizacji.

Masz uwagi? Napisz mi proszę co wymaga poprawy. A może znasz kolejne metody przyspieszenia strony? Wymieńmy się doświadczeniem.

ZAPISZ SIĘ DO NEWSLETTERA!

Bądź na bieżąco! W newsletterze będziesz otrzymywać m.in. informacje o nowych wpisach na blogu, poradnikach na YouTube, e-bookach oraz ważnych wydarzeniach ze świata WordPress. Wysyłam jedynie wartościowe treści.

Facebook
Twitter
Email
Drukuj