Jak zabezpieczyć formularz kontaktowy w WordPressie przed spamem?
Spam z formularza kontaktowego można ograniczyć przez weryfikację odwiedzających i filtrowanie powtarzających się niechcianych treści. Ten poradnik pokazuje konfigurację Cloudflare Turnstile w Contact Form 7. Jeśli korzystasz z innej wtyczki formularzy, sprawdź jej własną integrację z ochroną antyspamową.
Przygotuj formularz i dostęp do paneli
Potrzebujesz uprawnień administratora WordPressa, aktywnej wtyczki Contact Form 7 oraz konta Cloudflare. Przed zmianami zaktualizuj wtyczkę i wykonaj kopię zapasową strony. Sprawdź też, czy zwykła wiadomość z formularza dociera do odbiorcy — problemy z dostarczaniem poczty diagnozuje się osobno od spamu.
1. Otwórz ustawienia integracji w WordPressie
W lewym menu WordPressa rozwiń Kontakt i wybierz Integracja (1). W tej sekcji Contact Form 7 udostępnia połączenia z usługami zewnętrznymi.

Odszukaj kartę Turnstile i kliknij Konfiguracja integracji (1). Formularz wymaga dwóch kluczy, które uzyskasz w Cloudflare w następnym kroku.

2. Przygotuj widżet Turnstile w Cloudflare
Na koncie Cloudflare wybierz Application security → Turnstile, a następnie Add widget manually (2).

Nadaj widżetowi czytelną nazwę w polu Widget name. W sekcji Hostname Management dodaj domenę strony, na której działa formularz (3), np. example.com. Wpisz samą nazwę hosta, bez https:// i ścieżki. Potwierdź dodanie nazwy i sprawdź, czy znajduje się na liście dozwolonych hostów.

Wybierz tryb Managed (4), zalecany przez Contact Form 7. Opcję pomijania kolejnych wyzwań, opisaną jako Skip future security rule challenges for verified visitors, pozostaw wyłączoną, jeśli konfigurujesz zwykłą integrację formularza. Kliknij Create (5). Po zapisaniu Cloudflare udostępni Site key oraz Secret key. Sposób utworzenia widżetu opisuje dokumentacja Cloudflare.

3. Zapisz klucze w Contact Form 7
Wróć do otwartej konfiguracji Turnstile w WordPressie. Wklej Site key do pola Klucz witryny, a Secret key do pola Klucz prywatny (6). Kliknij Zapisz zmiany (7). Klucz prywatny zachowaj dla siebie; nie wstawiaj go do treści strony ani do kodu formularza.

Contact Form 7 sam dodaje widżet do formularzy po skonfigurowaniu integracji. Nie trzeba ręcznie wklejać skryptu Cloudflare do motywu ani dodawać kolejnej wtyczki CAPTCHA. Zasady działania i ewentualnej zmiany położenia widżetu przedstawia instrukcja integracji Contact Form 7.
4. Opcjonalnie zablokuj powtarzające się treści
Jeżeli spam zawiera stale tę samą charakterystyczną frazę, otwórz Ustawienia → Dyskusja. W polu Niedozwolone wartości w komentarzach (8) dodaj niechciane wyrażenia, po jednym w wierszu, i zapisz ustawienia na dole strony. Mimo nazwy odnoszącej się do komentarzy Contact Form 7 korzysta również z tej listy.

Unikaj ogólnych słów, nazw popularnych usług czy całych domen pocztowych używanych przez klientów. Dopasowanie może obejmować fragment tekstu, więc zbyt szeroka reguła odrzuci także poprawne zgłoszenia. Działanie filtra opisuje dokumentacja listy niedozwolonych wartości.
5. Sprawdź formularz po zmianach
Wyczyść pamięć podręczną strony i otwórz formularz w prywatnym oknie przeglądarki jako niezalogowany odwiedzający. Wyślij zwykłą wiadomość testową i sprawdź jej dostarczenie. Przetestuj także wersję mobilną. Ochrona ma ograniczać spam bez blokowania osób, które chcą się z Tobą skontaktować.
Jeśli formularz przestanie działać, sprawdź zgodność hosta w Cloudflare, parę kluczy oraz komunikaty błędów. Zwróć uwagę, czy wtyczka optymalizacyjna, zgody na skrypty lub rozszerzenie przeglądarki nie blokują Turnstile. Po każdej poprawce powtórz test. Żaden mechanizm nie usuwa całego spamu — obserwuj skuteczność i zaostrzaj reguły tylko w razie potrzeby.