
🚫 Come fermare lo spam da Contact Form 7 in WordPress
Modulo di feedback sommerso dallo spam? Decine di invii vuoti al giorno intasano la tua casella mentre le richieste reali dei clienti si perdono nella spazzatura.
Contact Form 7, il plugin per moduli di contatto gratuito più diffuso per WordPress, conta oltre 5 milioni di installazioni attive. Questa popolarità lo ha reso il bersaglio numero uno per gli spam bot: individuano i siti WordPress, identificano l'URL standard del modulo e lo inondano con migliaia di invii automatizzati.

Non devi disabilitare il modulo né aggiungere un CAPTCHA macchinoso. Ecco cinque metodi funzionanti, dalle funzionalità integrate di CF7 ai plugin specializzati. Nessuno richiede codice: tutto si configura dal pannello di amministrazione in 10-15 minuti.
💡 Panoramica rapida:
- Attiva il quiz integrato di CF7 (i bot non sanno rispondere alle domande)
- Imposta una lunghezza minima del messaggio per bloccare lo spam di una sola parola
- Collega Akismet per un filtraggio intelligente basato su un database globale di spammer
- Installa CF7 Apps con una honeypot trap (un campo nascosto che solo i bot vedono)
- Ultima risorsa: Really Simple CAPTCHA (protezione semplice ma datata)
1. Quiz integrato di Contact Form 7
Il metodo più sottovalutato ma efficace. CF7 ti permette di aggiungere un tag [quiz] al modulo: una semplice domanda a cui qualsiasi essere umano sa rispondere ma un bot no.
Ecco come funziona: fai una domanda come «Quanto fa tre più quattro?» o «In che anno siamo?» e specifichi la risposta corretta dopo una barra verticale. Se il visitatore risponde in modo errato, il modulo non viene inviato.
1 [quiz math-test "Сколько будет три плюс четыре?|7"]
I bot non interpretano il contesto di una domanda; si limitano a riempire i campi e cliccare «Invia». Il quiz spezza completamente questa logica.
Pro: gratuito, funziona da subito, non rallenta il sito, non aggiunge plugin. C'è un solo svantaggio: in teoria, un bot mirato costruito per un sito specifico potrebbe essere addestrato a rispondere. Ma per la stragrande maggioranza dei siti questo scenario è sproporzionato: gli spammer non perdono tempo a bypassare manualmente un singolo blog.
2. Lunghezza minima e massima del messaggio

Una parte significativa dello spam automatizzato è costituita da messaggi brevi di due o tre parole, o persino un singolo numero. La logica degli spammer è semplice: inondare più moduli possibile nel minor tempo. Nessuno investirà risorse per generare testo coerente.
CF7 supporta i parametri minlength e maxlength direttamente nello shortcode del campo:
1 [textarea your-message minlength:20 maxlength:500]
Venti caratteri sono un minimo sicuro: un cliente reale scrive «Buongiorno, vorrei informazioni sui costi di spedizione», mentre un bot invia «12345» o «Compra ora economico». Qualsiasi testo più corto di 20 caratteri viene respinto prima dell'invio.
Il parametro maxlength protegge anche da un altro vettore: messaggi lunghissimi in cui i bot inseriscono migliaia di parole chiave per spam SEO. Cinquecento caratteri coprono qualsiasi richiesta normale ma troncano i muri di testo.
Non ci sono svantaggi; questo metodo andrebbe sempre attivato, indipendentemente dalle altre misure.
3. Akismet: filtraggio intelligente dello spam

Akismet è un servizio anti-spam cloud di Automattic (il team di WordPress). Analizza il contenuto degli invii, lo confronta con un database globale di spammer noti e prende una decisione in pochi millisecondi. Secondo quanto dichiarato dal servizio stesso, Akismet blocca il 99,8% dello spam sui siti WordPress.
Non tutti sanno che Akismet funziona anche con altro oltre ai commenti; funziona anche con Contact Form 7. Dopo aver installato il plugin e attivato la chiave API (gratuita per i siti non commerciali), si aggiunge una piccola integrazione e Akismet controlla automaticamente i campi dei moduli CF7 alla ricerca di pattern di spam.
In test reali su un sito ad alto traffico, il solo Akismet ha ridotto il volume di spam di circa due terzi. Il terzo rimanente viene gestito combinandolo con il quiz e la lunghezza minima, ottenendo di fatto zero invii indesiderati senza un solo CAPTCHA.
4. CF7 Apps: honeypot e hCaptcha in un unico plugin

