Przyspieszenie WordPress i optymalizacja
przez Wer.pl · Opublikowano · Zaktualizowano

- Dlaczego warto przyśpieszyć WordPress
- Jak wykonać przyśpieszenie WordPress
- Optymalizacja WordPress za pomocą wtyczki
- Optymalizacja i cache w WP-Optimize
- Tabele bazy danych WordPress
- Optymalizacja WordPress Cron
Dlaczego warto postawić na przyspieszenie WordPress
Najpopularniejsza wyszukiwarka google premiuje strony, które szybko się wyświetlają. WordPress jest sporym narzędziem do zarządzania treścią, które z czasem w wyniku tworzenia wielu stron, ich modyfikacji i samego działania może w swoim zapleczu technicznym znacznie się rozrosnąć. Dlatego warto postawić na operację przyśpieszenie WordPress.
Jak wykonać przyspieszenie WordPress
Operację o nazwie przyśpieszenie WordPress należy wykonać w kilku etapach. W pierwszej kolejności należy się zalogować do panelu administracyjnego (zaplecza).
Nie zapomnij o kopii bezpieczeństwa
Prace powinniśmy rozpocząć przede wszystkim od wykonania kopii bezpieczeństwa naszego serwisu. W tym celu warto skorzystać z narzędzia – wtyczki o nazwie UpDraftPlus.
Usunięcie zbędnych wpisów, stron i szablonów
Przede wszystkim najpierw należy sprawdzić czy w jego zapleczu nie ma zbędnych i niepotrzebnych stron, wpisów lub szablonów. Te, które są nieużywane, zwłaszcza przez dłuższy czas należy usunąć. Zyskamy więcej przestrzeni i przyspieszymy WordPress.
Opróżnienie kosza
Po operacji usunięcia zbędnych wpisów, stron i szablonów warto opróżnić kosz, w którym wylądowały nasze przed chwilą usunięte elementy.
Usunięcie zbędnych komentarzy
Operacja WordPress przyspieszenie polegać powinna również na usunięciu zbędnych komentarzy, czyli np. tych odrzuconych, a szczególnie znajdujących się w spamie. Wyczyszczenie WordPress z tych niepotrzebnych śmieci można wykonać w menu Komentarze. To rozwiązanie powoduje zazwyczaj znaczną redukcję tabeli z komentarzami, a co za tym idzie zmniejsza jej zawartość i znacznie przyspieszenia wczytywanie stron internetowych www. Tu warto dodać – jeżeli nie chcemy komentarzy pod naszymi wpisami warto w ogóle w ustawieniach wyłączyć taką możliwość.
Aktualizacja WordPress
Jedną z głównych rzeczy, którą należy wykonać podczas czynności WordPress przyspieszenie to aktualizacja silnika WordPress i wszystkich komponentów. Rozwiązanie to opisaliśmy dokładnie w innym artykule.
Aktualizacja wersji php
WordPress działa w oparciu o skryptowy język programowania php dostępny na serwerze hostingu. Kolejne wersje php są znacznie bardziej optymalne, szybsze, ale przede wszystkim bezpieczniejsze. Dlatego warto korzystać z ich najnowszych wersji. Oczywiście przed zmianą wersji należy sprawdzić czy najnowsza wersja php jest obsługiwana przez zainstalowaną wersję WordPress, a także przez poszczególne jego komponenty – motywy i wtyczki. Te informacje znajdziemy przeglądając poszczególne elementy systemu WordPress.
Jeżeli wiemy już jaką maksymalną wersję php chcemy włączyć dla naszego serwisu to należy ją uruchomić z pomocą panelu administracyjnego hostingu – np. WebAs. O tym jak to zrobić można dowiedzieć się tutaj.
Przyspieszenie WordPress za pomocą wtyczki
Zabieg WordPress przyspieszenie możemy wykonać za pomocą dedykowanej wtyczki. Wcześniej jednak warto zapoznać się z instrukcją takiego narzędzia. Jeżeli decydujemy się na użycie dedykowanego rozwiązania warto skorzystać z wtyczki WP-Optimize. Z innych rozwiązań które warto polecić to Deleting Revisions WP-Sweep i Optimize Database, Autooptimize, WP Super Cache. Wtyczki optymalizujące działają zazwyczaj w dwóch obszarach – usunięcia zbędnych danych i tworzenia cache.
Usunięcie zbędnych zapisów w bazie danych
Warto przypomnieć, że wszystkie dane WordPress przechowuje właśnie w bazie danych. Są tam zapisane wszystkie wersje postów, również te które wylądowały w koszu. Przechowywany jest ram również spam z komentarzy (jeżeli na nie pozwalamy). Usuwanie zbędnych danych, które cały czas gromadzą się w bazie może wpłynąć na znaczne zwiększenie wydajności strony www. Warto więc usunąć zbędne dane – mniejsza baza danych – to szybsza baza, a co za tym idzie szybsza strona www.
Błąd serwera (500 error)
Czasami rozrost bazy danych, a szczególnie tabel wp_post i wp_postmeta potrafi osiągnąść wartość kilkaset MB i więcej. To może prowadzić do błędów typu Błąd serwera (500 error) przy próbie zapisania posta lub strony np. przy użyciu wtyczki Elementor. Poniżej przykład takiego błędu, który można zaobserwować w lewym dolnym rogu ekranu:

