Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

🚫 Jak zatrzymać spam w komentarzach WordPress: wszystkie 18 rozwiązań

🚫 Jak zatrzymać spam w komentarzach WordPress: wszystkie 18 rozwiązań

Spam w komentarzach przychodzi po cichu. Rano trzy powiadomienia, wieczorem trzydzieści. W ciągu tygodnia panel administracyjny tonie w śmieciach, a boty przez całą dobę produkują zapytania.

Wyszukiwarki widzą każdą wiadomość. Dziesiątki linków wychodzących do podejrzanych domen ciągną reputację witryny w dół, a prawdziwi czytelnicy znajdują w dyskusjach nie dialog, lecz wysypisko reklam i phishingowych adresów URL. Zaufanie spada szybciej, niż Pan przechodzi kolejkę moderacji.

Całkowite wyeliminowanie spamu nie jest możliwe: stoi za nim szara strefa z botami, sieciami proxy i bezpośrednią motywacją finansową. Można jednak zbudować wielowarstwową ochronę, która odetnie prawie wszystkie śmieci jeszcze na podejściu, nie ruszając prawdziwych komentarzy. W tym materiale znajdzie Pan wszystkie 18 skutecznych metod: od kilku kliknięć w standardowych ustawieniach WordPressa po zestaw wtyczek i zewnętrznych serwisów.

💡 Szybki przegląd:

  • Zamknąć podstawowe luki w 5 minut: wyłączyć anonimowe komentarze, włączyć premoderację, ograniczyć linki i usunąć pole URL z formularza.
  • Podłączyć wtyczkę antyspamową z honeypotem lub weryfikacją w chmurze: Antispam Bee i Akismet wyłapują boty, zanim komentarz trafi do bazy.
  • Dodać captcha lub zaporę sieciową (Cloudflare / Sucuri) w celu ochrony przed masowymi, automatycznymi atakami na poziomie żądań HTTP.
  • Dla maksymalnej izolacji zastąpić standardowy formularz komentarzy systemem zewnętrznym (Disqus, Facebook Comments), który przejmuje filtrowanie na siebie.

Dlaczego spamerzy atakują komentarze

Kolejka spamowych komentarzy w panelu administracyjnym WordPress

Spam w komentarzach to nie chuligaństwo, lecz biznes. Za każdą śmieciową wiadomością stoi prosta matematyka: bot publikuje setki tysięcy komentarzy z linkami i nawet znikomy odsetek kliknięć przynosi ruch oraz masę linków, która podnosi pozycje w wynikach wyszukiwania. Właśnie skala czyni ten model dochodowym.

Drugi cel to phishing: adresy URL prowadzą na fałszywe strony logowania lub zainfekowane witryny. Użytkownik, który kliknął, ryzykuje swoje dane uwierzytelniające, a Google może oznaczyć zasób jako szkodliwy.

Trzeci wektor to nieczysta konkurencja. Masowy atak na witrynę rywala rozdmuchuje bazę danych, obciąża serwer i zapycha kanał powiadomień. Przywracanie stanu sprzed ataku zabiera godziny, których właściciel firmy zwykle nie ma.

Wbudowane metody ochrony WordPressa

Pierwsze dziesięć rozwiązań nie wymaga wtyczek, wszystko konfiguruje się przez standardowy panel administracyjny. Tam, gdzie to potrzebne, dodamy kilka linijek kodu w functions.php.

1. Całkowicie wyłączyć komentarze

Pole wyboru wyłączenia komentarzy w ustawieniach dyskusji WordPress

Najbardziej radykalna i najpewniejsza metoda. Jeśli witryna jest wizytówką, landing page'em lub portfolio, komentarze nie są potrzebne. Po co trzymać otwarte drzwi, do których żywi odwiedzający nie pukają, a boty dobijają się przez całą dobę?

Sposób pierwszy: „Ustawienia → Dyskusja", odznaczyć pole „Zezwalaj na komentowanie nowych artykułów". Drugi to wtyczka Disable Comments, która globalnie wyłącza komentarze dla wszystkich typów treści.

Trzeci sposób to kod. W page.php proszę zastąpić <?php comments_template(); ?> zakomentowanym wariantem: WordPress przestanie wywoływać szablon. Analogicznie dla wpisów w single.php. Istniejące komentarze nie są usuwane z bazy, znika jedynie formularz.

2. Wyłączyć anonimowe komentarze

Ustawienia obowiązkowych pól autora komentarza w panelu administracyjnym WordPress

Domyślnie WordPress zezwala na komentarze bez imienia i adresu e-mail. Dla spambota to prezent: nie musi symulować prawdziwych danych.

