WordPress

Contact Form 7 e Turnstile: addio a reCAPTCHA e cookie banner

L'integrazione nativa di CF7 con Turnstile risolve un problema pratico che molti ignorano: i cookie di terze parti imposti da Google reCAPTCHA e le conseguenti implicazioni sul GDPR.

Contact Form 7 e Turnstile: addio a reCAPTCHA e cookie banner
I punti chiave

Il problema che probabilmente hai già incontrato

Hai un sito WordPress con Contact Form 7. Hai attivato Google reCAPTCHA per proteggere il modulo dai bot. Stai usando un plugin per il banner cookie. E quando esegui una scansione dei cookie, trovi il cookie `_GRECAPTCHA` nell'elenco. Lo aggiungi alla tua cookie policy, lo segnali nel banner. Il gioco è fatto.

O così pensavi.

Perché il problema non si ferma al cookie in sé. I siti web che utilizzano cookie di terze parti o cookie propri per tracciamento devono ottenere l'esplicito consenso degli utenti. E reCAPTCHA di Google rientra in questa categoria. Questo significa che, in teoria, il tuo modulo di contatto non dovrebbe nemmeno caricarsi prima che l'utente abbia accettato i cookie. Un freno non da poco per uno strumento pensato per facilitare il contatto.

Esiste però una soluzione elegante, nativa e gratuita: sostituire reCAPTCHA con Cloudflare Turnstile.

Cosa cambia con Cloudflare Turnstile

Partiamo dall'aspetto che probabilmente ti interessa di più.

Turnstile non utilizza cookie né memorizza dati personali, rendendolo la scelta ideale per chi vuole rispettare la privacy dei propri visitatori continuando a bloccare il traffico automatizzato indesiderato.

In pratica, Turnstile non installa alcun cookie di terze parti nel browser del visitatore. Questo è confermato anche dalla documentazione ufficiale di Cloudflare e da numerosi riscontri tecnici della community degli sviluppatori.

Un momento di attenzione vale però la pena dedicarlo a una domanda legittima: se non usa cookie, come funziona?

Il meccanismo di verifica senza cookie

Turnstile elabora una serie di segnali lato client come l'indirizzo IP, il fingerprint TLS, l'header User-Agent e la chiave del sito associata all'origine. Cloudflare non ha la capacità di identificare direttamente alcun individuo a partire da questi segnali, inclusi gli indirizzi IP.

In altre parole, la verifica avviene attraverso l'analisi del comportamento e delle caratteristiche tecniche del browser, non attraverso la profilazione persistente dell'utente. Non viene salvato nulla nel browser del visitatore. Non c'è un identificatore che segue l'utente da una sessione all'altra.

La differenza rispetto a Google reCAPTCHA

Google reCAPTCHA imposta un cookie necessario (`_GRECAPTCHA`) quando viene eseguito allo scopo di fornire la sua analisi del rischio.

reCAPTCHA può utilizzare cookie esistenti di Google o di terze parti per tracciare gli utenti. Incorporando reCAPTCHA dal dominio google.com, i proprietari di siti web potenzialmente ampliano la rete di tracciamento di Google. Inoltre, reCAPTCHA utilizza cookie CAPTCHA per tracciare la cronologia di navigazione, consentendo ai siti web di personalizzare i contenuti per i singoli visitatori in base alle loro interazioni.

Il confronto è netto: da una parte uno strumento che traccia, dall'altra uno che analizza segnali tecnici istantanei senza lasciare tracce nel browser.

L'integrazione nativa con Contact Form 7

Fino a qualche versione fa, integrare Turnstile con CF7 richiedeva plugin aggiuntivi. Dalla versione 6.1 di Contact Form 7, l'integrazione è nativa.

Contact Form 7 fornisce un modulo di integrazione con Turnstile che protegge efficacemente i form dai bot spam. A differenza di Google reCAPTCHA, Turnstile è disponibile gratuitamente. CF7 raccomanda Turnstile a meno che tu non abbia ragioni specifiche per continuare a usare reCAPTCHA.

