← Powrót do bloga
WordPressContact Form 7SpamOchrona przed botami

Jak skutecznie ograniczyć spam w Contact Form 7

Marc Wagner·5 października 2026·6 min czytania

Jaki mają Państwo problem?

Trzy przypadki wyglądają podobnie, ale mają różne przyczyny:

  • Przychodzi spam. Skrzynka odbiorcza zapełnia się reklamami, linkami lub bezsensownym tekstem. Formularz przepuszcza boty.
  • Formularz zgłasza błąd. Odwiedzający widzą „There was an error trying to send your message. Please try again later.” (na polskojęzycznych stronach w tłumaczeniu). Może to być ochrona przed spamem albo problem z wysyłką poczty.
  • Brakuje prawdziwych zapytań. Nikt się nie skarży, ale też nic nie przychodzi. Wtedy ochrona może odrzucać ludzi albo wiadomości nie docierają do skrzynki.

Najpierw proszę ustalić, który to przypadek, a dopiero potem dodawać ochronę. Jak to zrobić, opisano w sekcji „Wysyłka poczty czy ochrona przed botami?”.

Co Contact Form 7 oferuje sam

Contact Form 7 ma wbudowanych kilka mechanizmów przeciw spamowi (sprawdzono w wersji 6.1.7):

  • Lista zabronionych. CF7 sprawdza każde zgłoszenie z listą w „Ustawienia → Dyskusja” („Disallowed Comment Keys”). Dopasowanie oznacza spam. Pomaga to przeciw powtarzającym się słowom i domenom, ale nie przeciw nowym tekstom.
  • Pole quizu. Dzięki tagowi [quiz] formularz zadaje pytanie, które Państwo sami określają. Boty wypełniające dowolne formularze nie przechodzą; boty celujące konkretnie w Państwa stronę – owszem.
  • Akismet. Z wtyczką Akismet i kluczem Akismet CF7 sprawdza imię, adres e-mail i treść za pomocą usługi Akismet.
  • reCAPTCHA v3. CF7 wczytuje skrypt od Google i odrzuca zgłoszenia poniżej progu punktowego.
  • Cloudflare Turnstile. CF7 integruje Turnstile; skrypt pochodzi od Cloudflare.

Lista zabronionych i quiz działają bez zewnętrznej usługi. Akismet, reCAPTCHA i Turnstile przesyłają dane odwiedzających do danego dostawcy, co należy uwzględnić w polityce prywatności.

Kiedy dodatkowa ochrona przed botami ma sens

Dedykowana ochrona przed botami opłaca się, jeśli

  • spam nadal przychodzi mimo listy zabronionych i quizu,
  • nie chcą Państwo wczytywać skryptów od Google ani Cloudflare,
  • chcą Państwo widzieć przy każdym odrzuconym zgłoszeniu, dlaczego zostało odrzucone.

Jeśli quiz wystarcza dla Państwa formularza, nic więcej nie jest potrzebne. Ochrona, której nikt nie potrzebuje, to tylko kolejne źródło błędów.

Konfiguracja SilentShield dla Contact Form 7

Oficjalna wtyczka „SilentShield – Captcha & Anti-Spam” chroni Contact Form 7 bez własnego kodu. Przetestowaliśmy ją z Contact Form 7 6.1.7 i WordPress 7.0.

  1. Proszę zainstalować i włączyć wtyczkę z katalogu WordPress.
  2. W „SilentShield → API / SilentShield” proszę wpisać klucz, kliknąć „Validate”, włączyć „Activate API” i zapisać.
  3. W „SilentShield → Forms” proszę włączyć Contact Form 7.

Strona musi działać przez https, w przeciwnym razie formularza nie da się wysłać. Wszystkie kroki i przetestowane wtyczki formularzy znajdą Państwo w przewodniku WordPress. Każde zgłoszenie wlicza się do limitu, zob. ceny i limity.

Testowanie prawdziwych zgłoszeń i nieudanych prób

Prawdziwe zgłoszenie: Proszę otworzyć stronę w oknie prywatnym, wypełnić formularz ręcznie i go wysłać. Oczekiwany wynik to potwierdzenie CF7 z zielonym obramowaniem.

Nieudana próba: Proszę wysłać ten sam formularz bez przeglądarki do interfejsu CF7. ID formularza i wartość _wpcf7_unit_tag znajdą Państwo w źródle strony, w ukrytych polach formularza.

curl -X POST "https://example.com/?rest_route=/contact-form-7/v1/contact-forms/123/feedback" \
  -F "_wpcf7=123" -F "_wpcf7_unit_tag=wpcf7-f123-p45-o1" -F "_wpcf7_container_post=45" \
  -F "your-name=Test" -F "[email protected]" -F "your-message=Test"

Oczekiwana jest odpowiedź z "status":"spam". Z SilentShield komunikat brzmi „Behavior check”.

Wysyłka poczty czy ochrona przed botami?

W Contact Form 7 „spam” i „nie udało się wysłać wiadomości” mają ten sam domyślny tekst. Można je odróżnić w dwóch miejscach:

  • Kolor obramowania komunikatu: pomarańczowy oznacza spam, czerwony – że wysyłka e-maila się nie powiodła, o ile motyw nie nadpisuje kolorów CF7.
  • Odpowiedź w przeglądarce: W narzędziach deweloperskich (karta Sieć) odpowiedź na feedback zawiera status: spam albo mail_failed.

Jeśli to mail_failed, ochrona przed botami przepuściła zgłoszenie; problem leży w wysyłce poczty przez WordPress. Wtedy proszę sprawdzić ustawienia poczty, na przykład za pomocą wtyczki SMTP. Jeśli to spam, zgłoszenie odrzucił mechanizm ochrony. Z SilentShield komunikat podaje powód, na przykład „Behavior check”.

Ograniczenia

  • Żadna ochrona nie zatrzyma spamu, który człowiek pisze ręcznie.
  • Bez JavaScriptu w przeglądarce zgłoszenie do chronionego formularza jest odrzucane.
  • SilentShield chroni formularze przed botami. Nie zastępuje zapory aplikacji internetowych (WAF) ani ochrony przed DDoS.

Skonfiguruj ochronę formularzy

Powiązane strony

Gotowy porzucić CAPTCHA?

Ochrona Państwa formularzy — niewidocznie. Bez karty kredytowej.