Come blocco lo spam nei moduli di contatto di WordPress senza CAPTCHA?
Di Eureka Studio · Aggiornato il
In breve
Invece di un CAPTCHA, combina controlli invisibili: un campo honeypot nascosto che compilano solo i bot, un tempo minimo di compilazione, un token che resiste alla cache delle pagine e limiti per IP e per email. Metti in quarantena i messaggi dubbi invece di eliminarli. Un plugin locale può farlo per Elementor, Contact Form 7 e WPForms senza inviare dati altrove. In Hushfort, la protezione dei plugin per moduli fa parte di Pro; il plugin gratuito copre solo commenti e recensioni.
Passaggi
1Passaggio 1
Osserva i bot che colpiscono il modulo
I bot compilano ogni campo che trovano, compreso uno nascosto che una persona non vede mai, oppure inviano senza nemmeno caricare la pagina. Il registro di Hushfort indica ogni caso: honeypot compilato, nessun token, compilato troppo in fretta, troppi link.
2Passaggio 2
Attiva lo Scudo antispam in modalità Monitoraggio
In Hushfort apri Scudo antispam, attivalo e imposta Modalità su "Solo registrazione — modalità Monitoraggio, non blocca nulla". Con Hushfort Pro installato, lascia attivo Plugin di moduli, poi salva. Registra ciò che bloccherebbe senza ancora bloccare nulla.

3Passaggio 3
Imposta i limiti silenziosi (Pro)
Tieni breve il Tempo minimo di compilazione (3 secondi). Con Pro, limita anche quanti messaggi possono inviare ogni ora un IP (Limite per IP) o un indirizzo email (Limite per email). I messaggi con più link di quanti ne consente Numero massimo di link finiscono in quarantena.
4Passaggio 4
Controlla il registro, poi passa a Blocca
Dopo qualche giorno, guarda cosa ha intercettato la modalità Monitoraggio. Se non contiene messaggi reali, imposta Modalità su "Blocca (consigliato)" e salva.

5Passaggio 5
Le persone vere inviano e basta
Un visitatore scrive per mezzo minuto, non vede mai il campo nascosto e invia. Nessun rompicapo, nessuna griglia di immagini.