Trovi la nota ufficiale di raccomandazione direttamente nella documentazione del plugin: il team di Contact Form 7 ha scelto apertamente di privilegiare Turnstile come soluzione di default.

Come configurare l'integrazione

La configurazione richiede pochi minuti e nessuna riga di codice.

1. Creare un account Cloudflare (se non ne hai già uno)

L'account Cloudflare è gratuito. Non è necessario trasferire il DNS del sito su Cloudflare: Turnstile funziona in modo indipendente, senza che il traffico del sito debba passare per la rete Cloudflare.

2. Creare un widget Turnstile

Una volta nel pannello di controllo Cloudflare:

  • Accedi alla sezione Turnstile dal menu laterale (si trova sotto Protect & Connect > Application security)
  • Crea un nuovo widget
  • Specifica il dominio del sito (es. tuosito.it)
  • Copia la Site Key e la Secret Key generate

3. Configurare Contact Form 7

Nel pannello di WordPress:

Contatto > Integrazione > Turnstile > Setup integration

Incolla la Site Key e la Secret Key nei rispettivi campi. Salva. Fine.

Tutti i tuoi moduli Contact Form 7 avranno automaticamente il widget Turnstile attivo, senza bisogno di modificare singolarmente ogni form.

Un consiglio tecnico utile

Se nel tuo progetto hai utilizzato il filtro wpcf7_load_js per ottimizzare il caricamento degli script di CF7, sappi che questa customizzazione può interferire con Turnstile. In questo caso occorre rimuoverlo o commentarlo. Il filtro wpcf7_load_css non crea invece alcun problema.

Le implicazioni sul banner cookie

Arriviamo al cuore della questione, con la precisione che un argomento legale-tecnico richiede.

Il banner cookie non è necessario per Turnstile

Se sul tuo sito WordPress l'unica fonte di cookie di terze parti era Google reCAPTCHA, e lo sostituisci con Turnstile, non hai più bisogno del banner cookie per questa funzionalità specifica.

Ovviamente, se sul sito sono presenti altri strumenti che installano cookie (Google Analytics, pixel di Facebook, font di terze parti e così via), il banner rimane necessario per quelli.

Ma la privacy policy va aggiornata lo stesso

Attenzione: eliminare il banner cookie non significa azzerare gli obblighi di trasparenza. Turnstile elabora comunque dei dati tecnici del visitatore (IP, fingerprint TLS, User-Agent) per svolgere la sua funzione di rilevamento bot.

I segnali raccolti da Turnstile sono strettamente necessari per rilevare e bloccare i bot, al fine di consentire ai visitatori di godere di un'esperienza sicura sui siti che hanno implementato Turnstile. Cloudflare è responsabile del trattamento di questi segnali per fornire il servizio ai propri clienti.

Questo significa che nella privacy policy del tuo sito dovresti menzionare:

  • l'utilizzo di Cloudflare Turnstile per la protezione dei form
  • la tipologia di dati tecnici elaborati (IP, browser fingerprint)
  • il rimando alla privacy policy di Cloudflare

Non serve però inserire Turnstile nella cookie policy (perché non installa cookie), né ottenere il consenso preventivo attraverso un banner per permettere al form di funzionare.

Un avviso sui cookie residui

In passato sono stati segnalati casi in cui Cloudflare impostava accidentalmente cookie su pagine con Turnstile attivo. Queste segnalazioni si riferivano a un comportamento anomalo legato a cookie del dominio Cloudflare Dashboard, non a Turnstile stesso. Cloudflare ha identificato il problema e interrotto l'emissione accidentale del cookie __cf_bm dal dominio challenges.cloudflare.com, aggiungendo il monitoraggio per prevenire future regressioni.

Il comportamento attuale di Turnstile, verificabile in una finestra di navigazione in incognito, non prevede l'installazione di cookie. Se stai usando un tool di scansione automatica dei cookie, verifica l'esito in modalità privata per ottenere un risultato pulito.

