wp-round

Optymalizacja WordPress, lista dodatków zwiększających wydajność

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").

Pobierz WP Super Cache

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).

Pobierz W3 Total Cache

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.

Domeny

Mariusz Kołacz dodatek, optymalizacja, Wordpress

Skomentuj wpis - Komentarzy (49)

  1. Paweł Białecki pisze:

    Przy jakiej ilości wpisów/użytkowników/komentarzy te wtyczki dadzą zauważalny przyrost szybkości?

    Zaczynam testować :D

  2. Mariusz Kołacz pisze:

    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.

  3. Paweł Białecki pisze:

    WOW - włączyłem Hyper Cache i DB Cache Reloaded i WordPress przyspieszył co najmniej dwukrotnie, to działa super! Dzięki wielkie :DDD

  4. Bartłomiej Jakubowski pisze:

    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.

  5. Mariusz Kołacz pisze:

    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 ;)

  6. Mariusz Kołacz pisze:

    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 :)

  7. Łukasz Gigoń pisze:

    Zainstalowałem DB Cache Reloaded i rzeczywiście widać różnicę. Dzięki ;)

  8. Od9 pisze:

    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

  9. Olas pisze:

    Ja również korzystam z tej wtyczki i jestem w pełni usatysfakcjonowany. Polecam i pozdrawiam.

  10. Ebro pisze:

    Będę musiał pomyśleć o czymś takim, bo statystyki wydajności ostatnio sporo spadły. Wielkie dzięki :)

  11. Bartłomiej Jakubowski pisze:

    Sprawdzę jeszcze DB Cache Reloaded na jednej z moich stron.

  12. Grafika komputerowa pisze:

    Jeśli wydajność spadła warto przeczyścić bazę danych w php myAdmin.

  13. Mariusz Kołacz pisze:

    Dokładnie, defragmentacja bazy danych, może przyśpieszyć wykonywanie zapytań (odpowiedzi) i tym samym zoptymalizować działanie witryny.

  14. Badek pisze:

    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.

  15. Vital pisze:

    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

  16. Mariusz Kołacz pisze:

    Witaj i dzięki za informacje o wtyczce "Plugin Organizer", nie znałem tego dodatku, w wolnej chwili przetestuję ;)

  17. Badek pisze:

    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.

  18. Vital pisze:

    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.

  19. stefan pisze:

    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ść?

  20. Mariusz Kołacz pisze:

    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.

  21. stefan pisze:

    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...

  22. Wojtek pisze:

    Bardzo ciekawe porównanie.
    Polecam jeszcze Simple Cache - mi skutecznie pomaga z wydajnością.

  23. Łukasz Kamiennik pisze:

    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

  24. Mariusz Kołacz pisze:

    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.

  25. Lewski pisze:

    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ć.

  26. Mariusz Kołacz pisze:

    @Lewski, zaznaczona = true czyli włącza cachowanie, niezaznaczona = false czyli cachowanie wyłączone. A te dopiski są formą podpowiedzi.

  27. Lewski pisze:

    Dzięki za błyskawiczną odpowiedź. Chciałem się upewnić bo niektóre podpowiedzi są trochę mylące.
    pozdrawiam i gratuluję pomocnego serwisu :D

  28. Softmaster pisze:

    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ę.

  29. Mariusz Kołacz pisze:

    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

  30. Jasiek pisze:

    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

  31. Mariusz Kołacz pisze:

    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.

  32. Piotrek pisze:

    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

  33. Mariusz Kołacz pisze:

    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.

  34. optymalizacja wordpress pisze:

    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ą ;)

  35. Dorota pisze:

    "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?

  36. Mariusz Kołacz pisze:

    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.

  37. Dorota pisze:

    Niestety nie mogę, próbowałam, wchodzi mi w konflikt z jakąś inną wtyczką. Znasz jakiś inny?

  38. Mariusz Kołacz pisze:

    Niestety nie znam.
    Jakieś komunikaty o błędach pojawiają się?
    Którą wersję WordPressa masz?

  39. Dorota pisze:

    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.

  40. Patrykos360 pisze:

    Witam, czy znacie moze jakis poradnik jak dobrze skonfigurować wtyczke WP Super Cache?
    nie znalazlem zadnego niestety po polsku

    Pozdrawiam

  41. Gicu pisze:

    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)...

  42. Mariusz Kołacz pisze:

    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.

  43. Andrzej pisze:

    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.

  44. Pawel pisze:

    Wtyczki super .. tylko zastanawiam się na jednym - jeżeli strona posiada ok. 500 wpisów lub więcej czy wordpress jest wydajnym systemem?

  45. Arek pisze:

    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?

  46. Mariusz Kołacz pisze:

    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ą.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Poinformuj mnie o nowych komentarzach do tego wpisu.