W sieci jest cała masa publikacji na temat optymalizacji WordPress’a i jego bazy danych MySQL za pomocą różnych optymalizacyjnych puginów i wtyczek cacheujących. Jednak ja nic z tego wam dzisiaj nie polecę, a wręcz przeciwnie uważam, że im więcej wtyczek i dodatków do WordPress’a tym bardziej zaśmieca się baza danych. Tak więc opiszę wam jak w prosty sposób, nie znając MySQL zoptymalizować bazę danych w WP.
Po pewnym czasie użytkowania WordPressa ciągłych aktualizacji i dodawania wtyczek, baza danych jest strasznie zaśmiecona i wymaga optymalizacji, jednak najbardziej zaśmiecającym bazę elementem jest przechowywanie tak zwanych Revisons, czyli poprzednich wersji każdego postu powstających przy każdorazowej jego edycji.
Oczywiście przed przystąpieniem do jakichkolwiek działań należy wykonać kopię zapasową bazy danych. Backup najlepiej wykonać w phpMyAdmin – wbrew wielu opisom i opiniom eksport najlepiej zrobić bez kompresji i trybów zgodności, ewentualnie do ustalonych, zdefiniowanych opcji można dodać: „Dodaj DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT”. Oczywiście eksportujemy jako plik SQL. Pamiętajcie też, że trzeba zaznaczyć opcję „Zapisz jako plik”, żeby phpMyAdmin wywołał okienko zapisywania pliku eksportu, a nie otwierał go w przeglądarce.
Żeby usunąć Revisions wchodzimy w wp_posts klikamy przycisk SQL i powinno nam się wyświetlić okienko formularza, w którym mamy wprowadzony tekst: „SELECT * FROM `wp_posts` WHERE 1
„.
Zamiast tego wstawiamy polecenie:
DELETE FROM `wp_posts` WHERE `post_type`="revision"
i klikamy wykonaj.
Żeby sprawdzić ile mamy w bazie danych wpisów typu revision można wykorzystać komendę SELECT * FROM `wp_posts` WHERE `post_type`="revision"
.
To nie koniec – musimy jeszcze zaznaczyć wszystkie tabele i z rozwijanego menu na dole wybrać opcję „Napraw Tabele”.
Gotowe – nasza baza powinna być znacznie lżejsza, szczuplejsza i sporo mniej zajmować, co pozwoli nam uniknąć problemów z eksportem/importem backupów bazy, a także powinno nieco przyspieszyć działanie samego Worpdressa.
Jeżeli nie chcemy by powyższą operację trzeba było powtarzać, możemy wyłączyć opcję zapisywania revisions. Aby to zrobić trzeba w pliku wp-config.php dodać linijkę:
define('WP_POST_REVISIONS', false);
i to by było na tyle…
Jeszcze raz uczulam na robienie backupu bazy MySQL przed rozpoczęciem jakichkolwiek działań.
Uwaga! Jeżeli zastosujesz, którąkolwiek z powyższych wskazówek, robisz to na własną odpowiedzialność, autor powyższego artykułu nie ponosi z tego tytuł, żadnej odpowiedzialności.
Super porady, dziękuję :)
Dzięki, bardzo przydatne.
Sprawdzimy jak to działa, mam nadzieje, że koncertowo :)