Perché questo cambiamento vale anche per il tuo sito

Se hai un sito WordPress con un modulo di contatto, questa miglioria ti riguarda direttamente. Vale la pena valutarla per almeno tre motivi concreti.

Esperienza utente migliore: il banner cookie crea attrito. Chi atterra sulla tua pagina contatti si trova a dover gestire una finestra di consenso prima ancora di poter compilare il form. Con Turnstile, questo ostacolo scompare: il visitatore arriva, compila, invia.

Compliance più semplice da mantenere: meno strumenti di terze parti che tracciano significa meno elementi da aggiornare nella cookie policy, meno categorie da gestire, meno rischio di dimenticare aggiornamenti quando i fornitori cambiano le loro condizioni. Una semplificazione che nel tempo fa la differenza.

Nessun costo aggiuntivo: Turnstile è gratuito. Non richiede abbonamenti, non ha limiti di utilizzo per la stragrande maggioranza dei siti. Se stai già pagando per una soluzione anti-spam o per la gestione del banner cookie, è un aspetto che vale la pena considerare.

Se lavori con uno sviluppatore o un'agenzia, chiedere questa miglioria richiede pochi minuti di lavoro tecnico: è una di quelle ottimizzazioni rapide che migliorano sia la qualità del sito che la sua conformità normativa.

Come verificare che tutto funzioni correttamente

Dopo aver configurato l'integrazione, ecco come testare il risultato.

Aprire il browser in modalità incognito e visitare la pagina con il form. Con gli strumenti di sviluppo aperti, andare nella scheda Application (o Storage) e verificare l'assenza di cookie provenienti da domini Cloudflare. Questo passaggio è fondamentale: la modalità normale del browser potrebbe mostrare cookie residui da sessioni precedenti.

Inviare il form e verificare che la protezione Turnstile funzioni correttamente. Dovresti vedere il widget apparire (in modalità managed, che mostra il classico checkbox, o in modalità non interattiva/invisible a seconda della configurazione scelta).

Controllare nel pannello Cloudflare le statistiche del widget Turnstile: il dashboard mostra le challenge emesse e il tasso di successo, un indicatore utile per monitorare eventuali anomalie.

Turnstile e accessibilità

Un aspetto che vale la pena sottolineare, specialmente per chi si occupa di accessibilità web: Turnstile è conforme allo standard WCAG 2.2 AAA.

Questo livello di conformità è il più elevato previsto dalle Web Content Accessibility Guidelines, e supera i requisiti richiesti dalla maggior parte delle normative pubbliche e private sull'accessibilità. Significa che Turnstile non pone barriere per gli utenti che utilizzano tecnologie assistive, a differenza delle versioni classiche di reCAPTCHA che richiedevano il riconoscimento di immagini (un compito spesso impossibile per chi usa screen reader).

In conclusione

Sostituire Google reCAPTCHA con Cloudflare Turnstile in Contact Form 7 non è soltanto una questione tecnica. È una scelta che migliora la privacy degli utenti, semplifica la gestione della compliance, elimina il cookie banner per questa specifica funzionalità e non ha costi aggiuntivi.

L'integrazione nativa introdotta dalla versione 6.1 di CF7 rende l'operazione rapida: pochi minuti nel pannello di WordPress e nel dashboard Cloudflare sono sufficienti. Non servono plugin aggiuntivi, non servono modifiche al codice dei form.

L'unico aggiornamento da non trascurare rimane quello alla privacy policy, dove va menzionato il trattamento dei dati tecnici da parte di Cloudflare per finalità di sicurezza. Non si tratta di un cookie banner, ma di trasparenza verso gli utenti: una buona abitudine indipendentemente dagli strumenti che si usano.

Hai un sito WordPress con Contact Form 7 e vuoi eliminare il cookie banner legato a reCAPTCHA? Contattami: analizziamo insieme la configurazione attuale e implementiamo Turnstile in tempi rapidi.

Rimani aggiornato con gli articoli del mio magazine anche su LinkedIn!
I punti chiave