← Torna al Blog
WordPressContact Form 7SpamProtezione Bot

Ridurre lo spam in Contact Form 7 in modo mirato

Marc Wagner·5 ottobre 2026·6 min lettura

Quale problema ha?

Tre casi si somigliano, ma hanno cause diverse:

  • Arriva spam. La sua casella di posta si riempie di pubblicità, link o testi senza senso. Il modulo lascia passare i bot.
  • Il modulo segnala un errore. I visitatori vedono «There was an error trying to send your message. Please try again later.» (tradotto sui siti in altre lingue). Può dipendere dalla protezione antispam o da un problema nell'invio delle email.
  • Mancano richieste autentiche. Nessuno si lamenta, ma non arriva nemmeno nulla. In questo caso la protezione potrebbe respingere persone, oppure le email non raggiungono la sua casella.

Individui prima il caso, poi aggiunga una protezione. Come farlo è descritto nella sezione «Invio delle email o protezione dai bot?».

Cosa offre già Contact Form 7

Contact Form 7 integra diverse misure contro lo spam (verificato sulla versione 6.1.7):

  • Lista di blocco. CF7 confronta ogni invio con l'elenco in «Impostazioni → Discussione» («Disallowed Comment Keys»). Una corrispondenza conta come spam. Aiuta contro parole e domini ricorrenti, non contro testi nuovi.
  • Campo quiz. Con il tag [quiz] il modulo pone una domanda definita da lei. I bot che compilano qualsiasi modulo falliscono; quelli che prendono di mira proprio il suo sito la superano.
  • Akismet. Con il plugin Akismet e una chiave Akismet, CF7 verifica nome, indirizzo email e testo tramite il servizio Akismet.
  • reCAPTCHA v3. CF7 carica lo script da Google e respinge gli invii al di sotto di una soglia di punteggio.
  • Cloudflare Turnstile. CF7 integra Turnstile; lo script proviene da Cloudflare.

La lista di blocco e il quiz funzionano senza un servizio esterno. Akismet, reCAPTCHA e Turnstile inviano i dati dei suoi visitatori al rispettivo fornitore, e questo va indicato nella sua informativa sulla privacy.

Quando ha senso una protezione aggiuntiva dai bot

Una protezione dedicata dai bot conviene se

  • lo spam continua ad arrivare nonostante la lista di blocco e il quiz,
  • non vuole caricare script da Google o Cloudflare,
  • vuole vedere per ogni invio respinto il motivo del rifiuto.

Se il quiz basta per il suo modulo, non le serve altro. Una protezione di cui nessuno ha bisogno è solo un'ulteriore fonte di errori.

Configurare SilentShield per Contact Form 7

Il plugin ufficiale «SilentShield – Captcha & Anti-Spam» protegge Contact Form 7 senza codice proprio. L'abbiamo testato con Contact Form 7 6.1.7 e WordPress 7.0.

  1. Installi e attivi il plugin dalla directory di WordPress.
  2. In «SilentShield → API / SilentShield» inserisca la sua chiave, faccia clic su «Validate», attivi «Activate API» e salvi.
  3. In «SilentShield → Forms» attivi Contact Form 7.

Il sito deve funzionare su https, altrimenti il modulo non può essere inviato. Tutti i passaggi e i plugin di moduli testati sono nella guida WordPress. Ogni invio viene conteggiato nella quota, veda prezzi e quote.

Testare invii autentici e tentativi respinti

Un invio autentico: apra la pagina in una finestra privata, compili il modulo a mano e lo invii. Dovrebbe comparire la conferma di CF7 con un bordo verde.

Un tentativo respinto: invii lo stesso modulo senza browser all'interfaccia di CF7. L'ID del modulo e il valore di _wpcf7_unit_tag si trovano nel sorgente della pagina, nei campi nascosti del modulo.

curl -X POST "https://example.com/?rest_route=/contact-form-7/v1/contact-forms/123/feedback" \
  -F "_wpcf7=123" -F "_wpcf7_unit_tag=wpcf7-f123-p45-o1" -F "_wpcf7_container_post=45" \
  -F "your-name=Test" -F "[email protected]" -F "your-message=Test"

Dovrebbe ricevere una risposta con "status":"spam". Con SilentShield il messaggio riporta «Behavior check».

Invio delle email o protezione dai bot?

In Contact Form 7, «spam» e «non è stato possibile inviare l'email» hanno lo stesso testo predefinito. Può distinguerli in due punti:

  • Colore del bordo del messaggio: arancione significa spam, rosso significa che l'invio dell'email non è riuscito, a meno che il suo tema non sovrascriva i colori di CF7.
  • Risposta nel browser: negli strumenti per sviluppatori (scheda Rete) la risposta a feedback contiene lo status, cioè spam oppure mail_failed.

Se è mail_failed, la protezione dai bot ha lasciato passare l'invio; il problema sta nell'invio delle email da parte di WordPress. Controlli allora le impostazioni email, per esempio con un plugin SMTP. Se è spam, l'ha respinto una misura di protezione. Con SilentShield il messaggio indica il motivo, ad esempio «Behavior check».

Limiti

  • Nessuna protezione ferma lo spam scritto a mano da una persona.
  • Senza JavaScript nel browser, un invio a un modulo protetto viene respinto.
  • SilentShield protegge i moduli dai bot. Non sostituisce un web application firewall né una protezione DDoS.

Configurare la protezione dei moduli

Pagine correlate

Pronto a eliminare i CAPTCHA?

Inizi a proteggere i suoi moduli — in modo invisibile. Nessuna carta di credito richiesta.