Wolno działający panel administracyjny jest uciążliwy zwłaszcza gdy prowadzisz stronę, która jest często aktualizowana – np. sklep internetowy lub blog. Długie wczytywanie się podstron jest bardzo frustrujące, ponieważ niepotrzebnie tracimy czas na czekanie. Może być wiele przyczyn tego problemu, jednak można to naprawić. W poradniku tym opisuję jak przyspieszyć panel administracyjny WordPressa.
Spis treści
Wolny hosting
Niestety w większości przypadków to właśnie złej jakości hosting spowalnia naszą stronę. Możliwe także, że zostały przekroczone limity na serwerze. W takim przypadku najlepiej skontaktować się z obecnym dostawcą hostingu i wypytać, czy faktycznie nie jest to przyczyną spowolnienia strony.
Jeśli prowadzisz duży sklep internetowy, warto rozważyć przeniesienie strony na serwer dedykowany lub VPS. Niestety takie rozwiązanie kosztuje więcej niż zwykły hosting współdzielony.
Dla przypomnienia, w przypadku hostingu współdzielonego z jednego serwera korzysta wielu użytkowników. Na takim serwerze może być zainstalowanych kilkanaście, a nawet kilkadziesiąt aplikacji. Zaletą hostingu współdzielonego jest jego niska cena oraz stabilność, natomiast wadą wydajność. Nie możemy sami zmieniać konfiguracji serwera, a co za tym idzie, nie możemy zwiększyć jego parametrów.
W przypadku hostingu dedykowanego, do dyspozycji mamy cały serwer. Na takim serwerze działa tylko i wyłącznie nasza aplikacja. Z nikim nie musimy go dzielić i sami możemy zwiększyć parametry. Niestety hosting dedykowany kosztuje znacznie więcej niż współdzielony.
Trzecie rozwiązanie to VPS (Virtual Private Server). Jest to coś pomiędzy hostingiem współdzielonym a serwerem dedykowanym. VPS stanowi odrębne instalacje maszyn na jednym serwerze. Czyli mówiąc prostszym językiem, mamy możliwość konfiguracji serwera tak jak w przypadku serwera dedykowanego i dzielimy zasoby sprzętowe tak jak w przypadku hostingu współdzielonego. VPS jest tańszy niż serwer dedykowany, ale otrzymujemy hosting o niższej wydajności.
Obciążające wtyczki
Pewnie zauważyłeś, że świeżo po instalacji WordPressa, panel administracyjny działa najszybciej. Natomiast z każdą kolejną zainstalowaną wtyczką zaczyna zwalniać. Teoretycznie w przypadku prostej strony wizytówki można całkowicie zrezygnować z instalowania wtyczek i niektóre funkcjonalności, jak np. formularz kontaktowy wykonać samodzielnie. Oczywiście musimy dysponować wiedzą z zakresu HTML, CSS oraz PHP. Poza tym nie wystarczy, że formularz będzie poprawnie wysyłał maile. Oprócz tego kod musi być wydajny oraz bezpieczny. Dlatego wydaje mi się, że czasem lepiej skorzystać z rozwiązania, które jest bezpieczne i przetestowane przez tysiące użytkowników.
Owszem, każda dodatkowa wtyczka, to dodatkowy kod, który może zawierać luki bezpieczeństwa. Jednak niekoniecznie duża ilość wtyczek musi od razu spowolnić naszą stronę. Jeśli korzystamy ze sprawdzonych rozwiązań, które są wydajne, to nie powinniśmy odczuć dużej różnicy w szybkości działania naszego panelu. Problem może się pojawić, jeśli zainstalujemy wtyczkę, która jest źle napisana. Jednak jest na to sposób. Wystarczy skorzystać z wtyczki Query Monitor.
Za jej pomocą możemy zlokalizować najbardziej obciążające wtyczki. Niestety jeśli taką znajdziemy, to w miarę możliwości powinniśmy ją odistalować i znaleźć bardziej wydajny zamiennik.
Stara wersja PHP
Cały WordPress jest oparty o PHP. Jego twórcy nie bez przyczyny starają się na nas wymusić zmianę wersji PHP na najnowszą. Z każdą nową wersją PHP wprowadzane są liczne poprawki mające na celu zwiększenie wydajności i szybkości. Dlatego warto zadbać o to, aby na naszym serwerze była włączona najnowsza wersja PHP.
Jednak należy pamiętać, że zarówno motyw jak i zainstalowane wtyczki mogą nie obsługiwać najnowszej wersji PHP. Dlatego zawsze, po zmianie wersji należy dokładnie przetestować działanie naszej strony.
Obciążenie serwera przez Heartbeat
Od wersji WordPressa 3.6 wprowadzono API Heartbeat. Funkcjonalność ta pozwala na komunikację w czasie rzeczywistym pomiędzy serwerem a przeglądarką, wtedy gdy jesteśmy zalogowani do strony. Jest to bardzo przydatna funkcjonalność pozwalająca na:
- automatyczne zapisywanie szkiców wpisów,
- automatyczną blokadę edycji wpisów,
- wyświetlanie komunikatów z zainstalowanych wtyczek,
- automatyczne wylogowywanie po okresie bezczynności.
Niestety API Heartbeat bardzo obciąża procesor serwera. Dlatego, jeśli nie potrzebujesz tej funkcjonalności (bo jesteś jedynym użytkownikiem WordPressa i tylko Ty logujesz się do zaplecza swojej strony), warto ją wyłączyć, lub zmniejszyć jej częstotliwość.
Wyłączenie Heartbeat – bez wtyczki
Jeśli chcesz całkowicie wyłączyć Heartbeat, dodaj do pliku functions.php poniższy kod (plik functions.php znajdziesz w folderze ze swoim motywem):
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}
Wyłączenie wtyczki lub Ograniczenie liczby żądań – z wtyczką
Jeśli jednak potrzebujesz Heartbeat API, możesz po prostu ograniczyć liczbę wysyłanych do serwera żądań. W tym celu skorzystaj z wtyczki Heartbeat Control.
Po zainstalowaniu i aktywacji wtyczki przejdź do jej ustawień: Ustawienia -> Heartbeat Control.
Panel wtyczki jest bardzo prosty w obsłudze. Poprzez wtyczkę możemy:
- wyłączyć Heartbeat („Disable Heartbeat”),
- zmniejszyć częstotliwość żądań („Modify Heartbeat”).
Optymalizacja bazy danych
W bazie danych przechowywane są między innymi:
- strony oraz wpisy,
- komentarze,
- ustawienia witryny,
- ustawienia motywu i pluginów.
Za każdym razem, gdy testujesz nową wtyczkę lub po prostu wprowadzasz nowe treści, zwiększa się objętość bazy danych. Im większą wagę ma baza, tym więcej czasu zajmuje pobranie z niej informacji przez serwer. Z czasem może to spowodować znaczne spowolnienie strony. Dlatego warto raz na jakiś czas zoptymalizować bazę i usunąć z niej niepotrzebne informacje.
Do optymalizacji bazy polecam wtyczkę WP-Optimize. Jest to wtyczka tego samego autora co Updraft Plus. Wtyczka pozwala na usunięcie między innymi:
- starych wersji wpisów,
- usuniętych oraz niezaakceptowanych komentarzy, a także komentarzy oznaczonych jako SPAM,
- zapisanych szkiców postów oraz znajdujących się w koszu,
- tymczasowej pamięci podręcznej wykorzystywanej przez wtyczki do przechowywania informacji (rekordy typu transients).
Po zainstalowaniu i aktywacji wtyczki, po lewej stronie pojawi się dodatkowa pozycja WP-Optimize.
Wybierz pierwszą opcję (tak jak na powyższym screenie). W sekcji Optimizations możemy zaznaczyć elementy, które chcemy usunąć. Przed rozpoczęciem optymalizacji warto utworzyć kopię bazy. W tym celu polecam wtyczkę Updraft Plus (zobacz jak wykonać kopię zapasową strony).
Dodatkowo w zakładce Tables możemy usunąć niepotrzebne tabele, będące pozostałością po odinstalowanych wtyczkach. Można usuwać tabele dla nieaktywnych oraz usuniętych wtyczek.
Zwiększenie limitu pamięci
Limity pamięci serwera wynikają z jego ograniczeń. Gdy zostaną one przekroczone, otrzymujemy biały ekran i komunikat o błędzie. Jeśli jednak jeszcze ich nie przekroczymy, a jedynie osiągamy górną granicę, możemy zauważyć spowolnienie panelu WordPressa.
Na większości hostingach można samodzielnie zwiększyć limity z poziomu panelu. Limity można również zwiększyć na 3 sposoby:
W pliku wp-config.php
Do pliku wp-config.php (plik znajduje się w głównym folderze instalacji WordPressa) należy dodać kod:
define('WP_MEMORY_LIMIT', '128M');
W pliku .htaccess
Do pliku .htaccess znajdującego się w głównym folderze instalacji WordPressa należy dodać kod:
php_value memory_limit 128M
W pliku ini.php
Jeśli posiadasz dostęp do pliku ini.php, dodaj kod:
memory_limit = 128M
Jeśli powyższy sposób na zwiększenie limitów pamięci nie przyniesie oczekiwanych rezultatów, skontaktuj się z ze swoim dostawcą hostingu. Możliwe, że nie ma u nich opcji zwiększenia limitów. W takim przypadku należy przejść na wyższy pakiet hostingowy, albo po prostu zmienić hosting.
Wyłączenie nieużywanych widgetów
Domyślnie w kokpicie WordPressa włączone są różne widgety. Większość z nich jest zbędna i niepotrzebnie spowalnia panel administracyjny. Przykładowy wygląd kokpitu z widgetami:
Nieużywane widgety można wyłączyć przy użyciu wtyczki Widget Disable. Ustawienia wtyczki znajdziesz w sekcji Wygląd -> Disable Widget.
Ograniczenie ilości wyświetlanych elementów
Domyślnie WordPress wyświetla po 20 stron i wpisów w panelu administracyjnym. W przypadku sklepu WooCommerce taka sama jest liczba wyświetlanych produktów. Liczbę elementów możemy zmienić, klikając w prawym górnym rogu Opcje ekranu.
Ponadto zarówno w przypadku stron i wpisów, jak i produktów możemy schować nieużywane kolumny. Wystarczy je odznaczyć i zapisać zmiany. Na pewno dużo lepiej przegląda się listę, na której jednocześnie jest wyświetlanych więcej pozycji. Niestety takie ustawienie może przyczynić się do spowolnienia panelu administracyjnego WprdPressa.
Jak przyspieszyć panel administracyjny WordPressa – podsumowanie
Część z przedstawionych tu rozwiązań, jak np. zmiana hostingu, czy wersji PHP, optymalizacja bazy, a także korzystanie z dobrze napisanych wtyczek ma również wpływ na szybkość działania witryny. A jak wiadomo, szybsze strony osiągają znacznie wyższą pozycję w wyszukiwarce Google. Poza tym wolno działający panel administracyjny znacznie spowalnia naszą pracę, dlatego warto raz na jakiś czas przeprowadzić gruntowe porządki na stronie 😉
Świetny tekst, użyteczne porady, o wyłączaniu widgetów nie miałem pojęcia! Czy ta wtyczka musi pozostać zainstalowana?
Chętnie skorzystam z pomocy przy dalszej optymalizacji strony, bo zrobiłem co mogłem przy pomocy wtyczek, ale daleko jej jeszcze do optimum. NA przykład strona generuje spore obciążenie procesora. Jetpacka nie chciałbym wyłączać bo stracę parę użytecznych funkcji, komentarze, statystyki wp, automatczne publikowanie i obrazy via chmura…
Chętnie pomogę przy dalszej optymalizacji strony. Proszę o kontakt na maila: blog@fankakodowania.pl