Jak optymalizować bazę danych WordPress
Z czasem baza danych WordPress gromadzi gigabajty zbędnych danych. Dowiedz się, jak ją wyczyścić i zoptymalizować za pomocą WP-Optimize i phpMyAdmin.
Spis treści
- Dlaczego baza danych WordPress wymaga optymalizacji
- Jak wyczyścić zbędne dane z bazy danych
- Jak optymalizować bazę przez WP-Optimize
- Jak optymalizować przez phpMyAdmin
- Często zadawane pytania
Dlaczego baza danych WordPress wymaga optymalizacji
Optymalizacja bazy danych WordPress to zadanie, które wielu właścicieli stron ignoruje — dopóki strona nie zacznie wyraźnie zwalniać. Baza danych MySQL lub MariaDB, na której działa WordPress, z czasem gromadzi ogromne ilości zbędnych danych, które zajmują miejsce na dysku hostingowym i spowalniają wykonywanie zapytań SQL.
Jakie dane są zbędne? Przede wszystkim rewizje wpisów — WordPress domyślnie zapisuje każdą wersję edytowanego wpisu lub strony. Przy intensywnym blogowaniu przez kilka lat może się zebrać tysiące rewizji. Do tego dochodzi spam w komentarzach przechowywany w bazie, transients (tymczasowe opcje z datą wygasania, które jednak nie zawsze są automatycznie usuwane), logi aktywności wtyczek i usunięte posty leżące w koszu.
Szczególnie problematyczne są tzw. autoloaded options — dane z tabeli wp_options, które WordPress ładuje przy każdym wczytaniu strony. Dezaktywowane wtyczki często zostawiają swoje opcje w tej tabeli. Gdy suma autoloaded options przekroczy kilka megabajtów, każde wczytanie strony wymaga pobrania dużej ilości danych z bazy, co wydłuża czas odpowiedzi serwera i negatywnie wpływa na hosting WordPress.
Regularna optymalizacja bazy danych to też element bezpieczeństwa WordPress — mniejsza baza jest łatwiejsza do monitorowania, szybsza w backupie i prostrzysza w diagnostyce problemów.
Jak wyczyścić zbędne dane z bazy danych
Przed optymalizacją warto wiedzieć, jakie kategorie zbędnych danych możesz bezpiecznie usunąć z bazy danych WordPress.
Rewizje wpisów (Post Revisions): WordPress zapisuje każdą wersję edytowanego wpisu w tabeli wp_posts. Możesz ograniczyć liczbę przechowywanych rewizji, dodając w pliku wp-config.php linię: define('WP_POST_REVISIONS', 3); — ta zmiana sprawi, że WordPress będzie zachowywał maksymalnie 3 ostatnie rewizje każdego wpisu. Stare rewizje możesz usunąć wtyczką WP-Optimize.
Transients: To tymczasowe dane cache przechowywane w tabeli wp_options. Wygasłe transients powinny być automatycznie usuwane, ale nie zawsze tak się dzieje. Zebranie setek wygasłych transients spowalnia zapytania do tabeli wp_options.
Spam i kosz komentarzy: Komentarze oznaczone jako spam i wrzucone do kosza zajmują miejsce w tabeli wp_comments. Regularne czyszczenie kosza komentarzy przyspiesza zapytania do tej tabeli.
Usunięte posty i strony: Posty przeniesione do kosza w WordPress czekają na trwałe usunięcie. Automatycznie są kasowane po 30 dniach, ale możesz to zrobić wcześniej ręcznie lub wtyczką.
Dane porzuconych koszyków WooCommerce: Sklepy WooCommerce generują duże ilości danych o porzuconych koszykach i sesjach klientów. Te dane akumulują się w tabeli wp_woocommerce_sessions i mogą szybko osiągnąć duże rozmiary. WP-Optimize oferuje dedykowane czyszczenie danych WooCommerce.
Jak optymalizować bazę przez WP-Optimize
WP-Optimize to najpopularniejsza bezpłatna wtyczka do optymalizacji bazy danych WordPress. Oferuje intuicyjny interfejs, automatyczne harmonogramy czyszczenia i bezpieczne operacje na bazie danych.
W panelu WordPress przejdź do "Wtyczki" → "Dodaj nową", wyszukaj "WP-Optimize" i zainstaluj wtyczkę autorstwa David Anderson & Team Updraft. Przed pierwszym czyszczeniem obowiązkowo wykonaj backup bazy danych — możesz to zrobić przez panel Plesk (Bazy danych → Backup/Przywracanie) lub przez wtyczkę UpdraftPlus. Backup zajmuje zazwyczaj kilka sekund do kilku minut zależnie od rozmiaru bazy.
Przejdź do "WP-Optimize" → "Baza danych". Zobaczysz listę kategorii danych do wyczyszczenia wraz z informacją, ile danych możesz usunąć. Zaznacz: "Rewizje wpisów", "Automatyczne wersje robocze", "Usunięte posty (kosz)", "Spam komentarzy", "Usunięte komentarze (kosz)" i "Transients". Kliknij "Uruchom wszystkie zaznaczone optymalizacje" i poczekaj na zakończenie procesu.
Po wyczyszczeniu danych przejdź do zakładki "Tabele" w WP-Optimize. Zobaczysz listę wszystkich tabel bazy danych WordPress z informacją o fragmentacji (Overhead). Tabele z dużą fragmentacją wymagają optymalizacji — zaznacz je i kliknij "Optymalizuj zaznaczone tabele". Operacja OPTIMIZE TABLE defragmentuje tabele i odzyskuje zajęte miejsce na dysku.
W ustawieniach WP-Optimize przejdź do zakładki "Harmonogram". Włącz automatyczne czyszczenie i ustaw jego częstotliwość — dla aktywnego bloga lub sklepu WooCommerce wybierz "Co tydzień" lub "Co dwa tygodnie". Wybierz godzinę nocną, gdy ruch na stronie jest najniższy. Automatyczne czyszczenie bazy to dobra praktyka bezpieczeństwa WordPress i element dbania o wydajność hostingu.
Jak optymalizować przez phpMyAdmin
phpMyAdmin to narzędzie do zarządzania bazami danych MySQL dostępne bezpośrednio w panelu Plesk. Pozwala na ręczne operacje na bazie danych — przydatne, gdy chcesz wykonać precyzyjne operacje lub sprawdzić zawartość konkretnych tabel.
Aby uzyskać dostęp do phpMyAdmin przez Plesk, zaloguj się do panelu, wybierz swoją domenę, przejdź do "Bazy danych" i kliknij ikonę phpMyAdmin przy swojej bazie danych WordPress. Zostaniesz zalogowany automatycznie.
W phpMyAdmin możesz optymalizować tabele, wybierając wszystkie tabele (zaznacz checkbox "Zaznacz wszystko" na dole listy), a następnie z menu rozwijanego "Dla zaznaczonych" wybierając operację "Optymalizuj tabelę". phpMyAdmin uruchomi komendę OPTIMIZE TABLE dla każdej z wybranych tabel.
Możesz też ręcznie sprawdzić rozmiar i fragmentację poszczególnych tabel — szczególnie wp_options (często rozrośnięta przez opcje wtyczek) i wp_postmeta (metadane postów). Jeśli tabela wp_options jest bardzo duża (ponad kilka MB), wykonaj w phpMyAdmin zapytanie SQL: SELECT option_name, length(option_value) as size FROM wp_options WHERE autoload='yes' ORDER BY size DESC LIMIT 20; — zobaczysz 20 największych autoloaded options i będziesz mógł ocenić, które z nich są zbędne.
Często zadawane pytania
Jak często należy optymalizować bazę danych WordPress?
Dla aktywnych stron blogowych lub sklepów WooCommerce zaleca się optymalizację bazy danych raz w miesiącu. Możesz to zautomatyzować — wtyczka WP-Optimize pozwala ustawić harmonogram czyszczenia, np. co tydzień w nocy. Strony z małą aktywnością (kilka nowych wpisów miesięcznie, brak WooCommerce) wystarczy optymalizować raz na kwartał. Przed każdą optymalizacją zawsze wykonaj backup bazy danych przez panel Plesk — to podstawowy element bezpieczeństwa WordPress.
Co to są autoloaded options i dlaczego spowalniają WordPress?
Autoloaded options to dane przechowywane w tabeli wp_options z flagą autoload=yes — WordPress ładuje je przy każdym wczytaniu strony, niezależnie od tego, czy są aktualnie potrzebne. Z czasem dezaktywowane i odinstalowane wtyczki pozostawiają swoje opcje w tej tabeli. Gdy suma autoloaded options przekracza 1 MB, każde wczytanie strony wymaga pobrania dużej ilości danych z bazy, co wydłuża czas TTFB i spowalnia cały hosting WordPress. Regularny przegląd i usuwanie zbędnych autoloaded options to jeden z efektywniejszych sposobów na przyspieszenie WordPress.
Czy optymalizacja bazy danych WordPress jest bezpieczna?
Tak, pod warunkiem wykonania backupu przed optymalizacją. Operacje czyszczenia — usuwanie rewizji, spamu, transients — i optymalizacji tabel (OPTIMIZE TABLE) są bezpieczne dla działającej strony i nie wpływają na jej zawartość ani funkcjonowanie. Nie usuwaj ręcznie wpisów z tabel WordPress bez pewności co do ich przeznaczenia — to może uszkodzić stronę. Korzystaj z zaufanych wtyczek jak WP-Optimize lub bezpiecznych operacji w phpMyAdmin dostępnym przez panel Plesk.
Potrzebujesz pomocy z hostingiem WordPress?
Zespół smartxhosting.pl pomoże Ci skonfigurować i zarządzać hostingiem WordPress na serwerze Plesk. Tani hosting WordPress od 10 zł/miesiąc z darmowym SSL i codziennym backupem.
Skontaktuj się z nami