Proszę wejść w „Ustawienia → Dyskusja" i włączyć opcję „Autor komentarza musi podać imię i adres e-mail". Boty bez tych pól są odcinane automatycznie. Przy okazji to ustawienie dyscyplinuje prawdziwych komentujących: anonimowe wypowiedzi rzadko bywają wartościowe.

3. Włączyć ręczną moderację

Pole wyboru ręcznej moderacji komentarzy w sekcji dyskusji WordPress

Zaznaczenie pola „Komentarz musi zostać ręcznie zatwierdzony" oznacza, że żadna wiadomość nie pojawi się na stronie bez Pana wiedzy. Owszem, generuje to ręczną pracę, ale dla niewielkich witryn z kilkunastoma prawdziwymi komentarzami dziennie jest to całkowicie akceptowalne.

Wzmocnienie: pole „Moderacja komentarzy" w tej samej sekcji. Proszę wpisać tam słowa-wyzwalacze, a komentarze je zawierające będą automatycznie oznaczane jako oczekujące na sprawdzenie. Dobry zestaw startowy: http, www, buy, discount, free, click here, viagra, casino.

4. Automatycznie zamykać komentarze do starych wpisów

Ustawienia automatycznego zamykania komentarzy dla starych postów WordPress

Spamboty atakują również stare wpisy. Post sprzed trzech lat w archiwum jest dla nich takim samym celem, a właściciel dowiaduje się o problemie nie od razu.

Opcja „Automatycznie zamykaj komentarze do artykułów starszych niż X dni" rozwiązuje problem. Domyślną wartość 14 dni można ustawić na 30, 60 lub dowolny inny okres. Dla serwisów informacyjnych jest to obowiązkowe: materiał trafia do archiwum, komentarze są zamykane.

5. Czarna lista słów kluczowych

Pole czarnej listy słów kluczowych w ustawieniach dyskusji WordPress

WordPress pozwala zdefiniować listę słów stop: komentarz zawierający którekolwiek z nich trafia do kosza automatycznie, z pominięciem moderacji. Pole znajduje się w tym samym miejscu, w „Ustawienia → Dyskusja", proszę przewinąć w dół do „Czarna lista".

Zasada: jedno słowo lub fraza, jedna linijka. Proszę nie przesadzać: jeśli doda Pan wordpress, wytnie to również legalne komentarze. Proszę celować w markery spamu: kasyno, terminy farmaceutyczne, strefy domenowe w połączeniu z konkretnymi słowami.

6. Ograniczyć liczbę linków w komentarzu

Ustawienia limitu linków w komentarzu na stronie dyskusji WordPress

Spam-komentarz prawie zawsze zawiera link, to jego racja bytu. WordPress pozwala ustawić próg, po przekroczeniu którego komentarz trafia do moderacji.

Domyślnie ustawione jest 2. Jeśli ustawią Państwo 1, każdy komentarz z linkiem będzie wymagał ręcznego zatwierdzenia. Wartość 0 automatycznie wysyła wszystkie komentarze z hiperłączami do spamu. Dla większości stron optymalna jest wartość 1: żywi czytelnicy rzadko wstawiają więcej niż jeden link, a boty prawie zawsze.

7. Usunąć pole „Witryna" z formularza komentarzy

Formularz komentarza WordPress z wyróżnionym polem na adres strony internetowej

Pole URL w formularzu komentarzy to magnes na spamerów. Potrzebują oni właśnie możliwości zostawienia linku do swojej strony, a „opinia" jest generowana automatycznie: „Great article! I also wrote about this at myspamdomain dot ru".

Pole usuwa się przez dodanie kodu w functions.php:

1function wpb_disable_comment_url($fields) {
2 unset($fields['url']);
3 return $fields;
4}
5add_filter('comment_form_default_fields', 'wpb_disable_comment_url');

Po tej zmianie formularz zawiera tylko imię, e-mail i treść. Dla spamerów przestaje być atrakcyjny, a prawdziwi czytelnicy nawet nie zauważą braku, pole „Witryna" jest im rzadko potrzebne.

8. Wyłączyć komentarze na stronach załączników

Strona załącznika WordPress z otwartym formularzem komentarzy

WordPress automatycznie tworzy osobną stronę dla każdego przesłanego pliku multimedialnego: obrazu, PDF-a, wideo. I domyślnie na tych stronach komentarze również są włączone. Dla witryny z setką obrazów oznacza to setkę dodatkowych punktów wejścia dla botów spamowych, o których właściciel zwykle nie ma pojęcia.

