reCAPTCHA w WordPressie to prosty i skuteczny sposób na zmniejszenie spamu oraz ochronę formularzy przed botami. Jeśli zauważasz zalew niechcianych wiadomości w formularzu kontaktowym, rejestracji czy komentarzach, zastosowanie reCAPTCHA może w kilka minut ograniczyć problem bez zauważalnego utrudniania życia prawdziwym użytkownikom.
Czym właściwie jest reCAPTCHA i jakie są jej wersje?
Poznaj różnice między v2, v3 i wersją niewidoczną, aby dobrać najlepszą ochronę.
reCAPTCHA to mechanizm Google, który pomaga odróżnić ludzi od botów. Działa na kilka sposobów, w zależności od wybranej wersji:
- reCAPTCHA v2 “I’m not a robot” — klasyczny checkbox, czasem z dodatkowymi łamigłówkami obrazkowymi. Prosta i zrozumiała, ale bywa delikatnie inwazyjna.
- reCAPTCHA v2 Invisible — bez checkboxa; test uruchamia się po wysłaniu formularza i zwykle nie wymaga interakcji, chyba że coś wyda się podejrzane.
- reCAPTCHA v3 — system ocenia zachowanie użytkownika w tle i przyznaje wynik (score). Nie przeszkadza w interakcji, ale wymaga przemyślanej konfiguracji progu punktowego i ewentualnych działań “warunkowych”.
Dla większości stron świetnym kompromisem jest v2 Invisible lub v3. Jeśli chcesz maksymalnej przejrzystości dla użytkownika, wybierz v3. Jeśli wolisz “namacalne” potwierdzenie, checkbox v2 zadziała najlepiej.
reCAPTCHA w WordPressie: gdzie warto ją włączyć?
Zabezpieczaj wszystkie kluczowe formularze, nie tylko kontakt.
W ekosystemie WordPress formularze pojawiają się w wielu miejscach. Oprócz klasycznego “Kontakt” rozważ ochronę:
- komentarzy (wbudowany formularz komentarzy),
- logowania i rejestracji użytkowników,
- resetu hasła,
- koszyka i checkoutu w WooCommerce,
- wszelkich formularzy tworzonych przez wtyczki (WPForms, Contact Form 7, Gravity Forms, Fluent Forms, Formidable Forms itp.).
Im szerszy zakres ochrony, tym mniejsze ryzyko spamu i nadużyć. Nie zostawiaj “dziur” — boty znajdą najsłabsze ogniwo.
Jak zdobyć klucze API od Google
Krok po kroku: rejestracja, wybór typu i przypisanie domeny.
Aby uruchomić reCAPTCHA, potrzebujesz dwóch kluczy: Site Key (do frontu) i Secret Key (do weryfikacji po stronie serwera).
- Wejdź na stronę admin.recaptcha.net lub google.com/recaptcha/admin.
- Zaloguj się kontem Google.
- Utwórz nową “etykietę” (projekt) — wpisz nazwę rozpoznawalną dla swojej strony.
- Wybierz typ: v2 (checkbox lub invisible) albo v3.
- Dodaj domenę (bez https:// i bez ścieżek, np. moja-domena.pl). Jeśli masz staging, dodaj go też.
- Zaakceptuj regulamin i utwórz zestaw kluczy.
- Skopiuj Site Key i Secret Key. Secret Key traktuj jak hasło — nie publikuj go nigdzie publicznie.
Najprostsza droga: wtyczki bez kodowania
Wybierz wtyczkę zgodną z Twoimi formularzami i gotowe.
Jeśli nie chcesz dotykać kodu, skorzystaj z popularnych rozwiązań:
- Advanced noCaptcha & Invisible reCaptcha — obsługuje komentarze, logowanie, rejestrację, WooCommerce i wiele wtyczek formularzy.
- reCaptcha by BestWebSoft — szybka konfiguracja, kilka miejsc integracji.
- Contact Form 7 (wbudowana integracja z reCAPTCHA v3 lub przez dodatkowe rozszerzenia dla v2).
- WPForms, Gravity Forms, Fluent Forms, Formidable Forms — mają natywne integracje z reCAPTCHA (często wybierasz typ w ustawieniach globalnych i przypisujesz do formularza).
Ogólny schemat jest podobny:
- Zainstaluj i aktywuj wtyczkę.
- W ustawieniach podaj Site Key i Secret Key.
- Wybierz typ reCAPTCHA (v2, invisible lub v3).
- Włącz reCAPTCHA dla wybranych formularzy/obszarów.
- Zapisz i przetestuj na stronie.
Pamiętaj o cache i CDN — po konfiguracji opróżnij cache i sprawdź działanie w trybie incognito.
Integracja z Contact Form 7
Skorzystaj z wbudowanego połączenia lub modułów dodatkowych.
- Przejdź do Integracje w Contact Form 7 i podaj klucze reCAPTCHA (domyślnie v3).
- Zapisz zmiany i sprawdź formularz. W stopce zobaczysz odznakę v3.
- Jeśli preferujesz v2 (checkbox), doinstaluj rozszerzenie “Contact Form 7 reCAPTCHA v2”, podaj klucze v2 i użyj odpowiedniego taga w formularzu.
Integracja z WPForms
Włącz reCAPTCHA globalnie, przypisz do formularzy.
- W WPForms > Ustawienia > CAPTCHA wybierz Google reCAPTCHA (v2 lub v3).
- Wklej klucze, zapisz.
- Otwórz wybrany formularz i włącz reCAPTCHA w jego ustawieniach.
WooCommerce i formularze logowania/rejestracji
Chroń kluczowe punkty procesu zakupowego.
Wtyczki typu Advanced noCaptcha dodają ochronę do:
- formularza logowania, rejestracji i “Zapomniałem hasła”,
- recenzji produktów i sometimes checkout.
Włącz odpowiednie przełączniki w ustawieniach wtyczki i przetestuj cały lejek.
Jak dodać reCAPTCHA ręcznie (dla własnych formularzy)
Minimalny przykład front-end i weryfikacji po stronie serwera.
Jeśli tworzysz własny formularz, możesz dodać reCAPTCHA “na piechotę”.
Front-end (v2 checkbox):
- Załaduj skrypt: <script src=“https://www.google.com/recaptcha/api.js” async defer></script>
- W formularzu umieść: <div class=“g-recaptcha” data-sitekey=“TWOJ_SITE_KEY”></div>
Po wysłaniu formularza Google zwraca token w polu g-recaptcha-response. Trzeba go zweryfikować na serwerze.
Weryfikacja w PHP (schemat):
- Wyślij POST na https://www.google.com/recaptcha/api/siteverify z parametrami: secret, response (g-recaptcha-response) i opcjonalnie remoteip.
- Odbierz JSON i sprawdź pole success (dla v3 dodatkowo score i action).
- Jeśli weryfikacja nie powiedzie się, zablokuj przetwarzanie formularza i wyświetl komunikat.
Dla v3:
- Ładujesz skrypt z akcją, np. grecaptcha.execute(‘SITE_KEY’, {action: ‘contact_form’});
- Token przekazujesz do back-endu i po stronie serwera weryfikujesz, oceniając score i action.
Wskazówka: Nie akceptuj zgłoszeń, gdy weryfikacja zawiedzie lub score spadnie poniżej progu (np. 0.5). Dla ostrożnych wdrożeń dodaj fallback: jeśli v3 da niski score, pokaż klasyczną łamigłówkę lub honeypot.
Najczęstsze błędy i jak je naprawić
Domeny, klucze, cache i konflikty wtyczek to typowe źródła problemów.
- Błędny typ klucza: klucze v3 nie działają z v2 i odwrotnie. Upewnij się, że typ reCAPTCHA we wtyczce = typ kluczy.
- Zła domena: jeśli w panelu Google nie dodasz prawidłowej domeny (lub subdomeny), weryfikacja się nie powiedzie.
- Konflikty wtyczek i motywów: dwie wtyczki ładujące reCAPTCHA naraz potrafią się “gryźć”. Wyłącz jedną i sprawdź ponownie.
- Cache/Minifikacja: opóźnienia w wczytywaniu skryptu lub łączenie plików przez optymalizatory mogą blokować reCAPTCHA. Wyklucz skrypt Google z minifikacji, opróżnij cache.
- Blokady przeglądarek i adblocków: niektóre wtyczki prywatności blokują domeny Google. Poinformuj użytkowników lub zapewnij alternatywę.
Dobre praktyki i UX
Zabezpieczenie ma chronić, ale nie frustrować użytkowników.
- Wybierz najlżejszy wariant: v3 lub v2 Invisible, a checkbox zostaw jako fallback.
- Dostosuj progi dla v3: zacznij od 0.5 i koryguj po obserwacji spamu/fałszywych blokad.
- Dodaj honeypot i ogranicz liczbę zgłoszeń “na użytkownika” — warstwowa obrona jest skuteczniejsza.
- Zadbaj o dostępność: checkbox v2 jest czytelny, ale testy obrazkowe bywają trudne. Zapewnij alternatywę audio i poprawne etykiety.
- Szanuj wydajność: ładuj skrypt reCAPTCHA tylko na stronach z formularzami (np. warunkowo), by nie spowalniać całej witryny.
Prywatność i zgodność z RODO
Informuj o przetwarzaniu danych i uwzględnij zapisy w polityce prywatności.
reCAPTCHA wiąże się z przesyłaniem wybranych danych do Google (np. adres IP, fingerprint przeglądarki). Dlatego:
- Zaktualizuj politykę prywatności: wskaż użycie reCAPTCHA i cel.
- Jeśli korzystasz z banerów zgód, rozważ ładowanie reCAPTCHA dopiero po akceptacji kategorii “funkcjonalne” lub “marketingowe” — zależnie od interpretacji.
- W sklepach i serwisach z rejestracją wdrażaj tylko niezbędne mechanizmy, minimalizując dane.
Testy po wdrożeniu
Sprawdź działanie w różnych scenariuszach, zanim odetchniesz z ulgą.
- Przetestuj jako wylogowany użytkownik, w trybie incognito i na telefonie.
- Sprawdź formularze w różnych przeglądarkach (Chrome, Firefox, Safari).
- Zbadaj logi wtyczki (jeśli dostępne) i raporty w konsoli reCAPTCHA (dla v3 zobaczysz statystyki score).
- Zweryfikuj, czy zgłoszenia docierają, a fałszywe pozytywy nie blokują prawdziwych użytkowników.
Alternatywy dla reCAPTCHA
Jeśli nie chcesz rozwiązań Google, masz co najmniej trzy dobre opcje.
- hCaptcha — podobne do reCAPTCHA, często chwalone za prywatność. Wiele wtyczek wspiera je równie łatwo.
- Cloudflare Turnstile — bardzo lekki i bezłamanigłówkowy, rośnie w popularnośći dzięki prostocie.
- Metody pasywne: honeypot, pytania kontrolne, limitowanie prób, blokady IP/ASN, firewall aplikacyjny (np. wtyczki bezpieczeństwa).
W praktyce świetnie działa połączenie lekkiej weryfikacji + honeypot + ochrona serwera.
Podsumowanie
W skrócie: wybierz wersję, zdobądź klucze, skonfiguruj w wtyczce lub ręcznie i dokładnie przetestuj.
Dodanie reCAPTCHA do Twoich formularzy to jeden z najszybszych sposobów na ograniczenie spamu w WordPressie. Najpierw zdecyduj, czy stawiasz na v2 (checkbox lub invisible), czy v3. Zarejestruj domenę w panelu Google, skopiuj klucze i wdroż rozwiązanie przez wtyczkę zgodną z Twoimi formularzami — lub zrób to ręcznie, jeśli masz własny kod. Na końcu przetestuj różne scenariusze i monitoruj efekty. Porządek w konfiguracji i dbałość o UX sprawią, że użytkownicy nawet nie zauważą dodatkowej warstwy bezpieczeństwa, a Ty przestaniesz walczyć ze spamem.