W takiej sytuacji warto przeprowadzić konserwację bazy danych MySQL np. za pomocą wtyczki WP-Optimize – co zostało niżej opisane.
Cache
Ponieważ cały serwis jest zapisany w bazie danych – aby wyświetlić daną stronę skrypty WordPress muszą zajrzeć i pobrać dane z wielu tabel bazy danych. To może potrwać chwilę, szczególnie jeżeli danych w bazie jest więcej. Stąd powstał pomysł tworzenia cache dla każdej strony. W momencie włączenia cache tj. wtyczka tworzy gotową stronę – tak aby w momencie zapytania użytkownika o daną stronę, ta była już wygenerowana i nie było potrzeby jej 'wytworzenia’ na bieżąco z bazy danych (co trwa zazwyczaj zdecydowanie dłużej).
Optymalizacja z użyciem WP-Optimize
Wtyczka WP-Optimize zajmuje się głównie optymalizacją bazy danych. Tu ważna uwaga – ponieważ szybkie i mechanicznie użycie tego typu wtyczki może za sobą nieść pewne ryzyko usunięcia zbyt wielu danych. Ważne, żeby przy tej operacji za pomocą jednego kliknięcia nie pozbyć się zbyt wielu danych.
Po uruchomieniu tej wtyczki znajdziemy następujące opcje do wyboru:
- Optimize database tables – WordPress przyśpieszenie polega w tym przypadku na kompaktowaniu i defragmentacji tabel. Może to mieć szczególne znaczenie w sytuacji gdy działamy na starszym hostingu w technologii HDD i jednocześnie nie korzystamy z wtyczki cache-ującej.
- Clean all post revisions – dzięki tej opcji usuniemy stare wersje postów.
- Clean all auto-draft posts – usuwa automatycznie zapisane szkice postów.
- Clean all trashed posts – usuwanie postów WordPress z kosza.
- Remove spam and trashed comments – usuwanie komentarzy ze spamem oraz z kosza.
- Remove unapproved comments – usuwanie niezatwierdzonych komentarzy w WordPress.
- Remove expired transient options – usuwanie wygasłych plików z tabeli bazy danych WordPress.
- Remove all transient options (not only expired) – usunięcie wszystkich transjentów z bazy danych.
- Remove pingbacks – usuwanie pingów zwrotnych z WordPress.
- Remove trackbacks – usunięcie trackacków WordPress.
- Clean post meta data – umożliwia usuwanie osieroconych metadanych postów WordPress.
- Clean user meta data – usuwanie osieroconych metadanych komentarzy WordPress.
- Clean orphaned relationship data – usuwanie osieroconych danych relacji w bazie danych WordPress.

Optymalizuj regularnie
Wtyczka potrafi znacznie więcej. Żeby nie wykonywać tych czynności ręcznie można uruchomić regularną automatyczną optymalizację dotyczącą wszystkich lub wybranych danych na zakładce Settings:

