Porządkowanie i optymalizacja bazy danych WordPressa

Porządkowanie i optymalizacja bazy danych WordPressaProwadząc stronę zbudowaną na WordPressie rzadko zaprzątamy sobie głowę sprawami stricte technicznymi – nie interesuje nas to, co dzieje się „pod maską”, a o serwer dba opłacana przez nas firma hostingowa. Co jakiś czas warto jednak poświęcić kilka minut i zrobić małe porządki w bazie danych, które w pewnych przypadkach mogą przyśpieszyć działanie naszej strony. Na szczęście nie trzeba do tego posiadać żadnej specjalistycznej wiedzy – wystarczy wybrać odpowiednie narzędzie.

Zwykle do tego typu czynności polecałem wtyczkę WP-Optimize. Ma ona duże możliwości, jest stosunkowo łatwa w obsłudze i cały czas rozwijana przez autora. Ten wpis pierwotnie miał być poświęcony właśnie temu narzędziu, ale niedawno znalazłem coś lepszego.

Darmowa wtyczka WP-Sweep pozwala na usunięcie zbędnych rzeczy z bazy danych WordPressa. Robi to w sposób automatyczny, nie zadając nam niepotrzebnych pytań i nie zawracając nam głowy technicznymi aspektami całego procesu. Jej autorem jest Lester Chan, który na swoim koncie ma wiele popularnych i wysoko ocenianych wtyczek. Od wspomnianego wcześniej rozszerzenia WP-Optimize różni się tym, że do usuwania danych wykorzystuje (o ile to możliwe) funkcje oferowane przez WordPressa, dzięki czemu ogranicza do niezbędnego minimum „grzebanie” w bazie danych.

Po co w ogóle sprzątać w bazie danych?

Zarówno sam WordPress, jak i wtyczki i motywy, zapisują w bazie danych różne informacje. Niektóre z nich z czasem stają się niepotrzebne i nic nie stoi na przeszkodzie, aby je usunąć. Zbędne są na przykład stare wersje wpisów, automatycznie zapisywane szkice, nieużywane lub zduplikowane metadane czy w końcu przechowywane w koszu usunięte wpisy i komentarze.

Mimo że wszystkie te dane nie zajmują zwykle dużo miejsca, to mogą mieć pewien wpływ na szybkość działania naszej strony. Oczywiście potencjalne korzyści będą dla każdego przypadku inne – nie spodziewajmy się, że usunięcie zbędnych danych z bazy magicznie przyśpieszy kilkukrotnie działanie naszego serwisu.

Kiedy sprzątać w bazie danych?

Zależnie od tego, jak intensywnie zmienia się nasza strona, możemy sprzątać raz w tygodniu, raz w miesiącu czy nawet raz na kwartał. Warto zrobić porządki po dużych zmianach w treści strony, a także po zabawach nowymi wtyczkami czy motywami.

Poza usuwaniem danych z bazy wspomniana wtyczka WP-Sweep wykonuje również optymalizację bazy danych. Jest to operacja, którą warto przeprowadzać co jakiś czas, ale najbardziej widoczne efekty daje ona po usunięciu dużej ilości danych z dużej bazy. Jeśli ktoś zagląda czasem do bazy korzystając na przykład z narzędzia phpMyAdmin, to na pewno zwrócił uwagę na kolumnę Nadmiar. Jest to przestrzeń, która powstała po usunięciu rekordów z bazy, ale nie została ponownie wykorzystana. Z tym między innymi radzi sobie proces optymalizacji.

Nie zagłębiając się w szczegóły techniczne powiem tylko, że optymalizacja przebudowuje pliki, w których przechowywane są dane (defragmentacja) oraz indeksy, które zapewniają szybszy dostęp do danych.

Usuwanie zbędnych danych

Po instalacji i aktywacji wtyczki w menu Narzędzia pojawi się nowa opcja Sweep.

WP-Sweep

Ekran wtyczki zawiera kilka sekcji, podobnych do przedstawionej na zamieszczonym wyżej zrzucie ekranu. W kolumnie Details znajduje się opis rodzaju danych. Kolumna Count zawiera liczbę elementów nadających się do usunięcia, a % Of pokazuje ile procent wszystkich danych stanowią te elementy. W kolumnie Action znajdziemy przyciski Sweep i Details – pierwszy z nich usuwa dane, drugi pokazuje ich listę (ograniczoną do pierwszych 500 pozycji).

Wtyczka usuwa dane nieodwracalnie, tak więc przed jej użyciem należy bezwzględnie wykonać kopię zapasową bazy danych.

Jak już wspomniałem, budowa wszystkich sekcji jest taka sama, tak więc nie będę zamieszczał ich zrzutów ekranu, a jedynie opiszę krótko co zawierają.

Post Sweep – dane związane z wpisami

  • Revisions – rewizje (wersje) wpisów – poza najnowszą
  • Auto Drafts – automatycznie zapisywane szkice
  • Deleted Posts – usunięte wpisy (znajdujące się w koszu)
  • Orphaned Post Meta – „osierocone” metadane wpisów
  • Duplicated Post Meta – zduplikowane metadane wpisów

Comment Sweep – dane związane z komentarzami

  • Unapproved Comments – nie zatwierdzone komentarze
  • Spammed Comments – komentarze oznaczone jako spam
  • Deleted Comments – usunięte komentarze (znajdujące się w koszu)
  • Orphaned Comment Meta – „osierocone” metadane komentarzy
  • Duplicated Comment Meta – zduplikowane metadane komentarzy

User Sweep – dane związane z użytkownikami

  • Orphaned User Meta – „osierocone” metadane użytkowników
  • Duplicated User Meta – zduplikowane metadane użytkowników

Term Sweep – dane związane z taksonomiami (kategorie, tagi, własne taksonomie)

  • Orphaned Term Relationship – „osierocone” powiązania
  • Unused Terms – nieużywane wpisy (do których nie przypisano żadnego wpisu)

Option Sweep – dane związane z opcjami

  • Transient Options – cache danych, tworzony przez WordPressa oraz wtyczki i motywy; zostaną automatycznie odtworzone w razie potrzeby

Na pewno zwróciliście uwagę na termin „osierocone”. Oznacza on elementy, które nie są z niczym powiązane. Na przykład osierocone metadane wpisów to takie, które są powiązane z nieistniejącymi wpisami. Nie są do niczego potrzebne i spokojnie można je usunąć.

Ostatnia sekcja Database Sweep służy do uruchomienia procesu optymalizacji tabel w bazie danych. Należy ją wykonać na samym końcu, po zakończeniu wszystkich innych procesów czyszczących.

Na dole strony znajduje się przycisk Sweep All, za pomocą którego możemy jednym kliknięciem uruchomić wszystkie procesy czyszczące (włącznie z optymalizacją tabel).

Bezpośredni link