Wtyczka Disable Comments na WordPress.org rozwiązuje problem punktowo: po aktywacji proszę przejść do jej ustawień i zaznaczyć typ treści „Pliki multimedialne". Komentarze na stronach załączników zostaną wyłączone, a na wpisach i stronach pozostaną.

9. Zablokować HTML w komentarzach

Poniższy kod, dodany w functions.php, blokuje wszelkie znaczniki HTML w treści komentarza. Linki, obrazy, pogrubienie i kursywa, wszystko będzie wyświetlane jako zwykły tekst, a tagi będą eskejpowane:

1function wpb_comment_post($incoming_comment) {
2 $incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
3 $incoming_comment['comment_content'] = str_replace("'", '&#039;', $incoming_comment['comment_content']);
4 return $incoming_comment;
5}
6function wpb_comment_display($comment_to_display) {
7 $comment_to_display = str_replace('&#039;', "'", $comment_to_display);
8 return $comment_to_display;
9}
10add_filter('preprocess_comment', 'wpb_comment_post', '', 1);
11add_filter('comment_text', 'wpb_comment_display', '', 1);
12add_filter('comment_text_rss', 'wpb_comment_display', '', 1);
13add_filter('comment_excerpt', 'wpb_comment_display', '', 1);
14remove_filter('comment_text', 'make_clickable', 9);

Metoda jest dobra dla stron, gdzie w komentarzach nie jest potrzebne formatowanie. Jeśli odbiorcy wstawiają fragmenty kodu, lepiej pozostawić HTML włączony i polegać na innych warstwach ochrony.

10. Wyłączyć trackbacki i pingbacki

Ustawienia wyłączenia trackbacków w sekcji dyskusji WordPress

Trackbacki to przestarzały mechanizm powiadomień między blogami. Dziś to głównie kanał spamerski: większość żądań trackback pochodzi od botów, które nawet nie czytały wpisu.

Wyłącza się w „Ustawienia → Dyskusja": proszę odznaczyć „Zezwalaj na powiadomienia o linkach z innych blogów". Stare trackbacki zostaną zachowane, nowe przestaną się pojawiać.

Wtyczki i usługi zewnętrzne

Wbudowane metody wystarczają dla niewielkiej witryny. Jeśli jednak komentarzy jest dużo i ręczna moderacja nie daje rady, czas sięgnąć po specjalistyczne narzędzia.

11. Akismet, standard ochrony antyspamowej WordPressa

Statystyki spamowych komentarzy zablokowanych przez wtyczkę Akismet

Akismet jest dostarczany z każdą dystrybucją WordPressa. Zasada działania: weryfikacja w chmurze, każdy komentarz jest porównywany z globalną bazą wzorców spamu, którą zasilają miliony witryn. Spam trafia do kolejki i nie jest publikowany.

Akismet uczy się na działaniach użytkowników: gdy właściciel witryny oznacza komentarz jako spam lub przywraca fałszywy alarm, system uwzględnia ten sygnał. Dla blogów osobistych usługa jest bezpłatna, dla witryn komercyjnych obowiązuje płatna subskrypcja z rozszerzoną statystyką.

Zaleta: nie wymaga konfiguracji po uzyskaniu klucza API. Wada: bez konta premium wyświetla reklamy w panelu administracyjnym i ustępuje dokładnością taryfom komercyjnym.

12. Sucuri Security, zapora sieciowa z ochroną przed botami

Panel bezpieczeństwa Sucuri z dziennikiem audytu zdarzeń w WordPress

Sucuri rozwiązuje problem na poziomie HTTP: zapora sieciowa (WAF) analizuje ruch przychodzący i odcina żądania ze znanych spamerskich adresów IP, botnetów i szkodliwych źródeł, zanim dotrą one do WordPressa.

Wersja bezpłatna obejmuje audyt bezpieczeństwa i monitorowanie integralności plików. Wersja płatna dodaje WAF z ochroną przed DDoS i atakami brute-force. Dla witryny z setkami spamowych komentarzy dziennie Sucuri radykalnie zmniejsza obciążenie: żądania botów są odbijane na poziomie firewalla, nie docierając do PHP i bazy danych.

13. Antispam Bee, bezpłatna alternatywa z honeypotem

Strona ustawień wtyczki Antispam Bee w panelu administracyjnym WordPress

Antispam Bee to w pełni bezpłatna wtyczka bez reklam, taryf premium i wysyłania danych na serwery zewnętrzne. Zamiast weryfikacji w chmurze wykorzystuje techniki lokalne: honeypot (ukryte pole, które boty wypełniają automatycznie), pomiar czasu wypełnienia, weryfikację języka oraz wyrażenia regularne.

