Pewnie nie raz miałeś, albo będziesz mieć sytuacje, w której Twoja strona nie będzie mogła pochwalić się dobrymi wynikami jakości i wydajności. Każdy bez wyjątku prędzej czy później z tym problemem się spotyka. Mamy to jak w banku 🙂
WordPress natywnie nie oferuje żadnych mechanizmów buforujących, możemy więc albo oprzeć się na tym co daje sam hosting, np. cache nginx plus buforowanie obiektów bazy (Redis, Memcached), ale to zazwyczaj nie wystarcza. Musisz więc sięgnąć po inne narzedzia.
Wtyczki Cache dla WordPressa
Jest ich bez liku. Jeśli wpiszesz w repozytorium WordPressa słowo ”cache” znajdziesz wiele wtyczek, które pomogą przyspieszyć działanie strony.
To co widać powyżej to tylko 12 pierwszych wyników. Jest ich znacznie więcej. Przy takiej ilości rozszerzeń pojawia się jednak problem. Które wybrać?!
Moja sugestia. Przetestuj tyle ile zdołasz, eksperymentuj z konfiguracją i w ten sposób krok po kroku wyłonisz wtyczkę, która najlepiej radzi sobie z optymalizacją Twojego projektu.
Nie ma czegoś takiego jak wtyczka uniwersalna, czy jak w tytule tego artykułu najlepsza wtyczka cache. Na jednej stronie zadziała swietnie WP Fastest Cache, na innej W3 Total Cache czy LiteSpeed Cache, choć ta ostatnia sprawdzi się tylko na hostingu LiteSpeed.
Jaką wtyczkę cache uważam za najlepszą
Wspomniałem powyżej, że nie ma czegoś takiego jak „najlepsza wtyczka cache”, bo w zależności od konfiguracji Twojej strony, w zależności od tego jakich wtyczek i motywu używasz, niekoniecznie zawsze najlepszą robotę wykona jedna i ta sama wtyczka.
Gdybym jednak na bazie moich doświadczeń, a przerobiłem większość tego typu wtyczek, miał wskazać jedną, która daje w moich projektach najlepsze wyniki, a do tego jest prosta w konfiguracji wskazałbym wtyczkę WPRocket.
Komfort konfiguracji
To ważne zagadnienie, zwłaszcza jeśli nie masz jeszcze dużego doświadczenia. Gdy w takiej sytuacji zechcesz użyć np. LiteSpeed Cache, to odpowiednie wdrożenie konfiguracji może okazać się niewykonalne. Ta wtyczka to prawdziwy kombajn z ogromną ilością ustawień. Jej poprawna konfiguracja wymaga znajomosci tematu i wielu eksperymentów.
Bardzo często moi kursanci decydują się na tę wtyczkę, a potem widzę, że nie potrafią jej skonfigurować. Trzeba mieć świadomość tego, że i w tym wypadku nie ma konfiguracji uniwersalnej. Na jednej stronie sprawdzi się konfiguracja X na drugiej będzie generowała problemy i trzeba zastosować konfigurację Y. Nie zawsze jest to zadanie łatwe.
Oczywiscie są wtyczki w repozytorium, które nastawione są na prostotę, np. wspomniane powyżej rozszerzenie WP Fastest Cache, albo inne, nie wymienione jeszcze: Cache Enabler.
Niestety praktycznie wszystkie wtyczki dostępne za free (poza LiteSpeed) mają ograniczone możliwości i dopiero wersje PRO (płatne) te możliwości poszerzają.
Dlaczego WPRocket
Zanim napiszę o tym dlaczego uważam tę wtyczkę za najlepszą, muszę napisać, że nie jest ona dostępna w repozytorium WordPressa. Jest dostępna tylko wersja PRO, ale jesli zechcesz faktycznie dobrze zoptymalizować swój serwis, to tak czy siak nie obejdzie się bez inwestycji w taką lub inną wtyczkę PRO. Działanie na wersjach bezpłatnych przynosi zazwyczaj tylko połowiczny efekt, a powinno Ci mocno zależeć na tym, aby strona była maksymalnie wydajna.
Wtyczka jest prosta w konfiguracji
Jej odpowiednie skonfigurowanie nie zajmie Ci zbyt wiele czasu. Interfejs jest bardzo czytelny, a do tego przyzwoicie spolszczony.
Cache działa od razu po aktywacji
Większość wtyczek wymaga od Ciebie po instalacji i aktywacji wejścia w ustawienia i włączenie mechanizmu buforujacego. WPRocket po aktywacji od razu ma bufor aktywny. Jedyne co pozostaje zrobić, to ewentualnie dokonfigurować optymalizację plików, mediów czy preload, co też nie jest specjalnie dużym wyzwaniem.
Prosta optymalizacja plików
To, że prosta wcale nie oznacza, że mniej skuteczna. Masz wszystko co potrzeba: minifikację, łączenie plików, tak aby strona generowała mniej zadań do serwera, a także możliwość generowania krytycznego CSSa, który to mechanizm stara się utworzyć plik CSS zawierający faktycznie wykorzystywane arkusze. Nie jest to może idealne rozwiazanie, ale w przypadku WPRocket działa całkiem nieźle.
Leniwe ładowanie mediów, osadzanie….
Warto korzystać z tych opcji ponieważ mogą w znaczący sposób wpłynąć na wyniki jakościowe i szybkość ładowania się strony. Konfiguracja tych parametrów w WPRocket jest banalnie prosta.
Preload w oparciu o mapę witryny
Cache buduje sobie dane bufora w momencie gdy strona zostanie wywołana, np. ktoś otworzy stronę. W efekcie to pierwsze wejście trwa nieco dłużej, ponieważ w tym czasie tworzony jest bufor, a to proces bardziej wymagający. Natomiast kolejne wejście wyrzuca dane już z pamięci. Ilość operacji i czas potrzebny na ich wykonanie jest znacznie skrócony.
Preload ma za zadanie automatycznie utworzyć bufor twojej strony. Działa to tak ja crawler czyli robot odwiedzający stronę. Otwiera każdą stronę/podstronę po to aby wrzucić ją do pamięci, nie muszą więc tego robić osoby odwiedzające stronę.
WPRocket pozwala uruchomić robota w oparciu o mapę witryny, co zazwyczaj skraca cały proces i generuje tym samym mniejsze wykorzystanie CPU.
Google Analytics czy Pixel Facebooka
W przypadku większości zewnętrznych skryptów, także tych pochodzących od Google czy Facebooka ich wdrożenie powoduje pogorszenie się wyników wydajności strony. Nie zawsze są to drastyczne spadki, ale są.
WPRocket pozwala aktywować jednym kliknięcie myszki funkcje, która spowoduje, że te zewnętrzne skrypty będą ładowane z naszego lokalnego serwera, co sprawi ze zadziałają szybciej.
Optymalizacja bazy danych
Bardzo często o tym zapominamy, ale warto co pewien czas pozbyć się z bazy WordPressa zbędnego balastu, który powoduje że niektóre zapytania SQL wykonują się dłużej niż powinny.
WP Rocket daje możliwość kontroli tego obszaru optymalizacji z opcją pozwalającą na zautomatyzowanie tego procesu.
Tak, tak. Wiem że są wtyczki do optymalizacji bazy, ale wiem też i powtarzam to jak mantrę, że im mniej wtyczek zainstalujesz tym lepiej dla Twojej strony.
Inne funkcje
Na ich temat nie będę się już rozpisywał, ale warto wiedzieć że są. Możesz kontrolować bicie serca swojego WordPressa, a więc zmienić częstotliwość wywoływania API, które standardowo odbywa się co minutę. Modyfikując częstotliwość np. na co dwie minuty, możesz zaoszczędzić sporo zasobów obliczeniowych, co przy większych projektach będzie widoczne przekładając się na poprawę wydajności strony.
Jeśli korzystasz z sieci CDN takiej jak BunnyNET (polecam), wówczas możesz wykorzystać WPRocket do konfiguracji hosta/hostów dla różnych rodzajów plików (CSS, JS, obrazy). WPRocket ma także własną sieć CDN, z której można skorzystać za dodatkową opłatą.
Jest usługa automatycznej optymalizacji grafik oferowana za opłatą przez WPRocket, choć w moim przypadku lepiej sprawdza się na tym polu BunnyNET.
Skuteczność WPRocket
Konfuguracja, konfiguracją, ale wtyczka ma przede wszystkim optymalizować i zwiększać szybkość strony. Jak na tym polu radzi sobie WPRocket?
Tę wtyczkę wykorzystuję dziś na wszystkich swoich stronach i to bez wyjątku. Nie dlatego, że mam taki kaprys, ale dlatego, że WPRocket pozwala mi wygenerować najlepsze wyniki w porównaniu do innych rozwiązań z jakimi miałem przyjemność eksperymentować.
Wtyczka nie jest droga, a rzeczywiście działa rewelacyjnie. Zresztą jeśli poszukasz w sieci rankingów na temat wtyczek cache, przy założeniu że nie są to rankingi sponsorowane, to w większości przypadków właśnie WPRocket jest wymieniany na pierwszym miejscu. Nie bez powodu 🙂