Perché è importante
Puoi bloccare lo spam nei moduli di contatto senza CAPTCHA con controlli invisibili, come un campo honeypot e un tempo minimo di compilazione. Lo spam nei moduli è per lo più una seccatura, finché non diventa un problema. Seppellisce le richieste vere, ti abitua a scorrere la posta di fretta e, se il modulo invia risposte automatiche, può peggiorare la reputazione d'invio del tuo server di posta. Sui siti molto visitati consuma anche risorse del server, perché ogni invio passa per l'intera elaborazione del plugin di moduli.
La soluzione abituale, un CAPTCHA, scarica il costo sui visitatori. Risolvono rompicapi, alcuni rinunciano, e chi usa strumenti per la privacy resta bloccato. La maggior parte dei servizi CAPTCHA carica inoltre codice di terze parti e invia i dati dei visitatori fuori dal tuo server.
C'è un modo più discreto. I bot si comportano in modo diverso dalle persone, e puoi verificarlo in silenzio:
- Compilano i campi nascosti. Un honeypot è un campo nascosto alle persone ma visibile nell'HTML. Una persona lo lascia vuoto; un bot lo compila.
- Sono veloci. A una persona servono alcuni secondi per compilare un modulo. A un bot bastano millisecondi.
- Si ripetono. Un IP o un indirizzo email che invia dieci messaggi all'ora non è un cliente.
- Incollano link. Un messaggio pieno di link raramente è una richiesta vera.
Errori comuni
- Bloccare invece di mettere in quarantena. Quando un controllo non è sicuro, tieni il messaggio da rivedere. Eliminare la domanda di un cliente vero è peggio che leggere uno spam.
- Passare subito a Blocca. Inizia per qualche giorno in una modalità di solo registro. Controlla cosa sarebbe stato bloccato prima di lasciarlo bloccare.
- Token che si rompono con la cache. Se il token antispam fa parte di una pagina in cache, tutti i visitatori condividono lo stesso token scaduto. Usa una protezione che recupera il token al caricamento della pagina.
- Un solo controllo. Un honeypot da solo ferma i bot semplici. Aggiungi il controllo del tempo di compilazione e i limiti.
Senza plugin
La maggior parte dei plugin di moduli include una versione base di questa protezione:
- Moduli di Elementor Pro: aggiungi un campo "Honeypot" dall'elenco dei campi.
- Contact Form 7: aggiungi un honeypot tramite un componente aggiuntivo; CF7 supporta anche Akismet, se accetti di inviare dati a quel servizio.
- WPForms: ha un token antispam integrato e un honeypot opzionale nelle impostazioni di ogni modulo.
Puoi anche aggiungere a mano un semplice honeypot a qualsiasi modulo che controlli:
<div style="position:absolute;left:-9999px" aria-hidden="true">
<label>Leave this empty <input type="text" name="website" tabindex="-1" autocomplete="off"></label>
</div>
<?php
if ( ! empty( $_POST['website'] ) ) {
wp_die( 'Spam detected.', 403 );
}
I limiti: ogni plugin di moduli lo fa a modo suo, di solito non c'è un limite di frequenza condiviso tra i moduli, nessuna quarantena che recuperi gli errori e niente per commenti o recensioni. Finisci per configurare la stessa idea cinque volte.
Se qualcosa va storto
- I messaggi veri non arrivano più. Passa lo Scudo antispam in modalità Monitoraggio, invia un messaggio di prova e guarda nel registro quale controllo l'ha intercettato.
- I moduli non funzionano solo per alcuni visitatori. Svuota una volta la cache delle pagine dopo aver attivato la protezione.
- Lo spam passa ancora. Abbassa il limite di link, aggiungi parole o domini alla lista di blocco, oppure attiva la modalità rigorosa per i moduli che dovrebbero accettare solo provider di posta noti.
Con Hushfort
Hushfort Security è un plugin di sicurezza gratuito per WordPress; Hushfort Pro è il componente aggiuntivo a pagamento che si installa sopra.
Lo Scudo antispam di Hushfort protegge commenti e recensioni di WooCommerce nel plugin gratuito. I plugin di moduli richiedono Hushfort Pro, che aggiunge sei dei più diffusi (Elementor Pro, Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Forminator) alla stessa schermata.
- Honeypot invisibile, tempo minimo di compilazione e token firmati che resistono alla cache delle pagine. Il token arriva da un piccolo script di circa 2 KB, senza cookie.
- Pro: limiti predefiniti per IP (5 all'ora) e per email (3 all'ora); i messaggi con più di 2 link finiscono in quarantena.
- Pro: un elenco di circa 9.900 domini di email usa e getta, le tue liste di blocco e filtri per parole.
- Pro: quarantena con apprendimento tramite "Non è spam".
- Ha una modalità Monitoraggio, così vedi cosa bloccherebbe prima che blocchi.
Nessun CAPTCHA, nessuna API esterna, e nessun dato dei moduli lascia mai il tuo server.
Domande frequenti
Gli honeypot fermano davvero lo spam nei moduli?
Perché evitare reCAPTCHA?
Funziona con la cache delle pagine?
Quali plugin di moduli sono coperti?
Cosa succede a un messaggio che sembra spam ma potrebbe essere vero?
Guide correlate
Come disabilito i commenti in WordPress, o come blocco i commenti spam?
Disabilita i commenti in WordPress ovunque, o lasciali aperti e blocca lo spam: regole separate per articoli e recensioni, pingback spenti, nessun CAPTCHA.
Leggi i passaggiCome blocco le registrazioni spam e gli utenti falsi in WordPress?
Blocca registrazioni spam e utenti falsi su WordPress e WooCommerce con limiti orari, un tetto per il sito e honeypot invisibili, checkout sempre libero.
Leggi i passaggiCome riconosco e blocco i falsi Googlebot e i bot molesti su WordPress?
I falsi Googlebot rallentano WordPress. Verifica i crawler veri via IP, blocca i falsi, dai un budget di richieste a ogni IP, senza toccare il checkout.
Leggi i passaggi