Arsenał: zaufani komentatorzy (na podstawie adresu e-mail lub Gravataru), weryfikacja kraju po IP, automatyczne usuwanie spamu po N dniach. Wtyczka jest w pełni zgodna z RODO, nie przechowuje danych osobowych i nie wysyła ich na zewnątrz. Idealna dla witryn, gdzie ważna jest prywatność i nie ma budżetu na rozwiązania komercyjne.

14. Google reCAPTCHA, weryfikacja „człowiek czy bot"

Okno weryfikacji reCAPTCHA od Google w formularzu komentarzy WordPress

Google reCAPTCHA określa, kto wypełnia formularz: człowiek czy skrypt. Nowoczesna wersja v3 działa bez interakcji z użytkownikiem, prawdziwy odwiedzający nie zauważa weryfikacji, a bot natrafia na niewidzialną barierę.

Do połączenia potrzebne są Site Key i Secret Key z Google reCAPTCHA Admin Console. Popularne wtyczki do formularzy (Contact Form 7, WPForms, Gravity Forms) obsługują reCAPTCHA „od ręki", wystarczy wkleić klucze. W przypadku niestandardowego formularza należy skorzystać z oficjalnego API: kilka linijek JavaScript i weryfikacja tokena po stronie serwera.

Osobno o konfiguracji piszemy w naszym artykule: zwiększanie bezpieczeństwa WordPressa za pomocą Invisible reCAPTCHA.

15. Disqus, zewnętrzny system komentowania

Panel moderacji komentarzy w systemie Disqus dla WordPress

Disqus zastępuje standardowy formularz WordPressa systemem zewnętrznym. Filtrowanie spamu przejmuje Disqus: algorytmy odsiewają śmieci na podstawie globalnej bazy milionów witryn.

Zalety: jeden profil czytelnika, reakcje i głosowanie, wygodna moderacja, logowanie przez media społecznościowe. Wady: komentarze są przechowywane na serwerach Disqus, darmowy plan zawiera reklamy, ładowanie strony jest nieco wolniejsze z powodu zewnętrznego iframe’a.

16. Komentarze Facebooka

Blok komentarzy Facebook osadzony na stronie WordPress

Jeśli Pana/Pani odbiorcy są aktywni na Facebooku, Facebook Comments Plugin daje podwójną korzyść: spam znika (Facebook filtruje go samodzielnie), a zaangażowanie rośnie, komentarz pojawia się na tablicy użytkownika i przyciąga znajomych.

Wada: czytelnik bez konta na Facebooku nie może komentować. Plus, podobnie jak w przypadku Disqus, komentarze są przechowywane na serwerach portalu społecznościowego, a nie w Pana/Pani bazie danych.

17. Cloudflare, ochrona na poziomie DNS

Ustawienia poziomu bezpieczeństwa w panelu sterowania Cloudflare

Cloudflare to CDN i zapora sieciowa między odwiedzającym a serwerem. Na poziomie DNS odfiltrowuje zapytania ze znanych botnetów oraz adresów IP o złej reputacji.

Poziomów bezpieczeństwa jest pięć, od „Essentially Off" do „I'm Under Attack". Do ochrony przed spamem wystarczy Low lub Medium. Plan podstawowy jest bezpłatny.

Ważne: Cloudflare nie analizuje treści komentarzy. To ochrona perymetryczna, a nie zamiennik wtyczki antyspamowej. Najlepszy efekt daje połączenie: Cloudflare na zewnątrz plus Antispam Bee wewnątrz WordPressa.

18. Inne sprawdzone wtyczki

Jeśli główne opcje nie pasują, oto kilka dodatkowych narzędzi:

  • WP Armour, ochrona honeypot w czystej postaci: dodaje ukryte pole i sprawdza czas wypełnienia formularza. Bez captcha, bez kluczy API. Bezpłatna, ponad 100 000 aktywnych instalacji.

  • CleanTalk, usługa w chmurze, która sprawdza komentarze przez globalną bazę spamerskich adresów IP i e-maili. Darmowy plan obejmuje do 1 000 sprawdzeń miesięcznie, płatny jest niedrogi i opłacany raz w roku za witrynę.

  • hCaptcha, niezależna alternatywa dla Google reCAPTCHA. Mniej śledzenia, zgodność z RODO, bezpłatna do 1 miliona zapytań miesięcznie.

Tabela porównawcza rozwiązań antyspamowych

Wtyczka / usługa

Zasada ochrony

Cena

Wpływ na szybkość

Prywatność

Wbudowane metody

Filtry na poziomie WP

Bezpłatnie

Zerowy

Dane nie są przesyłane

Akismet

