Turnstile jako darmowa alternatywa reCAPTCHA
Od 2025 Google stara się, aby wszyscy użytkownicy reCAPTCHA przeszli na reCAPTCHA Enterprise, co oznacza, że Google pobiera opłaty za wywołania API przekraczające limit bezpłatny.
Jeśli w WordPress korzystasz z pluginu Contact Form 7 to obsługuje on Cloudflare Turnstile – alternatywne rozwiązanie anty-spamowe.
Jak korzystać z Turnstile
1. Załóż darmowe Turnstile w Cloudflare
- Wejdź na: https://dash.cloudflare.com
- zaloguj się lub stwórz konto
- w menu wybierz: Turnstile
- kliknij Add site
- podaj:
- nazwę integracji (np. „WP kontakt”)
- domenę WordPressa
- typ widgetu: Invisible (najwygodniejszy)
- Otrzymasz dwa klucze:
- Site Key
- Secret Key
Zapisz je, będą potrzebne.
2. Integracja z WordPressem
Najlepsza opcja: wtyczka Cloudflare Turnstile – lekka, bezpieczna i oficjalna „Cloudflare Turnstile” (autor: Cloudflare)
Wtyczka obsługuje formularze:
- komentarzy WordPress
- logowania WP
- rejestracji
- resetowania hasła
- WPForms
- Contact Form 7
- WooCommerce
Konfiguracja:
- Wtyczki → Dodaj nową
- Wyszukaj: Cloudflare Turnstile
- Zainstaluj i aktywuj.
- Wchodzisz w Ustawienia → Turnstile
- Wklejasz:
- Site Key
- Secret Key
- Zaznaczasz, gdzie chcesz włączyć ochronę (np. komentarze, logowanie, formularze).
Gotowe — działa od razu.
Jeśli używasz Contact Form 7 (CF7)
- zakładasz zgodnie z powyższymi punktami konto na na: https://dash.cloudflare.com
- w panelu WordPress admin w lewym menu wybierasz Contact (od CF7)
- wchodzisz w Integracja
- wybierasz Turnstile
- Wklejasz:
- Site Key
- Secret Key
- W edytorze formularz CF7 wstawiasz shortcode [turnstile] przed przyciskiem „Wyślij”.
Integracja custom (np. własny formularz PHP / ACF Form)
Gdy masz formularz własny, np. pisany w PHP,
w kodzie html podajesz script z src=”https://challenges.cloudflare.com/turnstile/v0/api.js” oraz div <div class=”cf-turnstile” data-sitekey=”TWÓJ_SITE_KEY”></div>
w walidacji php:
</pre>
$secret = 'TWÓJ_SECRET_KEY';
$response = $_POST['cf-turnstile-response'];
$verify = wp_remote_post("https://challenges.cloudflare.com/turnstile/v0/siteverify", [
'body' => [
'secret' => $secret,
'response' => $response,
'remoteip' => $_SERVER['REMOTE_ADDR']
]
]);
$result = json_decode(wp_remote_retrieve_body($verify), true);
if (!$result['success']) {
wp_die("Błąd: weryfikacja Turnstile nie powiodła się.");
}
<pre>
tutaj opisana dokumentacja
Ustawienia wyglądu
Turnstile pozwala ustawić tylko kilka podstawowych opcji w HTML poprzez data-* atrybuty:
- data-sitekey=”TWÓJ_SITE_KEY”
- data-theme=”light” lub „dark”
- data-size=”normal”, „flexible” lub „compact”
- data-language=”pl”
Używając Turnstile z CF7 wstawiasz shortcode z odpowiednimi atrybutami jak: [turnstile theme:light language:en]
Jeżeli nie masz obsługi atrybutów w shortcode, możesz nadpisać atrybuty data-theme przez filtr WordPressa, np. w functions.php Twojego motywu:
add_filter('cfturnstile_shortcode_atts', function($atts){
$atts['theme'] = 'light';
return $atts;
});
Hope this helps and happy coding :)
Zobacz jeszcze
Reset uprawnień dla domeny w przeglądarce Chrome
Reset uprawnień dla domeny przez panel zaawansowany Wejdź w Chrome w ten adres: chrome://settings/content/all w prawym górnym rogu użyj pola Search i wpisz nazwę domeny jakiej szukasz...