Duża ilość wtyczek spowalnia WordPressa – prawda czy mit?

Wtyczki
Często spotykam się z opinią, że duża ilość zainstalowanych wtyczek spowalnia WordPressa. Mimo że coś w tym jest, to nie jest to do końca prawda. Sama ilość wtyczek nie ma znaczącego wpływu na szybkość działania naszej strony – to źle napisane wtyczki ją spowalniają. Oczywiście to nie jest tak, że możemy instalować dowolną ilość rozszerzeń i pozostanie to bez wpływu na wydajność – trzeba do tego podejść z rozsądkiem.

Czy wtyczki spowalniają stronę?

Wtyczki to praktycznie rzecz biorąc zwykłe skrypty napisane w języku PHP, ładowane przez WordPressa w taki sposób, że mają dostęp do jego funkcji. Więcej technicznych informacji na temat wtyczek można znaleźć we wpisie Jak stworzyć własną wtyczkę?. Jeśli wtyczka jest dobrze napisana, to w większości przypadków nie powinna znacząco wydłużyć czasu ładowania strony.

Istnieją jednak wtyczki, które mają wpływ na szybkość działania strony – mam tu na myśli rozszerzenia, które wykonują różne czasochłonne działania. Świetnym przykładem są wtyczki generujące listy podobnych (powiązanych) wpisów – im bardziej skomplikowany algorytm porównywania wpisów i im więcej treści zawiera nasza strona, tym więcej czasu wtyczka taka potrzebuje na wykonanie swojego zadania. Najczęściej jednak tego typu rozszerzenia korzystają z cache, dzięki któremu wykonują czasochłonne operacje możliwie jak najrzadziej.

Najgorszą grupą wtyczek są wtyczki napisane po prostu źle. Potrafią one znacząco spowolnić naszą stronę – nawet do tego stopnia, że w ogóle przestanie się ona ładować. Przyczyn takiego stanu rzeczy może być kilka: nieoptymalne zapytania do bazy danych, zbyt intensywne wykorzystywanie funkcji pobierających dane (na przykład wpisów), niepotrzebne żądania wysyłane do zewnętrznych serwerów czy duża ilość ładowanych plików (na przykład skryptów JavaScript). Jeśli nie mamy doświadczenia w programowaniu, to ocena jakości kodu wtyczki może być trudna – w takim przypadku najlepiej poprosić o pomoc kogoś bardziej doświadczonego lub po prostu zrezygnować z używania problematycznego rozszerzenia.

Ile wtyczek można zainstalować?

Nie da się określić nawet przybliżonej liczby wtyczek, która zagwarantuje nam brak problemów z wydajnością. Trudno bowiem porównywać proste wtyczki, które często zawierają dosłownie kilka linii kodu, i duże rozszerzenia, które tych linii mogą mieć nawet kilkadziesiąt tysięcy. Inna sprawa, że sama wielkość wtyczki nie wystarcza do oszacowania jej wpływu na wydajność naszej strony. Tak więc nie da się odpowiedzieć na tak postawione pytanie, bo czynników, które trzeba wziąć pod uwagę, jest wiele.

Czy nieaktywne wtyczki wpływają na czas ładowania strony?

Odpowiedź jest krótka: nie. Nieaktywne wtyczki po prostu leżą sobie w katalogu wtyczek i nie są ładowane przez WordPressa. Jedynym miejscem, gdzie WordPress w ogóle dotyka plików nieaktywnych wtyczek, jest strona zarządzania wtyczkami, ale nawet tam wtyczki nie są ładowane – ich pliki są przeszukiwane pod kątem informacji do wyświetlenia na liście zainstalowanych rozszerzeń, takich jak nazwa, autor czy adres strony. Jeśli jednak jesteśmy pewni, że nie potrzebujemy danej wtyczki, to najlepiej ją po prostu usunąć.

Przy okazji warto wspomnieć o jednej bardzo ważnej rzeczy: nieaktywne wtyczki również należy aktualizować, bo mimo że nie są ładowane przez WordPressa, to ich pliki wciąż znajdują się na naszym serwerze.

Jak sprawdzić która wtyczka spowalnia naszą stronę?

Na szczęście istnieje prosty sposób na sprawdzenie, która z zainstalowanych na naszej stronie wtyczek spowalnia jej ładowanie. Wykorzystamy do tego darmową wtyczkę P3 (Plugin Performance Profiler), która automatycznie skanuje naszą stronę i generuje raport, zawierający między innymi informacje o czasie działania poszczególnych rozszerzeń. Wystarczy ją zainstalować, przejść do strony P3 Plugin Profiler (znajdującej się w menu Narzędzia) i kliknąć przycisk Start Scan.

P3 Profiler - raport

Jak widać na zamieszczonym powyżej obrazku, wyraźnie najwolniejszą z zainstalowanych wtyczek jest Yet Another Related Posts – rozszerzenie generujące listy powiązanych wpisów. Zanim jednak w panice wyłączymy tę wtyczkę, przyjrzyjmy się raportowi nieco uważniej. Wtyczka ta, mimo że czas jej działania stanowi aż 76% ogólnego czasu działania zainstalowanych wtyczek, potrzebowała na wykonanie swoich zadań średnio 0,0217 sekundy – czyli bardzo niewiele.

Więcej informacji na temat korzystania z wtyczki P3 można znaleźć w serwisie WebHelp.

Bezpośredni link