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

  1. Wejdź na: https://dash.cloudflare.com
  2. zaloguj się lub stwórz konto
  3. w menu wybierz: Turnstile
  4. kliknij Add site
  5. podaj:
    1. nazwę integracji (np. „WP kontakt”)
    2. domenę WordPressa
    3. typ widgetu: Invisible (najwygodniejszy)
  6. Otrzymasz dwa klucze:
    1. Site Key
    2. 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:

  1. Wtyczki → Dodaj nową
  2. Wyszukaj: Cloudflare Turnstile
  3. Zainstaluj i aktywuj.
  4. Wchodzisz w Ustawienia → Turnstile
  5. Wklejasz:
    1. Site Key
    2. Secret Key
  6. Zaznaczasz, gdzie chcesz włączyć ochronę (np. komentarze, logowanie, formularze).

Gotowe — działa od razu.

Jeśli używasz Contact Form 7 (CF7)

  1. zakładasz zgodnie z powyższymi punktami konto na na: https://dash.cloudflare.com
  2. w panelu WordPress admin w lewym menu wybierasz Contact (od CF7)
  3. wchodzisz w Integracja
  4. wybierasz Turnstile
  5. Wklejasz:
    1. Site Key
    2. Secret Key
  6. 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;
});
Wordpress

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...

Debug manifests

Debug manifests to pojęcie używane najczęściej w kontekście: aplikacji webowych service workerów / PWA pakietów aplikacji (manifest.json / manifest.webmanifest) środowisk...