Questa guida porta un sito WordPress appena installato con Contact Form 7 da «nessuna protezione» a una configurazione a più livelli. Tutto è stato testato il 7 ottobre 2026 con SilentShield 2.15.14, Contact Form 7 6.2 e WordPress 7.1.2. I livelli descritti qui girano sul suo server; l'API opzionale di SilentShield è trattata nella guida a WordPress.
Un'installazione nuova non protegge ancora nulla

Dopo l'attivazione il plugin è in funzione, ma nessun plugin di moduli è attivato. Lo dice chiaramente il Dashboard: «No form is protected yet» (Nessun modulo è protetto), seguito dai plugin di moduli che ha trovato sul suo sito. Finché un plugin di moduli non è attivato, i suoi moduli non mostrano alcun campo captcha e non viene controllato nulla.
Tutte le impostazioni qui sotto si trovano nel menu SilentShield dell'area di amministrazione di WordPress.
Passo 1: scegliere un metodo captcha

Apra SilentShield → Protection Settings (Impostazioni di protezione). Sono disponibili tre metodi:
- Honeypot (predefinito, invisibile). Un campo esca è posizionato fuori dallo schermo; i visitatori non lo vedono mai, i bot che compilano ogni campo che trovano sì. Un honeypot non è una prova da superare: un bot che legge la pagina e lascia stare l'esca passa.
- Operazione matematica. Il visitatore risolve un piccolo calcolo (addizione, sottrazione o moltiplicazione). Viene mostrata come testo, quindi un bot che pilota un browser reale può leggerla.
- Captcha a immagine. Caratteri distorti che il visitatore deve digitare. Richiede la libreria PHP GD sul server ed è l'opzione che richiede più impegno ai suoi visitatori.
Cominci con l'honeypot se per lei contano soprattutto le conversioni e passi all'operazione matematica o al captcha a immagine quando continua ad arrivare spam. Scelga un modello, adatti l'etichetta se lo desidera e faccia clic su Save.
Passo 2: attivare i moduli

Apra SilentShield → Forms (Moduli). Ogni plugin di moduli ha un interruttore; il badge accanto indica se il plugin è stato rilevato sul suo sito. Attivi Contact Form 7 e il badge passa da «Disabled» a «Fields detected». Questo interruttore salva subito, non c'è alcun pulsante di salvataggio da premere.
Faccia clic su un singolo modulo sotto l'integrazione se ha bisogno di impostazioni proprie. Le impostazioni valgono su tre livelli (globale, integrazione, singolo modulo) e il livello inferiore prevale su quello superiore.
Guide passo passo per i singoli plugin per moduli: Avada Forms, Elementor Forms, WPForms e il checkout di WooCommerce.
Passo 3: aggiungere i livelli di rilevamento

Più in basso in Protection Settings ogni livello ha un proprio interruttore. Questo è lo stato dopo un'installazione nuova:
- Rilevamento JavaScript (attivo). Blocca gli invii di client che non hanno eseguito JavaScript, per esempio uno script che invia i dati direttamente all'indirizzo del suo modulo.
- Rilevamento del browser (attivo). Verifica che la richiesta contenga uno user agent valido.
- Protezione timer (disattivata). Respinge un invio che arriva prima di un tempo minimo dal caricamento della pagina; il minimo predefinito è di 500 millisecondi.
- Protezione da invii multipli (disattivata). Impedisce che la stessa sessione captcha venga inviata più di una volta.
- Gibberish Detection (attiva, «Monitor only»). Segnala testi composti da caratteri casuali, come «dQgJlwEhfxaLZSKYLy». In modalità monitor registra ciò che avrebbe respinto e non blocca nulla. Osservi i risultati per un po' e poi imposti la modalità su «Block».
Un invio viene respinto non appena un livello attivo lo segnala.
Passo 4: rate limit e regole sui contenuti contro lo spam ostinato

Apra SilentShield → Advanced Settings (Impostazioni avanzate). Qui tutto è disattivato per impostazione predefinita:
- Rate limiting basato sull'IP. Dopo 3 tentativi falliti in 5 minuti un indirizzo viene bloccato per 1 ora (i valori predefiniti, tutti modificabili). Gli indirizzi vengono salvati come hash con salt.
- Regole sui contenuti. Un limite al numero di link in un messaggio, un blocco dei link BBCode (
[url=…]) e una blacklist di parole. La blacklist è l'elenco di WordPress in «Settings → Discussion» («Disallowed Comment Keys»), quindi modificarla in uno o nell'altro punto ha lo stesso effetto. - Blacklist di IP. Indirizzi che vuole sempre bloccare, uno per riga.
Passo 5: testare come visitatore, non come amministratore

Gli amministratori e gli utenti connessi saltano per impostazione predefinita tutti i controlli (la whitelist nella stessa pagina). Un test mentre è connesso quindi non dimostra nulla. Apra invece il modulo in una finestra privata del browser:
- Invii con una risposta captcha errata. L'invio deve essere bloccato; Contact Form 7 mostra il motivo nella sua casella di risposta, qui «Captcha check».
- Ricarichi il modulo e invii con la risposta corretta. Deve passare.
Quale impostazione ferma quale tipo di spam
- Script che inviano direttamente, senza browser: Rilevamento JavaScript e Rilevamento del browser.
- Bot che compilano ogni campo: l'honeypot.
- Script che compilano e inviano un modulo in pochi millisecondi: Protezione timer.
- Testo di riempimento fatto di caratteri casuali: Gibberish Detection.
- Spam di link: limite di URL, blocco BBCode e blacklist di parole.
- Lo stesso indirizzo che riprova all'infinito: rate limiting basato sull'IP.
Limiti
- Nessuna impostazione ferma lo spam digitato a mano da una persona.
- I bot che pilotano un browser reale possono superare i controlli lato client. Le regole sui contenuti e Gibberish Detection guardano invece ciò che è stato digitato; per questo caso il livello adatto è l'analisi del comportamento.
- Senza JavaScript nel browser, un invio a un modulo protetto viene respinto.