Ostatnio trafiła pod moją opiekę strona ze sporą liczbą, a w sumie to być może można nawet napisać, że ilością (ponad 32 000) komentarzy – co mogłoby cieszyć, gdyby nie fakt, że wszystkie były SPAMem. Dlatego postanowiłem zacząć m.in. od ich wyczyszczenia, ale zważywszy na ich liczbę, ręczne czyszczenie raczej nie wchodziło w grę. A przynajmniej nie miałem na to ochoty…
Spis treści w artykule
WordPress: Masowe czyszczenie komentarzy
Z racji tego, że WordPress posiada sporą społeczność, można było założyć, że ktoś już przygotował odpowiednią wtyczkę do tego zadania. I rzeczywiście, wystarczy w wyszukiwarce wtyczek wpisać choćby „Bulk Comments” by znaleźć przynajmniej kilka pozycji, które mogą pomóc w takim zadaniu.
Ale jeśli ktoś umie/wie jak dostać się do np. do panelu phpMyAdmin (a nie jest to specjalnie trudne, a nie raz Wam pomoże :-)) dla swojego serwera – to może się okazać, że szybciej niż instalacja i ew. konfiguracja wtyczki będzie skorzystać z prostej komendy.
WordPress: Masowe kasowanie komentarzy z poziomu phpMyAdmin
Po zalogowaniu się do phpMyAdmin wystarczy wybrać z listy odpowiednią bazę danych (jeśli jest więcej niż jedna) lub w dalszych poleceniach poprzedzić nazwę tabeli nazwą bazy:
nazwa_bazy.nazwa_tabeli
Następnie przechodzimy do zakładki „SQL” i tu możemy wpisać komendy, które chcemy wykonać:
We wspomnianym wyżej przypadku skorzystałem z polecenia, które niczym antybiotyk czy też bomba atomowa pozbyło się ze strony wszystkich komentarzy:
DELETE FROM wp_comments;
I ponad 32 000 komentarzy wyparowało w mniej niż 0.03 sekundy:
Precyzyjne kasowanie komentarzy
Ale zapewne nie każdy z Was potrzebuje kasować od razu wszystkie komentarze, dlatego można „strzelać” bardziej precyzyjnie.
Kasujemy tylko komentarze oznaczone jako SPAM:
DELETE FROM wp_comments WHERE comment_approved = "spam";
Kasujemy tylko komentarze niezatwierdzone, czyli „oczekujące”:
DELETE FROM wp_comments WHERE comment_approved = '0';
Kasujemy tylko komentarze zatwierdzone:
DELETE FROM wp_comments WHERE comment_approved = '1';
Kasujemy komentarze z kosza:
DELETE FROM wp_comments WHERE comment_approved = 'trash';
Kasujemy trackbacki:
DELETE FROM wp_comments WHERE comment_type = 'trackback';
W wariancie „bez wyboru bazy” w phpMyAdmin musicie lekko zmodyfikować każde z poleceń, tak by wskazać odpowiednią bazę danych:
DELETE FROM nazwa_bazy.wp_comments WHERE ...
Na koniec jeszcze raz zachęcam, by przed każdą operacją na bazie danych zrobić wcześniej kopię zapasową.
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01
Wielkie dzięki, bardzo mi ten artykuł pomógł. A jak znasz jakiś sposób na skuteczne zablokowanie dodawania komentarzy, to chętnie bym go poznał :)
Chcesz w ogóle wyłączyć komentarze, czy lepiej je filtrować/zabezpieczyć przed SPAMem?
Chciałbym kompletnie je wyłączyć
Tow ustawieniach WordPressa wystarczy, choć ma to zastosowanie do nowych stron/wpisów, w dotychczasowych trzeba jeszcze ręcznie wyłączyć komentarze dla każdego (zazwyczaj, jeśli nic się nie zmieniło ostatnio).
Możesz też zastosować kod:
Więcej na ten temat w tym wpisie…
Dzięki!
Ok, fajny sposób na usunięcie komentarzy oznaczonych jako spam, ale co jeśli mam już na stronie dodano masę komentarzy, nad którymi nie zapanowałam i nie wiem czy są spamem, czy nie? Istnieje wtyczka, która oznaczy dodane już komentarze i opublikowane, jako spam i je ukryje? Bo na blogu mam dużo takich komentarzy i nie wiem do końca jak sobie z nimi poradzić, a za późno się zorientowałam
W momencie, gdy masz dużo komentarzy, wśród których jest pełno SPAMu, ale są też komentarze wartościowe, a więc nie możesz (nie chcesz) globalnie ich usunąć, to… hm… sytuacja trochę się komplikuje, zwłaszcza że większość wtyczek zabezpieczających przed SPAMem nie działa wstecz, czyli do już opublikowanych komentarzy. Są niby jakieś niszowe wtyczki do czyszczenia istniejących już komentarzy, zazwyczaj kasują tylko te oznaczone jako SPAM – a więc robią to samo co w artykule powyżej, tylko zostały ubrane we wtyczkę. Możesz spróbować wtyczki Chronological Spam Removal, która ponoć – wg autora – sprawdza dotychczasowe komentarze pod względem aktualnych ustawień wymagań dla komentarzy w WordPressie (Ustawienia -> Dyskusja). Warto jednak zwrócić uwagę na to, że wtyczka nie była aktualizowana od ponad 6 lat, więc tym bardziej pamiętaj o kopii zapasowej przed działaniem. Ew. zleć to na zewnątrz… :-)
No i koniecznie zerknij do wpisu „skuteczne (i nieuciążliwe) metody walki ze SPAMem w komentarzach w WordPressie”, gdzie znajdziesz kilka sposobów na skuteczne zabezpieczenie strony (WordPressa) przed SPAMem. Sam używam duetu PRyC WP: AntiSPAM (podstawowa ochrona, niewymagająca od komentującego wykonywania żadnych dodatkowych działań) i Antispam Bee (w rezerwie, jakby coś się przedostało przez pierwsze filtrowanie), do tego dość rygorystyczne ustawienia w WordPressie (np. jakikolwiek link oznacza, że komentarz trafia do moderacji), i dziennie prawie 500 komentarzy trafia do SPAMU, tym samym nie zaśmiecając listy komentarzy.
No i koniecznie pamiętaj o regularnych aktualizacjach, bo często SPAM wiąże się z jakimiś błędami, czy to w samym WordPressie, czy jakichś wtyczkach.
Dzięki za artykuł. Bardzo się przydał. Zaoszczędziłem dzięki Tobie masę czasu.
To było działanie czyszczące, ale polecam działać zapobiegawczo: Skuteczne (i nieuciążliwe) metody walki ze SPAMem w komentarzach w WordPressie
Można się posłużyć też po prostu wtyczką Delete All Comments Easily – mniej inwazyjne rozwiazanie :)
W WordPressie mamy wtyczki nawet do wtyczek od wtyczek, więc tak, są i do tego zadania. Z tym że artykuł nieprzypadkowo nie nazywa się „masowe kasowanie komentarzy (np. SPAMu) w WordPressie za pomocą wtyczki X lub Y, a może i Z” ;-)
A z podanej wtyczki nie zalecam korzystać, bo wg repozytorium została zamknięta (!) w połowie 2020, a nie była aktualizowana od 4 lat, i obecnie jest dostępna co najwyżej na dziwnych SPAM-stronach. Więc jeśli już wtyczkę, to zdecydowanie inną…
PS. Adres strony usunąłem Adamie, bo nie do tego służy pole „nazwa” (imię).