Czy Twój WordPress jest ociężały? Czy zdarzają się błędy w dostępie do bazy? Czy Masz wrażenie, że strona nie prezentuje dawnej świeżości? Jeżeli przynajmniej na jedno pytanie odpowiedziałeś twierdząco, oznacza to że Twoja strona wymaga natychmiastowej optymalizacji. WordPress posiada potężne narzędzia, które dadzą siłę Twojemu blogowi, aby mógł sprostać nowym wyzwaniom. Które z rozwiązań będzie dla Ciebie najlepsze?
Poniżej przedstawiam listę wtyczek, które zwiększą wydajność każdej strony opartej na systemie CMS WordPress. Czy macie jakieś własne patenty na optymalizację bloga? Jaki zestaw wtyczek polecacie? Chcecie uzupełnić niniejszy artykuł o własne doświadczenia? Serdecznie zapraszam 🙂
DB Cache Reloaded
Udoskonalony następca DB Cache. Wtyczka buforuje każde zapytanie do bazy. Odświeżanie magazynu następuje co zadaną ilość minut (resetowanie bufora). Takie podejście sprawia, że strona ładuje się szybciej, równocześnie zmniejsza się obciążenie serwera. Ograniczenie ilość zapytań do bazy, przekłada się na możliwość przyjęcia większej ilości użytkowników w krótkim czasie, bez żadnych negatywnych konsekwencji (popularny komunikat o błędzie w dostępie do bazy). Według zapewnień autora, wtyczka działa o wiele szybciej i zużywa mniej przestrzeni na dysku, niż inne dodatki o podobnym mechanizmie działania.
Pobierz DB Cache Reloaded
WP Super Cache
WP Super Cache wprowadza do systemu CMS WordPress wydajny system buforowania. Podstawowe zalety stosowania wtyczki: skrócenie czasu oczekiwania na załadowanie strony/podstrony oraz ogólne zwiększenie responsywności witryny. Zasada działania jest podobna do innych tego typu wtyczek. Na dysku gromadzone są wszelkie dane dotyczące wywoływanych stron, gdy zostanie wysłane żądanie, dane niezbędne do wyświetlenia strony/podstrony pobierane są bezpośrednio z pliku na dysku (pobierana jest statyczna strona). Takie rozwiązanie jest znacznie szybsze, niż renderowanie strony od podstaw (kompilacja kodu PHP „w locie”).
W3 Total Cache
Jeden z lepszych dodatków buforujących dla WordPress. W3 Total Cache wprowadza wiele rozwiązań, które redukują obciążenie serwera, zwiększają responsywność i skracają czas oczekiwania na załadowanie poszczególnych elementów witryny. W3 Total Cache posiada wsparcie dla technologii CDN (ang. Content Delivery Network).
Hyper Cache
Szybki, elastyczny i łatwy w konfiguracji system buforujący dla WordPress. Według zapowiedzi autora, dodatek stworzony dla wszystkich stron, które utrzymywane są na słabych serwerach. Szczegółowe informacje o wtyczce znajdziecie na stronie wordpress.org
Pobierz Hyper Cache
WP Widget Cache
Dodatek odpowiedzialny za buforowanie widżetów. Potrafi skutecznie zredukować liczbę zapytań i znacząco przyśpieszyć renderowanie stron z dużą ilością widżetów. Jeżeli nasza strona jest popularna, ten dodatek pozwoli podnieść wydajność witryny.
UWAGA! Niektóre dodatki nie powinny być buforowane. Więcej informacji w tym dokumencie.
Pobierz WP Widget Cache
Display Widgets
W odróżnieniu od poprzedników, dodatek nie wprowadza funkcji buforowania elementów witryny. Display Widgets pozwala administratorowi zarządzać wyświetlaniem widżetów na stronie. Ustalenie odpowiedniego schematu i ograniczenie wyświetlania widżetów na zdefiniowanych podstronach spowoduje zmniejszenie ilości zapytań i w konsekwencji przyśpieszenie renderowania strony.
Pobierz Display Widgets
Który z dodatków jest najlepszy?
Według testów przeprowadzonych przez portal tutorial9.net najlepszym rozwiązaniem okazuje się połączenie Hyper Cache i DB Cache Reloaded. Najgorszą wydajność uzyskano podczas testowania WP Super Cache, w połączeniu z każdym innym dodatkiem opisywanym w dokumencie. Na uwagę zasługuje także wysoka pozycja „ręcznego” buforowania z wykorzystaniem modułu Mod rewrite oraz dyrektyw RewriteEngine, RewriteRule.
Szczegółowe wyniki testów można znaleźć w tym dokumencie.
Przy jakiej ilości wpisów/użytkowników/komentarzy te wtyczki dadzą zauważalny przyrost szybkości?
Zaczynam testować 😀
Ciężko odpowiedzieć na to pytanie, jest to uzależnione od wielu czynników. Testów wydajnościowo – obciążeniowych nie przeprowadzałem bo nie ma takiej potrzeby u mnie. Na chwilę obecną opieram się na badaniach innych osób. Będę więcej wiedział o skuteczności to na pewno napiszę o tym 😉 Jeżeli chodzi o samą ocenę efektu, w postaci choćby zmniejszenia ilości zapytań do bazy, to jest ona znaczna. Jak testowałem DB Cache Reloaded z domyślnych 21 zapytań na stronie głównej, przy włączonym buforowaniu liczba zmniejszyła się do 12 więc warto optymalizować, dzięki temu strona przyjmie większą ilość użytkowników w danej jednostce czasu.
WOW – włączyłem Hyper Cache i DB Cache Reloaded i WordPress przyspieszył co najmniej dwukrotnie, to działa super! Dzięki wielkie :DDD
Miło to usłyszeć że jest u Ciebie duża różnica, zaraz sam odwiedzę i sprawdzę 😉 Niestety u siebie wielkiego skoku wydajności nie obserwuję, być może to jest złudne wrażenie 🙂
Ja korzystam z WP Super Cache.
Zacząłem dopiero po tym jak musiałem zwiększyć pakiet hostingowy u dostawcy. Gdybym od początku korzystał z tej wtyczki prawdopodobnie nie miałbym takich problemów.
Właśnie p oto są tego typu wtyczki 😉 jak doliczymy optymalizację od strony grafiki można sporo oszczędzić na limitach transferu. Także komfort użytkowania większy, czyli jakby nie patrzeć same zalety 😉
Ja od samego początku korzystam z DB Cache Reloaded, dzisiaj doszło do tego Hyper Cache, błędów brak, ale zapewne obydwie wtyczki przy aktualizacji automatycznej innych dodatków będzie trzeba wyłączać… dla bezpieczeństwa 😉
Zainstalowałem DB Cache Reloaded i rzeczywiście widać różnicę. Dzięki 😉
Ja również korzystam z tej wtyczki i jestem w pełni usatysfakcjonowany. Polecam i pozdrawiam.
Ja używam WP Super Cache i jestem zadowolony. Trzeba tylko poprawnie skonfigurować tą wtyczkę. Znalazłem gdzieś w necie ciekawy tutorial na optymalną konfigurację ale nie pomnę teraz gdzie to było niestety
Będę musiał pomyśleć o czymś takim, bo statystyki wydajności ostatnio sporo spadły. Wielkie dzięki 🙂
Jeśli wydajność spadła warto przeczyścić bazę danych w php myAdmin.
Dokładnie, defragmentacja bazy danych, może przyśpieszyć wykonywanie zapytań (odpowiedzi) i tym samym zoptymalizować działanie witryny.
Sprawdzę jeszcze DB Cache Reloaded na jednej z moich stron.
Sam używam WP Super Cache pod WP 3.2 i działa dobrze, o wiele szybciej się ładuje blog niż na czysto. Testowałem Hyper Cache, ale żadnej różnicy nie widziałem (w porównaniu na czysto), tak samo W3 Total Cache. DB Cache Reloaded nie działa z WP 3.2, mam nadzieję, że autor szybko to poprawi, bo z tego co przeczytałem działa lepiej niż Super Cache.
Kiedyś o tym pisałem na blogu https://techformator.pl/db-cache-reloaded-kompatybilnosc-z-wordpress-3-1/
Użyj DB Cache Reloaded Fix, który działa z WordPress 3.2
Do przyspieszenia WP nada się także włączanie jedynie tych pluginów które na danej podstronie akurat tego wymagają. Ogromna większość pluginów jest bowiem zaciągana do kodu nawet wówczas gdy funkcji przez niego oferowanej nie wykorzystujemy. Pomoże nam w tym Plugin Organizer – czyli selektywne włączanie wtyczek
Witaj i dzięki za informacje o wtyczce „Plugin Organizer”, nie znałem tego dodatku, w wolnej chwili przetestuję 😉
A co sądzicie o WP JS i WP CSS? Zainstalowałem ostatnio u siebie, ale nie zauważyłem żadnej różnicy. A i możecie mi powiedzieć jak działa „YSlow” for Firefox? Jakiej wtyczki bym nie zainstalował, to nie widzę prawie żadnej różnicy w tych „statystykach”. Ten blog ma na czysto ~350kB, a mój nierzadko 800kB i wydaję mi się, że to troszkę za dużo.
WP JS i WP CSS – te pluginy sprawiają nierzadko więcej kłopotu niż można sobie wyobrazić. Łączenie w jednym pliku .js czy .css-ów zawsze wywala mi w rezultacie błędy.
Witam. Proszę o pomoc. Mam kłopot z parametrem na nazwa.pl „Maksymalna ilość danych przesłanych z/do baz danych liczona na serwer w ciągu doby 10 GB”. Myślę, że to blog na WordPressie tak obciąża bazę danych. W jaki sposób można na wirtualnym serwerze sprawdzić w mysqlu najczęściej wywoływane skrypty? Jest taka możliwość?
Na standardowych kontach nie da się tego sprawdzić, chyba że mamy pełny dostęp do serwera przez SSH i z poziomu konsoli możemy wykonywać swobodnie polecenia. W przypadku braku takiej opcji zwykle mamy jedynie dostęp do statystyk serwera awstats, webalizer etc. Więcej informacji można także uzyskać jeśli mamy zainstalowany na WordPress jakiś skrypt przechwytujący/filtrujący zapytania do bazy np. WP MySQL Profiler.
Witam. Dzięki. Tylko WP MySQL Profiler nie obsługuje ostatniego WP 3.2.1. A czy jest opcja cofnięcia się do poprzedniej/ ich wersji WP? Mam wrażenie, że to po updacie do nowej wersji WP, cos niedobrego stało się z obciążeniem baz danych…
Sprawdź Debug Queries http://wordpress.org/extend/plugins/debug-queries/
Bardzo ciekawe porównanie.
Polecam jeszcze Simple Cache – mi skutecznie pomaga z wydajnością.
Cześć Mariusz, dzięki za wartościowe info. Przy okazji, moje pytanie: czy zainstalowanie np. W3 Total Cache na wiekowym i obszernym blogu może spowodować jakieś błędy, które „wywalą” bloga? 🙂 Kiedyś, dawno temu, po instalacji tego typu wtyczki na innym blogu, pojawiły się błędy, mimo iż hosting to home.pl
Cześć. Pomijam już kwestię hostingu home.pl który ma kiepskie opinie pod kątem funkcjonowania CMS WordPress. Tak, jeśli wtyczka będzie zbyt nowa, może być niekompatybilna z wcześniejszymi wersjami WordPressa. W takich sytuacjach przed update zawsze należy przeczytać uwagi co do wymagań wtyczki. Na stronach produkcyjnych – firmowych warto wcześniej przetestować update na blogu testowym.
Mam pytanie dot. wtyczki Hyper Cache:
Jeśli chcę by strona głowna była Cache’owana opcja „Home caching” ma być zaznaczona czy odznaczona?
Nie bardzo rozumiem, czy dopiski w ramkach to objaśnienia dot. działania funkcji czy zalecenia jakimi powinno się kierować.
@Lewski, zaznaczona = true czyli włącza cachowanie, niezaznaczona = false czyli cachowanie wyłączone. A te dopiski są formą podpowiedzi.
Dzięki za błyskawiczną odpowiedź. Chciałem się upewnić bo niektóre podpowiedzi są trochę mylące.
pozdrawiam i gratuluję pomocnego serwisu 😀
Witam, czy przypadkiem takie pluginy cachujące nie spowodują większego zużycia transferu?
Zastanawiam się czy z jednej strony nie przyspieszają, a z drugie czy nie powodują większego zjadania transferu przez stronę.
Z racji tego, że trzeba wygenerować stronę i zapisać ją lokalnie w katalogu tmp, cache lub innym z zależności od sposobu działania wtyczki, widzę nieco większe zużycie transferu ale trudno dokładnie oszacować ile to jest.
Kwestia agresywności cachowania, jak mamy duży ruch można wydłużyć czas po jakim magazyn cache zostanie oczyszczony, jeśli mamy strony statyczne można nawet ustawić czas wygaśnięcia powiedzmy na 30 dni lub wręcz na stałe (po to aby nie generować i nie aktualizować magazynu). Każdy zapis danych na serwer będzie wliczony do miesięcznego limitu więc warto sprawdzić co w trawie piszczy. Jeśli zoptymalizowaliśmy witrynę – włączyliśmy dodatkową kompresję drastycznego zużycia nie ma prawa być, chociaż to tak się łatwo mówi – jest wiele czynników, które może podważyć to stwierdzenie np. charakter samej strony, jeśli udostępnia multimedia/treści, które „z natury” nie można już bardziej skompresować dlatego nie mogę jednoznacznie odpowiedzieć na pytanie, za dużo niewiadomych. To jest jak w pozycjonowaniu – nie ma uniwersalnych strategii, jeśli chce się coś wykonać optymalnie trzeba dobrać strategię pod konkretną witrynę.
Jeśli Masz dylemat, co robić czy odciążyć serwer czy zmniejszyć zużycie transferu – obydwa punkty można pogodzić, tylko trzeba podejść do tego indywidualnie. Pozdrawiam
Na wstępie dzięki za przydatny wpis.
Z tego co przeczytałem polecasz zestaw DB Cache Reloaded + Hyper Cache. Mi nasuwa się jednak pytanie, czy te dwie wtyczki nie będą się jakoś ze sobą gryzły, jeśli mają podobne zadanie do wykonania?
W tematyce WordPressa dopiero zaczynam się orientować i miałbym prośbę żebyś trochę rozjaśnił ta kwestię, bo nie do końca rozumiem o co chodzi i dlaczego tak: 'ale zapewne obydwie wtyczki przy aktualizacji automatycznej innych dodatków będzie trzeba wyłączać… dla bezpieczeństwa’.
Ostatnio miałem trochę hecy ze swoim WordPressem i jego wydajnością i stabilnością, więc chcę się doedukować w tym temacie 😉
Pozdrowienia
Nie będą się gryzły, każda z tych wtyczek ma inne zadanie do wykonania. Jedna specjalizuje się w zapytaniach do bazy, druga zajmuje się całą resztą.
Co do wyłączania, zapobiegawczo podczas aktualizacji WordPressa do nowszej wersji lepiej wyłączyć wszystkie wtyczki, które realnie mogą ingerować w proces, dotyczy to wtyczek cachujących, filtrujących zapytania do bazy. Ostatnio zdarzyło mi się robić update z włączonymi wtyczkami o których mowa (zapomniałem wyłączyć) i nic się nie stało więc nie Masz się czego obawiać, choć tak jak mówię prewencyjnie (w celu zapobiegania ewentualnym usterkom po update) jeśli robię większą aktualizację wyłączam niektóre wtyczki.
Witam
Nie mogę poradzić sobie z instalacją „db cache reloaded fix” podczas uruchamiania mam
Caching can’t be activated. Please chmod 755 wp-content/db-cache-reloaded-fix/cache folder
Ustawienia nie mogą zostać zapisane. Proszę ustawić chmod 755 dla pliku config.ini
Utworzyłem katalog w podanej ścieżce nadałem mu chmod… i komunikat nadal występuje.’
Nie mam u siebie pliku config.ini – tworzyłem go w głównym katalogu wtyczki i też nie działa. Hmmm
Komunikat jest czytelny, problem tkwi w uprawnieniach i tutaj nic nie da się poradzić oprócz ponownego zaaplikowania uprawnień, proszę to sprawdzić jeszcze raz, wgrać od nowa pliki wtyczki, zaaplikować uprawnienia. Żeby dokładnie zdiagnozować problem musiałbym mieć dostęp do FTP oraz dodatkowe informacje o dotychczasowych działaniach naprawczych, przy braku możliwości zbadania nic nie jestem w stanie doradzić oprócz tego. Pozdrawiam.
Już wiem co jest grane :/
http://wordpress.org/support/topic/plugin-db-cache-reloaded-fix-installation-problem-caching-cant-be-activated
Ciekawy wpis, szukałem jakiegoś dobrego porównania wtyczek. Ja aktualnie używam DB Cache Reloaded wersja 2.1 Autor: Daniel Frużyński – jestem patriotą 😉
„czas wygaśnięcia powiedzmy na 30 dni lub wręcz na stałe” interesuje mnie ustawienie tego w widgetach. Wiesz może jak? Mam widhet logic, może w tym trzeba komendę wpisać? czy może jest opcja automatycznego?
Nie używam Widget Logic, ale z tego co widzę on służy do zarządzania widgetami, nie pozwala na cachowanie.
Cachowanie zrealizuj przy pomocy wymienionych dodatków.
Jeśli chcesz ustawiać dla każdego widgetu z osobna czas wygaśnięcia skorzystaj z WP Widget Cache.
Niestety nie mogę, próbowałam, wchodzi mi w konflikt z jakąś inną wtyczką. Znasz jakiś inny?
Niestety nie znam.
Jakieś komunikaty o błędach pojawiają się?
Którą wersję WordPressa masz?
Najnowszą. Nie chodzi o komunikaty. Robię testy http://gtmetrix.com swoją drogą świetne narzędzie do optymalizacji. To z tam się dowiedziałam, że przydałoby się datę „expire” ustawić. Ale już sobie poradziłam, ustawiłam na serwerze. Dzięki za pomoc, pozdrawiam.
Witam, czy znacie moze jakis poradnik jak dobrze skonfigurować wtyczke WP Super Cache?
nie znalazlem zadnego niestety po polsku
Pozdrawiam
Witam.
Przy działaniu w kokpicie muszę czekać od 10 do 13 sekund aby przełączać się pomiędzy opcjami… 🙁 .
Pomimo zainstalowania dwóch polecanych pluginów… .
Hosting to webd.pl (large)…
Z tego co wiem dla zalogowanych WP domyślnie cachowanie jest wyłączone, także to chyba nie wina tych wtyczek, jednakże dla pewności trzeba by zrobić diagnostykę Profilerem.
Na dzień dzisiejszy używam WP Fastest Cache i jak dla mnie jest wystarczający. W harmonogramie ustawione czyszczenie cache raz na godzinkę. Testowałem kilka razy oczywiście W 3 Total Cache i WP Super Cache ale zauważyłem że zamiast pozytywnych efektów przyspieszenia strona jakby nieco zwalniała w stosunku do używania WP Fastest Cache. Ustawienia były jak najbardziej prawidłowe w moim odczuciu.
Wtyczki super .. tylko zastanawiam się na jednym – jeżeli strona posiada ok. 500 wpisów lub więcej czy wordpress jest wydajnym systemem?
Czy nie ma przeszkód, żeby mieć dwie wtyczki cache włączone w tym samym czasie? Mam DB cache reloaded i Hyper Cache – te wtyczki nie gryzą się w jakiś sposób?
Arek, jeśli realizują to samo zadanie będą się gryzły. Można zastosować wtyczki, które mają różne przeznaczenie. Pierwszą którą wymieniasz jest do cachowania zapytań do bazy danych, druga odpowiedzialna jest za cachowanie generowanych stron. W tej sytuacji wtyczki nie będą się gryźć ze sobą.