Optymalizacja za pomocą wtyczki WP Super Cache
Z innych narzędzi które warto polecić to wtyczka WP Super Cache. Wtyczka tak koncentruje się głównie na tworzeniu cache każdej ze stron co w konsekwencji prowadzi do znacznego przyspieszenia szczególnie tych rozbudowanych serwisów.
Optymalizacja za pomocą wtyczki Autooptimize
Kolejna wtyczką wartą polecenia to wtyczka Autooptimize. Ta wtyczka również koncentruje swoje zadanie na tworzeniu cache każdej ze stron i w konsekwencji szybszym działaniu.
Tabele bazy danych WordPress
Czasem zaistnieje ręczna konieczność modyfikacji bazy danych WordPress. Przypominamy, że najłatwiej połączyć się z bazą danych za pomocą programu phpmyadmin. Link do programu znajdziemy w panelu administracyjnym WebAs. Poniżej listę / strukturę tabel systemu WordPress. Uwaga – prefiks tabeli (poniżej WP) może być inny (ustalany jest na poziomie instalacji):
- wp_commentmeta – przechowuje meta dane,
- wp_comments – zawiera komentarze,
- wp_links – przechowuje linki,
- wp_options – zapisane są tam ustawienia systemu WordPress – nazwa, skrócony opis, email administratora, dane o wtyczkach, motywach, itp.
- wp_postmeta – przechowuje metadane z tabeli wp_posts,
- wp_posts – zawiera posty, strony i menu,
- wp_termmeta – zapisane są tam metadane z kategorii i tagów,
- wp_terms – przechowuje kategorie i tagi WordPress,
- wp_term_relationship – przechowuje informacje relacji tabel wp_posts z kategoriami oraz tagami,
- wp_term_taxonomy – zawiera dodatkowe dane dla tabeli wp_terms,
- wp_usermeta – zapisane są tam dodatkowe dane użytkowników (w relacji – powiązaniu z tabelą wp_users),
- wp_users – przechowuje listę użytkowników, w tym zaszyfrowane hasła użytkowników.
Optymalizacja WordPress Cron
Oglądalność twojej strony z czasem będzie rosnąć, szczególnie jeżeli zawiera ona ciekawe teksty i atrakcyjną zawartość merytoryczną dla internauty. To może generować coraz większy ruch. Ale jednocześnie może znacznie zwiększyć obciążenie na twoim koncie hostingu. Dlaczego się tak dzieje? Otóż WordPress zawiera w sobie ułomny mechanizm wp-cron.
Narzędzie wp-cron odpowiedzialne jest za automatyczne uruchamianie zaplanowanych zadań, w tym m.in:
- Cykliczne sprawdzanie dostępnych aktualizacji.
- Wykonywanie automatycznych backup (kopii zapasowych).
- Publikowanie zaplanowanych wpisów,
- Inne zaplanowane zadania – np. automatyczne anulowanie zamówień w sklepie WooCommerce itp.
Domyślnie WordPress oraz wtyczki używają mechanizmu wewnętrznego cron do zarządzania tymi zadaniami.
Mechanizm ten jest najbardziej potrzebny i przydatny, ale problem polega na tym, że WP-cron jest wywoływany podczas każdego wywołania witryny zbudowanej na WordPressie. W szczególności w momencie otwarcia strony przez internautę sprawdzana jest lista zadań do wykonania. Jeżeli WordPress Cron zweryfikuje, że któreś z zaplanowanych zadań powinno się wykonać, zostanie ono wykonane.
Problem jednak w tym że jeżeli twoja strona jest często odwiedzana – co kilka sekund, czy nawet minut – to tak częsta weryfikacja zadań w WP-cron jest zupełnie niepotrzebna, a co więcej zupełnie nie potrzebnie generuje obciążenia i angażuje zasoby serwera. Dla witryn o dużym ruchu może to bardzo źle wpływać na wydajność, ponieważ każde odwiedziny będą generowały dodatkowe zapytania serwera i bazy danych.
Można sobie też wyobrazić przeciwną sytuację. Przykładowo w nocy użytkownicy nie odwiedzają twojej strony www. Wówczas zadania nie zostaną wywołane, a może niektóre (np. backup) powinny zostać właśnie wtedy wywołane.
Wyłącznie wp-cron i zastępienie cron-em na hostingu
Rozwiązaniem tej sytuacji, mocno przez nas rekomendowaną, jest wyłączenie wp-cron i uruchomienie crona dostępnego w pakiecie hostingu.
Cron dostępny na hostingu będzie się uruchamiać cyklicznie co określoną jednostkę czasu (np. co pół godziny). Zamiast za każdym lub dopiero za każdym odwiedzeniem strony przez użytkownika.
Wyłączenie wp-cron
Aby wyłączyć wp-cron należy zalogować się do konta ftp i w katalogu głównym odnaleźć plik o nazwie wp-config.php
. Następnie za pomocą dowolnego edytora tekstu należy dopisać do jego zawartości następującą linię:
define('DISABLE_WP_CRON', true);
Uwaga – wspomniana linia zaczynająca się od frazy:
define(’DISABLE_WP_CRON’, …
może już istnieć, jeżeli tak to zweryfikuj i ew. popraw jej zawartość zgodnie z powyższą rekomendacją.
Włączenie cron na hostingu
W następnym kroku dodaj cykliczne zadanie (cron) w narzędziach twojego pakietu hostingowego. Przykładowo w Wer.pl wystarczy, że zalogujesz się do programu administracyjnego WebAs, a następnie w menu: Usługi => CRON => wybierzesz przycisk 'Nowe zadanie’ , a następnie uzupełnisz w formularzu następujące pola:
- Opis – dowolna zawartość.
- Tryb Edycji – Podstawowy.
- Godzina – o każdej godzinie
- Dzień – każdego dnia miesiąca oraz każdego dnia tygodnia.
- Miesiąc – w każdym miesiącu
- Polecenie / skrypt:
wget -q -O - https://twójadreswitryny/wp-cron.php?doing_wp_cron
przy czym w miejscu twójadreswitryny wpisz adres swojej strony np: blog.wer.pl . Uważaj przy tym, aby nie popełnić błędu. - Plik na komunikaty:
/home/users/blog/kom
gdzie blog to nazwa konta ftp Państwa hostingu. - Plik na błędy:
/home/users/blog/error – gdzie blog to nazwa konta ftp Państwa hostingu. Można zostawić puste, ale zalecamy umieścić kontrolnie.
Wyłączenie wewnętrznego crona WordPressa i zastąpienie go zewnętrznym mechanizmem crona może pomóc w poprawie wydajności Twojej witryny. Zdecydowanie zalecamy tego typu rozwiązanie.
Najnowsze komentarze