Weryfikacja w chmurze

Bezpłatnie / od 10 USD/mies.

Minimalny

Dane na serwerach Automattic

Antispam Bee

Lokalne honeypot + wzorce

Bezpłatnie

Zerowy

Dane nie są przesyłane

Sucuri

WAF na poziomie HTTP

Bezpłatnie / od 199 USD/rok

Minimalny

Dane na serwerach Sucuri

reCAPTCHA

Analiza behawioralna

Bezpłatnie do 1 mln zapytań

Niski

Dane na serwerach Google

Disqus

Platforma zewnętrzna

Bezpłatnie / od 12 USD/mies.

Średni

Komentarze na serwerach Disqus

Facebook Comments

Platforma zewnętrzna

Bezpłatnie

Średni

Komentarze na serwerach Facebook

Cloudflare

WAF na poziomie DNS

Bezpłatnie / od 20 USD/mies.

Zerowy (przyspiesza)

Dane przechodzą przez Cloudflare

⁉️🤔 Często zadawane pytania

Czy można całkowicie pozbyć się spamu w komentarzach?

Nie, stuprocentowa ochrona nie istnieje. Spamerzy stale dostosowują algorytmy omijania filtrów i nawet najlepsze wtyczki przepuszczają niewielki odsetek śmieci. Jednak ochrona warstwowa (wbudowane ustawienia + wtyczka antyspamowa + WAF) redukuje spam do poziomu „jedna-dwie wiadomości na miesiąc", co łatwo wyczyścić ręcznie.

Jaką metodę wybrać dla nowego bloga z zerowym budżetem?

Kombinacja trzech darmowych kroków: proszę włączyć moderację ręczną (metoda 3), ograniczyć liczbę linków do jednego (metoda 6) i zainstalować Antispam Bee (metoda 13). Zajmie to 10 minut i nie będzie kosztować ani grosza. W przypadku serwisów informacyjnych proszę dodać automatyczne zamykanie starych postów (metoda 4).

Czy wtyczka antyspamowa spowalnia ładowanie strony?

Lokalne wtyczki, takie jak Antispam Bee, praktycznie nie: dodają obciążenie tylko podczas wysyłania formularza komentarza, nie wpływając na główne strony. Usługi chmurowe (Akismet, CleanTalk) wykonują sprawdzanie asynchronicznie na swoich serwerach i nie wpływają na szybkość ładowania strony.

Co zrobić, jeśli spam nadal przechodzi przez wszystkie filtry?

Proszę sprawdzić, czy boty nie atakują starych stron załączników (metoda 8), to częsta luka. Proszę upewnić się, że trackbacki są wyłączone (metoda 10). Jeśli problem się utrzymuje, proszę dodać Cloudflare (metoda 17): odcina on zapytania ze znanych botnetów, zanim dotrą one do WordPressa.

Czy koniecznie trzeba instalować reCAPTCHA, jeśli działa już Antispam Bee?

Nie jest to konieczne. Antispam Bee nawet bez captcha odcina większość botów za pomocą honeypot i pomiaru czasu. Proszę dodawać captcha tylko wtedy, gdy po zainstalowaniu Antispam Bee spam nadal napływa, oznacza to, że atak prowadzą nie proste boty, a bardziej zaawansowane skrypty.

Disqus czy Facebook Comments, co jest lepsze dla bloga?

Disqus, jeśli publiczność jest techniczna i nie jest przywiązana do jednego medium społecznościowego. Facebook Comments, jeśli ruch pochodzi głównie z Facebooka i chce Pan/Pani zwiększyć zasięg poprzez tablicę użytkowników. Uniwersalny kompromis: pozostawić standardowy formularz WordPress z wtyczką antyspamową, nie odcina on żadnego z czytelników.

Co instalować na Pana/Pani stronę w 2026 roku

Ochrona antyspamowa podlega zasadzie rozsądnej wystarczalności: każda kolejna warstwa dodaje złożoności, a zwrot maleje. Dla większości stron wystarczy zestaw 3-4 metod.

Podstawowe ustawienia WordPressa (metody 2, 3, 6 i 7) zamykają proste boty w 5 minut i są darmowe. Jedna lokalna wtyczka antyspamowa (Antispam Bee) odcina kolejną warstwę za pomocą honeypot i timingu, również za darmo. Przy wysokim ruchu proszę dodać Cloudflare na obwodzie, zdejmie on obciążenie z serwera.

Proszę zacząć od metod 2, 3 i 6 już teraz. Trzy znaczniki w panelu administracyjnym, natychmiastowy rezultat. Resztę dobierze Pan/Pani w miarę rozwoju strony.