Jak usunąć wtyczkę WordPress i wyczyścić pozostałości po niej
Usunięcie wtyczki przez panel WordPress zajmuje 10 sekund. Problem w tym, że to usunięcie jest tylko częściowe — pliki znikają, ale w bazie danych zostają tabele, opcje, metadane i transients, które wtyczka przez miesiące lub lata cierpliwie odkładała. Jedna popularna wtyczka SEO potrafi zostawić po sobie kilkaset opcji w tabeli wp_options i własne tabele z megabajtami danych. Jeśli zmieniałeś wtyczki kilka razy przez lata — Twoja baza danych może być pełna martwego kodu, który spowalnia każde zapytanie SQL. Ten artykuł pokazuje, jak usunąć wtyczkę naprawdę porządnie.
Artykuł jest częścią przewodnika Wtyczki WordPress — Kompletny Przewodnik.
Co zostaje po usuniętej wtyczce?
WordPress zaprojektowany jest tak, żeby wtyczki mogły deinstalować się „czysto" — producent może użyć hooka register_uninstall_hook(), który uruchamia kod sprzątający przy usunięciu. Problem: nie wszyscy producenci to implementują. Starsze wtyczki, darmowe projekty hobbystyczne i słabiej napisany kod premium po prostu zostawiają po sobie bałagan.
W bazie danych
- Własne tabele — np.
wp_rank_math_stats,wp_wpmaillog. Zostają nawet po usunięciu wtyczki. - Rekordy w
wp_options— ustawienia, klucze licencyjne, cache opcji. Jedna wtyczka może mieć tu setki wpisów. - Rekordy w
wp_postmeta— metadane przypisane do postów, stron i produktów WooCommerce. - Transients — tymczasowe dane cache z prefiksem
_transient_w tabeliwp_options. - User meta — dane przypisane do kont użytkowników, np. ustawienia dashboardu.
Na serwerze (pliki)
- Pliki w uploads — generowane przez wtyczkę pliki PDF, CSV, eksporty, które nie są usuwane przy deinstalacji.
- Pliki cache — statyczne pliki w dedykowanych folderach cache wtyczki.
- Logi — pliki logów zdarzeń generowane przez wtyczki bezpieczeństwa i backup.
- Zmiany w .htaccess — wtyczki cache i bezpieczeństwa modyfikują reguły serwera i nie zawsze je cofają przy usunięciu.
Skala problemu: Na stronie WordPress zmieniającej wtyczki kilkukrotnie przez kilka lat baza danych może być dwu- lub trzykrotnie większa niż powinna. To przekłada się na wolniejsze zapytania SQL i większe pliki backupów. Regularne sprzątanie po usuniętych wtyczkach to jeden z najłatwiejszych sposobów na poprawę wydajności bez zmiany hostingu czy kodu.
Krok 1: Backup przed jakimkolwiek usunięciem
Zanim usuniesz cokolwiek — zrób backup bazy danych i plików. Szczególnie ważne przed ręcznym czyszczeniem SQL, gdzie jeden błędny krok usuwa dane bezpowrotnie.
Szybki backup: UpdraftPlus → Utwórz kopię zapasową → zaznacz bazę danych i pliki → uruchom. Upewnij się, że kopia trafia na zewnętrzną usługę (Google Drive, Dropbox) — nie tylko na ten sam serwer.
Krok 2: Dezaktywacja wtyczki
Zawsze dezaktywuj przed usunięciem. Przy dezaktywacji WordPress uruchamia hook deactivation_hook, który u dobrze napisanych wtyczek usuwa zaplanowane zadania crona i wykonuje wstępne sprzątanie. Usunięcie bez dezaktywacji omija ten krok.
- Przejdź do Wtyczki → Zainstalowane wtyczki
- Kliknij Dezaktywuj przy wybranej wtyczce
- Sprawdź, czy strona działa poprawnie po dezaktywacji — jeśli coś się posypało, inne elementy były zależne od tej wtyczki
- Jeśli wszystko gra — przejdź do kroku usunięcia
Krok 3: Usunięcie wtyczki
Przez panel WordPress (standardowo)
Po dezaktywacji pod nazwą wtyczki pojawia się link Usuń. Kliknij → potwierdź. WordPress usuwa folder wtyczki z /wp-content/plugins/.
Jeśli link „Usuń" nie pojawia się:
- Wtyczka jest nadal aktywna — najpierw dezaktywuj
- Nieprawidłowe uprawnienia folderu — usuń przez FTP
- Wtyczka jest w
/wp-content/mu-plugins/(Must-Use) — usuwalność tylko przez FTP
Przez FTP
Połącz się przez FileZilla (SFTP), przejdź do /wp-content/plugins/, znajdź folder wtyczki i usuń go.
Przez WP-CLI
# Dezaktywacja i usunięcie jednym poleceniem
wp plugin deactivate nazwa-wtyczki && wp plugin delete nazwa-wtyczki
# Usunięcie wielu wtyczek naraz
wp plugin delete wtyczka-1 wtyczka-2 wtyczka-3
Krok 4: Czyszczenie pozostałości w bazie danych
Tu dzieje się prawdziwe sprzątanie. Masz dwa podejścia: automatyczne przez wtyczkę (bezpieczniej, mniej wiedzy technicznej wymagane) lub ręczne przez phpMyAdmin (pełna kontrola, wymaga ostrożności).
Metoda A: WP-Optimize (zalecane dla większości)
WP-Optimize (darmowa, WordPress.org) jednym kliknięciem czyści: orphaned post meta, orphaned user meta, wygasłe transients, rewizje wpisów powyżej limitu, spam i kosz komentarzy. Użycie: WP-Optimize → Baza danych → zaznacz opcje → Optymalizuj.
Advanced Database Cleaner to bardziej zaawansowana alternatywa — wylistowuje tabele i opcje pogrupowane według wtyczki, która je stworzyła. Widzisz wprost: „tabela wp_xyz_logs należy do usuniętej wtyczki XYZ" i możesz ją usunąć selektywnie. Idealne narzędzie do audytu po gruntownym porządkowaniu zestawu wtyczek.
Metoda B: Ręcznie przez phpMyAdmin (zaawansowani)
phpMyAdmin dostępny jest w panelu hostingu: cPanel → phpMyAdmin lub Plesk → Databases.
Sprawdź i usuń tabele wtyczki
-- Wyświetl wszystkie tabele — szukaj tabel o nazwie pasującej do usuniętej wtyczki
SHOW TABLES;
-- Usuń konkretną tabelę (podmień na rzeczywistą nazwę)
DROP TABLE IF EXISTS wp_nazwa_wtyczki_logi;
Wyczyść opcje z wp_options
-- Znajdź opcje pozostawione przez wtyczkę
SELECT option_name FROM wp_options WHERE option_name LIKE '%prefiks_wtyczki%';
-- Usuń znalezione opcje
DELETE FROM wp_options WHERE option_name LIKE '%prefiks_wtyczki%';
-- Wyczyść wygasłe transients
DELETE FROM wp_options WHERE option_name LIKE '_transient_%'
AND option_name NOT LIKE '_transient_timeout_%';
Wyczyść orphaned post meta
-- Usuń metadane postów, których posty już nie istnieją
DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts p ON pm.post_id = p.ID
WHERE p.ID IS NULL;
Zasada przy ręcznym SQL: Zawsze najpierw uruchom SELECT na tych samych warunkach co planowany DELETE i przejrzyj wyniki. Zapytania DELETE są nieodwracalne — nie usuwaj niczego, czego funkcji nie rozumiesz.
Krok 5: Czyszczenie plików poza folderem wtyczki
Folder /wp-content/uploads/
Niektóre wtyczki tworzą podfoldery w uploads — backupy, eksporty CSV, pliki PDF. Po usunięciu wtyczki sprawdź przez FTP czy w uploads nie zostały foldery o nazwie zbliżonej do usuwanej wtyczki. Usuń je jeśli dane nie są już potrzebne.
Plik .htaccess
Wtyczki cache i bezpieczeństwa modyfikują .htaccess i często go nie przywracają. Otwórz plik przez FTP lub menedżer plików i sprawdź, czy nie ma bloków oznaczonych: # BEGIN NazwaWtyczki ... # END NazwaWtyczki. Usuń te bloki ręcznie jeśli wtyczka ich nie wyczyściła.
Folder /wp-content/cache/
Wtyczki cache tworzą podfoldery w tym katalogu. Po usunięciu wtyczki cache sprawdź, czy w /wp-content/cache/ nie pozostały pliki i usuń je.
Krok 6: Weryfikacja po sprzątaniu
- Odwiedź stronę główną i kilka podstron — wyświetlają się poprawnie?
- Panel WordPress — brak komunikatów o błędach i brakujących elementach?
- Strony używające shortcode'ów usuniętej wtyczki — czy nie wyświetlają surowego shortcode zamiast treści?
- Query Monitor — czy liczba zapytań SQL i zużycie pamięci PHP zmniejszyły się?
- GTmetrix — czy czas ładowania uległ poprawie?
Specjalne przypadki — trudniejsze scenariusze usunięcia
Usunięcie page buildera (Elementor, Divi, Beaver Builder)
Jeden z najtrudniejszych przypadków. Page buildery przechowują dane układu jako metadane postów lub we własnych tabelach. Po usunięciu page buildera strony zbudowane w tym narzędziu stracą wygląd i pokażą surowy HTML bez stylowania. Przed usunięciem page buildera musisz odbudować wszystkie strony w innym systemie — nie istnieje narzędzie do automatycznej migracji między builderami. Planuj tę zmianę jako projekt, nie jako jednorazową akcję.
Usunięcie wtyczki SEO
Przed usunięciem Yoast SEO, Rank Math lub innej wtyczki SEO — upewnij się, że eksportujesz lub migrujesz dane: meta title, meta description, Open Graph, przekierowania. Jeśli zmieniasz wtyczkę SEO, użyj wbudowanego w nową wtyczkę importera (Rank Math importuje dane z Yoast SEO, All in One SEO i innych). Nie usuwaj starej wtyczki SEO przed potwierdzeniem poprawności importu.
Usunięcie WooCommerce lub jego rozszerzeń
Przy dezaktywacji WooCommerce pyta, czy usunąć dane sklepu. Jeśli planujesz reinstalację — wybierz „nie". Jeśli zamykasz sklep — pamiętaj, że dane zamówień i transakcji mają wymagania przechowywania wynikające z przepisów podatkowych (w Polsce: 5 lat).
Wtyczki membership i kursy online (MemberPress, LearnDash, LifterLMS) przechowują dane subskrypcji, postępów kursantów i transakcji. Przed usunięciem wyeksportuj dane użytkowników i sprawdź zobowiązania prawne wynikające z umów z klientami.
Jak znaleźć shortcody usuwanej wtyczki na wszystkich stronach?
Po usunięciu wtyczki jej shortcody zamieniają się w widoczny tekst na stronie. Przed usunięciem znajdź wszystkie miejsca ich użycia. Dwie metody:
SQL przez phpMyAdmin
SELECT ID, post_title, post_type
FROM wp_posts
WHERE post_content LIKE '%[nazwa-shortcode%'
AND post_status = 'publish'
ORDER BY post_type, post_title;
Wtyczka Search Regex (bez SQL)
Search Regex (darmowa, WordPress.org) przeszukuje treść wszystkich postów, stron i CPT przez panel WordPress. Wpisz shortcode w pole wyszukiwania — dostaniesz listę wszystkich miejsc jego użycia z linkami do edycji.
Dobre praktyki utrzymania porządku w wtyczkach
- Audyt co kwartał — przejrzyj listę wtyczek i pytaj: z których aktywnie korzystam? Co można usunąć?
- Usuń od razu, nie dezaktywuj „na później" — dezaktywowana wtyczka bez planu reaktywacji to zbędny balast i potencjalne ryzyko bezpieczeństwa
- Optymalizuj bazę raz w miesiącu — WP-Optimize ustawiony na harmonogram automatycznie usuwa transients, rewizje, spam
- Testuj nowe wtyczki na stagingu — jeśli nie spełni oczekiwań, usuwasz bez śladu w bazie produkcyjnej
- Sprawdzaj .htaccess po usunięciu wtyczek cache i bezpieczeństwa — zostawione reguły mogą powodować błędy 500 lub nieprawidłowe przekierowania
FAQ — usuwanie wtyczek WordPress
Czy dezaktywowana wtyczka spowalnia WordPress?
Dezaktywowana wtyczka nie ładuje kodu PHP — nie wpływa na wydajność front-endu. Ale jej pliki zajmują miejsce na serwerze, a dane w bazie danych pozostają. Jeśli nie planujesz reaktywacji — usuń, nie tylko dezaktywuj.
Jak sprawdzić, ile danych w bazie zostawiły stare wtyczki?
Zainstaluj Advanced Database Cleaner — po skanowaniu pokaże tabelę z listą orphaned data i tabel przypisanych do nieaktywnych lub usuniętych wtyczek. Najszybszy sposób na ocenę skali problemu bez ręcznego przeglądania phpMyAdmin.
Czy mogę usunąć WooCommerce bez utraty historii zamówień?
Tak — przy dezaktywacji WooCommerce pyta, czy usunąć dane. Wybierz „nie". Dane zamówień, produktów i klientów pozostają w bazie. Przy ponownej instalacji WooCommerce dane będą dostępne. Bez aktywnej wtyczki są jednak niedostępne przez panel.
Usunąłem wtyczkę, ale jej menu nadal widać w panelu. Co robić?
Wyczyść cache przeglądarki (Ctrl+F5) i odśwież stronę. Jeśli menu nadal jest widoczne — wyczyść transients przez WP-Optimize. To zazwyczaj rozwiązuje problem z „duchami" menu.
Jak często powinienem czyścić bazę danych po usuniętych wtyczkach?
Automatyczne czyszczenie transients i rewizji — raz w miesiącu przez WP-Optimize. Pełny audyt z usuwaniem orphaned data i niepotrzebnych tabel — raz na kwartał lub po każdym większym porządkowaniu zestawu wtyczek.
Porządek zrobiony. Sprawdź teraz, które wtyczki warto zainstalować w zamian — najlepsze darmowe wtyczki WordPress lub kiedy warto wybrać wtyczkę premium.
← Wtyczki WordPress — Kompletny Przewodnik
Szukasz solidnych zamienników za usunięte wtyczki? W naszym sklepie znajdziesz wtyczki premium z polskim wsparciem, fakturą VAT i gwarancją czystej deinstalacji — bez śmietnika w bazie danych.