Dzisiaj przedstawię kilka przydatnych komend SQL do masowego zarządzania komentarzami w WordPress. Do wykonania komend SQL możesz użyć phpMyAdmin, Adminer lub wtyczkę WP-DBManager.
W komendach znajduje się nazwa tabeli wp_comments – jeżeli posiadasz inny prefiks bazy danych podmień go na przez Ciebie używany. Po zalogowaniu się do phpMyAdmin znajdź tabelę comments i używaj jej pełnej nazwy np. prefix_comments.
Masowe usunięcie komentarzy oznaczonych jako SPAM
Spam to prawdziwa zmora blogów na WordPress, a juz szczególnie tych słabo zabezpieczonych lub bez bieżącej opieki. Niektóre wtyczki anty-spam’owe zamiast usuwać komentarze tego typu tylko oznaczają je jako SPAM i potem zalegają w bazie danych.
Wykonaj poniższą komendę SQL w managerze baz danych np. phpMyAdmin lub Adminer, a wszysykie komentarze oznaczaone jako SPAM zostaną usunięte.
DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';
Masowe usunięcie oczekujących komentarzy
Czasem jednak pewne komentarze jakoś przejdą testy anty-spam i trafiają w kolejkę oczekujących do akceptacji. Możliwe, że ktoś znalazł sposób na obejście popularnych wtyczek chroniących strony i tych komentarzy może być naprawdę dużo.
Skorzystaj z poniższej komendy SQL, a niezatwierdzone komentarze zostaną usunięte.
DELETE FROM wp_comments WHERE comment_approved = 0
Wyłączenie komentarzy w starszych wpisach na blogu
Posiadając bloga istniejącego juz dłuższy czas bardzo dobrym pomysłem moze okazac sie wyłączenie komentarzy dla najstarszych z nich.
Oczywiście to kwestia indywidualna, ale jeżeli zechcesz wyłączyć komentarze dla starych użyj poniższej komendy:
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2019-01-01' AND post_status = 'publish';
Trackback i Pingback – Włączenie i wyłączenie
Tę operację opisywałem w jednym z wcześniejszych wpisów – link poniżej:
Usunięcie komentarzy zawierających konkretny URL
Jeżeli posiadasz domyślnie ustawiony formularz komentarzy użytkownicy mogą dodawać adres swojej strony internetowej. Tą komendą możesz usunąc komentarze zawierające konkretny adres strony. Adres strony podajesz pomiędzy znakami % na końcu komendy.
DELETE from wp_comments WHERE comment_author_url LIKE "%nastyspamurl%" ;