Il classico Contact Form 7 Honeypot si è evoluto in CF7 Apps, un plugin modulare che aggiunge diverse funzionalità a CF7 in un colpo solo. Due di queste sono rilevanti in questa sede.
Honeypot è un campo trappola nascosto. Al modulo viene aggiunto un input invisibile, stilizzato via CSS in modo che i visitatori reali non possano vederlo né compilarlo. Un bot, invece, analizza il codice HTML, trova il campo e lo compila, ed è così che viene catturato. Il plugin rileva l'honeypot compilato e blocca l'invio.
Si aggiunge con un singolo shortcode:
1 [honeypot honeypot-837]
È possibile cambiare i numeri nel nome; questo rende la vita più difficile ai bot che imparano a bypassare i nomi dei campi standard.
hCaptcha è un'alternativa moderna a reCAPTCHA che non raccoglie dati utente. Dopo aver ottenuto le chiavi dal sito web di hCaptcha, si abilita con un singolo checkbox nelle impostazioni di CF7 Apps e sul modulo compare un widget che la maggior parte dei visitatori reali nemmeno nota.
Entrambe le funzionalità operano in modo indipendente: è possibile abilitare solo l'honeypot, solo hCaptcha o entrambi. Il plugin è attivamente mantenuto (ultima versione: 2026), a differenza di molti concorrenti.
5. Really Simple CAPTCHA: un'opzione di riserva

