Transienty w WordPressie to tymczasowe dane cache przechowywane zwykle w tabeli wp_options. Ich usunięcie nie kasuje wpisów, stron ani ustawień, ale przed czyszczeniem zawsze wykonaj kopię zapasową bazy i zachowaj ostrożność, szczególnie przy WooCommerce.
Czym są transienty i czy można je usuwać?
Transient API służy wtyczkom i motywom do przechowywania danych tymczasowych, takich jak odpowiedzi API, wyniki zapytań, feedy czy fragmenty konfiguracji. WordPress może zapisać dla nich termin wygaśnięcia, jednak nie zawsze usuwa je natychmiast po upływie tego czasu.
Z tego powodu tabela wp_options może zawierać nieaktualne rekordy. Ich usunięcie zwykle nie wpływa na treści strony, ponieważ wtyczka może odtworzyć potrzebny cache przy kolejnym użyciu. Nie oznacza to jednak, że należy kasować wszystkie rekordy bez analizy. Niektóre rozszerzenia wykorzystują dane tymczasowe do obsługi sesji, integracji lub procesów działających w tle.
Jak przygotować się do czyszczenia?
Najpierw wykonaj pełną kopię bazy danych, a przy ważnej stronie także kopię plików. Możesz użyć eksportu w panelu hostingu, phpMyAdmin, narzędzia mysqldump albo WP-CLI:
wp db export backup-before-transients-$(date +%F-%H%M).sql
Po wykonaniu eksportu sprawdź, czy plik faktycznie powstał i ma realistyczny rozmiar. Jeżeli pracujesz na produkcji, najlepiej przeprowadź operację poza szczytem ruchu albo najpierw przetestuj ją na kopii strony.
Nie usuwaj danych z bazy produkcyjnej bez działającego backupu. Sama kopia plików nie wystarczy, ponieważ transienty znajdują się zazwyczaj w bazie danych.
Transients WordPress – czyszczenie trzema metodami
| Metoda | Bezpieczeństwo | Łatwość użycia |
|---|---|---|
| WP-CLI | Wysokie przy poprawnym użyciu | Dla osób z dostępem SSH |
| Wtyczka | Zależy od podglądu i konfiguracji | Wysoka |
| SQL | Wymaga dużej ostrożności | Niska dla początkujących |
WP-CLI
WP-CLI jest najwygodniejszym rozwiązaniem, jeśli masz dostęp SSH. Aby usunąć wyłącznie wygasłe transienty, użyj:
wp transient delete --expired
Komenda usuwa dane, których termin ważności już minął. Możesz też skasować wszystkie transienty:
wp transient delete --all
Drugiej opcji nie używaj automatycznie na aktywnym sklepie. Wyczyści ona również dane, które nie musiały jeszcze wygasnąć, więc część wtyczek odtworzy cache, a niektóre procesy mogą wymagać ponownego wykonania.
Wtyczka do czyszczenia bazy
Użytkownicy bez dostępu do terminala mogą skorzystać ze sprawdzonej wtyczki do zarządzania bazą, na przykład WP-Sweep lub Advanced Database Cleaner. Wybierz jedno narzędzie, wykonaj backup i korzystaj z funkcji podglądu. Nie uruchamiaj kilku wtyczek czyszczących jednocześnie.
Wtyczka jest wygodna, ale nie zwalnia z oceny skutków operacji. Przy rozbudowanym motywie, wielu integracjach albo WooCommerce nie klikaj opcji usuwania wszystkich danych bez sprawdzenia, co obejmuje.
SQL dla zaawansowanych
W SQL zawsze najpierw wykonaj zapytanie SELECT. WordPress zapisuje transienty zazwyczaj jako pary rekordów: wartość oraz timeout. Najpierw możesz sprawdzić ich liczbę:
SELECT COUNT(*) AS liczba_transientow
FROM wp_options
WHERE option_name LIKE '_transient_%'
OR option_name LIKE '_site_transient_%';
Podgląd wygasłych timeoutów wygląda następująco:
SELECT option_name, option_value AS timeout_unix
FROM wp_options
WHERE option_name LIKE '_transient_timeout_%'
AND option_value < UNIX_TIMESTAMP()
ORDER BY option_value ASC
LIMIT 50;
Dopiero po wykonaniu backupu i sprawdzeniu wyników można rozważyć usunięcie konkretnych rekordów. Ręczne kasowanie jest ryzykowne, ponieważ łatwo usunąć timeout bez wartości albo objąć zapytaniem zbyt szeroki zakres. Dlatego na co dzień lepiej używać WP-CLI.
Co sprawdzić po czyszczeniu?
Po operacji otwórz stronę w trybie prywatnym i sprawdź panel administracyjny. Przetestuj też funkcje, które korzystają z danych tymczasowych:
- formularze kontaktowe i wysyłkę wiadomości
- logowanie oraz działanie panelu administracyjnego
- koszyk, checkout i konto klienta w WooCommerce
- integracje API, płatności i zadania wykonywane w tle
W WooCommerce nie usuwaj transientów „w ciemno”. Sklep korzysta z wielu danych sesyjnych i cache związanych z produktami, koszykiem oraz ustawieniami. Samo czyszczenie zwykle nie usuwa zamówień, ale może wymusić odbudowę cache albo chwilowo wpłynąć na działanie procesów sklepowych. Jeśli po operacji pojawią się błędy 500, problemy z koszykiem lub płatnościami, przywróć backup i skonsultuj zmianę z administratorem.
Jak często czyścić transienty?
Nie ma potrzeby usuwać ich codziennie. Cache ma ograniczać liczbę zapytań i przyspieszać działanie strony, więc zbyt częste czyszczenie może przynieść odwrotny efekt. Interwencję warto rozważyć, gdy baza szybko rośnie, wtyczka pozostawia wiele wygasłych rekordów albo diagnoza wskazuje na problem w wp_options.
Najbezpieczniejszy schemat to backup, podgląd, czyszczenie wygasłych danych przez WP-CLI i test strony. Jeżeli transienty szybko odrastają, przyczyny szukaj w konkretnej wtyczce, integracji lub zadaniu cron, zamiast regularnie usuwać cały cache.