Really Simple CAPTCHA è stato creato dallo stesso sviluppatore di Contact Form 7, quindi i due plugin lavorano insieme senza conflitti. Genera una semplice immagine con un codice che deve essere inserito per inviare il modulo.
La configurazione è semplice: installa il plugin, aggiungi il tag [captchac] al tuo modulo CF7 e funziona.
Tuttavia, questo metodo ha alcuni limiti. Primo, il plugin non riceve aggiornamenti significativi da molto tempo e non è stato testato ufficialmente con le ultime versioni di WordPress, anche se gli utenti confermano che funziona fino a WP 6.9. Secondo, richiede la libreria GD + FreeType sul server, che potrebbe mancare su un hosting economico. Terzo, un CAPTCHA testuale infastidisce notevolmente gli utenti e alcuni visitatori reali semplicemente abbandonano il modulo senza compilarlo.
Consigliamo di provare Really Simple CAPTCHA solo se i primi quattro metodi non hanno dato risultati. Nella maggior parte dei casi, una combinazione di quiz, lunghezza minima e Akismet è sufficiente.
🔗 Really Simple CAPTCHA su WordPress.org
Cosa ha funzionato nel nostro caso
Un cliente è venuto da noi con un problema: il Contact Form 7 su un sito con circa 10.000 visitatori unici al mese riceveva decine di invii spam al giorno. Abbiamo proceduto passo dopo passo:
- Abbiamo installato Akismet e lo spam è sceso da diverse decine a 5-10 messaggi al giorno.
- Abbiamo aggiunto un
[quiz]con la domanda «Quanto fa due più due?» e solo spam sporadico riusciva a passare. - Abbiamo attivato
minlength:20per il campo del messaggio e lo spam è scomparso del tutto.
La combinazione di tre metodi senza un solo CAPTCHA ha risolto il problema in mezz'ora di lavoro. Nessun cliente reale si è lamentato di disagi: non si sono nemmeno accorti dei cambiamenti perché il quiz sembra naturale e un limite di 20 caratteri è invisibile durante una comunicazione normale.
Se stai iniziando ora a combattere lo spam, installa Akismet come prima linea di difesa. È la soluzione autonoma più potente che non ha bisogno di honeypot o CAPTCHA per una protezione di base. Poi aggiungi livelli secondo necessità, per tentativi ed errori, monitorando le statistiche dello spam dopo ogni modifica.
⁉️🤔 Domande frequenti
Perché non usare Google reCAPTCHA?
reCAPTCHA v2 con semafori e ponti blocca i bot, ma a scapito dell'esperienza utente. Secondo ricerche di laboratorio sull'usabilità, un visitatore su cinque abbandona un modulo quando vede una CAPTCHA. reCAPTCHA v3 funziona in modo invisibile ma richiede l'integrazione tramite un plugin aggiuntivo per CF7 e ha problemi di falsi positivi. Il quiz integrato di CF7 risolve lo stesso problema senza servizi esterni. Non usiamo reCAPTCHA dove bastano un quiz CF7 e un honeypot: il quiz non appesantisce il sito con richieste esterne a Google e non raccoglie dati dei visitatori. Per i progetti in cui l'anti-spam di Google è indispensabile, nella directory di WordPress esistono plugin bridge dedicati.
Posso cavarmela con un solo metodo?
Dipende dal volume di spam. Un sito a basso traffico spesso se la cava con il solo Akismet o solo con il quiz. Un sito con migliaia di visitatori al giorno avrà quasi sicuramente bisogno di una combinazione di 2-3 metodi: gli spammer usano bot farm nel cloud, e ciò che ferma uno verrà aggirato da un altro.
In pratica, iniziamo con Akismet. Se lo spam scende a un livello accettabile, ci fermiamo lì. Altrimenti aggiungiamo il quiz. Se ancora non basta, aggiungiamo un honeypot tramite CF7 Apps. Una stratificazione graduale è meglio che installare cinque plugin tutti insieme; ogni nuovo strato ha senso solo quando il precedente non è sufficiente.
Perché CF7 Apps è meglio del vecchio Contact Form 7 Honeypot?
Il vecchio plugin Contact Form 7 Honeypot faceva una sola cosa: aggiungeva un campo nascosto. CF7 Apps è il suo successore moderno, sviluppato attivamente da Saad Iqbal. Oltre all'honeypot, gestisce hCaptcha, salva gli invii nel database, reindirizzamenti post-invio, webhook e integrazione con ACF, tutto in un unico plugin.
Tutti i moduli sono indipendenti: se attivi solo l'honeypot, viene eseguito solo quello, senza codice aggiuntivo. Il plugin è aggiornato nel 2026 e compatibile con le versioni correnti di WordPress, a differenza del vecchio Honeypot monofunzione, che non è più mantenuto.
Devo installare tutti e cinque i metodi in una volta sola?
No, e non lo consigliamo. Ogni plugin in più rallenta il sito e aggiunge un potenziale punto di guasto. Inizia con uno o due metodi, monitora i risultati per una settimana, poi decidi se aggiungere un altro livello.
Lo stack minimo per la maggior parte dei siti: Akismet + lunghezza minima del messaggio. Questo basta nella stragrande maggioranza dei casi. Aggiungi il quiz quando lo spam continua ad arrivare nonostante Akismet. Aggiungi l'honeypot se i bot imparano a bypassare il quiz (uno scenario raro). Aggiungi una CAPTCHA solo quando nient'altro ha funzionato.
E se lo spam continua nonostante tutto?
Verifica se lo spam sta bypassando CF7: alcuni temi e plugin aggiungono moduli di contatto propri che CF7 non controlla. Escludi anche lo spam manuale: se i messaggi sono coerenti e pertinenti ma promozionali, si tratta di persone reali, contro le quali i metodi tecnici sono impotenti.
Come ultima risorsa, valuta di cambiare plugin per i moduli. Gravity Forms e WPForms dispongono di meccanismi anti-spam integrati più aggressivi e del supporto ufficiale nativo per Google reCAPTCHA senza plugin aggiuntivi.
Quale metodo di protezione antispam scegliere
La scelta dipende da un parametro: il volume di traffico spazzatura su uno specifico sito. Non esiste una «pallottola d'argento» universale: un sito brochure di tre pagine e un forum con mille utenti richiedono livelli di protezione diversi.
Se stai appena iniziando, attiva Akismet e imposta una lunghezza minima del messaggio (minlength:20). Questi due passaggi richiedono dieci minuti e bloccano la maggior parte dello spam automatizzato senza una sola CAPTCHA e senza lamentele degli utenti.
Se lo spam continua dopo Akismet, aggiungi un [quiz]. I bot non rispondono alle domande; le persone rispondono senza pensarci. La terza linea di difesa è CF7 Apps con una trappola honeypot: un campo nascosto di cui il visitatore reale non sa nulla.
E ricorda: ogni nuovo plugin è un compromesso tra sicurezza e velocità del sito. Costruisci la protezione gradualmente, tagliando lo spam strato dopo strato. La configurazione ideale è quella in cui lo spam è zero e il visitatore non si accorge nemmeno che il modulo ha una qualche protezione.



