Come aggiungere un form di contatto a WordPress

I migliori plugin per form di contatto

Aggiungere un form di contatto a WordPress è una delle prime operazioni che ogni webmaster affronta. La scelta del plugin giusto dipende dalle funzionalità necessarie, dal budget e dalla competenza tecnica. I plugin si dividono in due categorie: gratuiti con funzionalità base e premium con automazioni avanzate.

Contact Form 7

Il plugin più vecchio e installato (oltre 5 milioni di installazioni attive). È gratuito, leggero e flessibile. La configurazione avviene tramite shortcode e tag di formattazione proprietari. L’interfaccia è spartana: non c’è un vero drag-and-drop. Per aggiungere campi si scrive manualmente [text* your-name placeholder “Nome”]. Contact Form 7 è ideale per sviluppatori che vogliono controllare ogni aspetto del form. I punti deboli sono l’assenza di spam protection integrata e la mancanza di salvataggio delle submission nel database senza plugin aggiuntivi come Flamingo.

WPForms

WPForms è il plugin a pagamento più popolare, con una versione Lite gratuita molto capace. L’interfaccia a drag-and-drop è intuitiva: si trascinano i campi dal pannello di sinistra e si rilasciano nel canvas. La versione Pro (199,50 dollari/anno) include conditional logic, pagination, multi-step form, file upload, geolocation, e integrazione con pagamenti (Stripe, PayPal). WPForms Lite permette form base con notifica via email e anti-spam honeypot. È la scelta consigliata per principianti e siti business.

Gravity Forms

Gravity Forms è lo standard professionale da oltre 10 anni. Costa 59 dollari/anno per la licenza Basic, ma le funzionalità avanzate richiedono piani superiori (Pro a 159 dollari, Elite a 319 dollari). Offre conditional logic avanzata, multi-page form, quiz, sondaggi, calcoli dinamici, webhook e integrazione con CRM (Salesforce, HubSpot, ActiveCampaign). Il salvatggio delle submission è nativo, con vista tabellare e esportazione in CSV. La qualità del codice è eccellente e il supporto è reattivo. Gravity Forms è la scelta per agenzie e siti enterprise.

Formidable Forms

Formidable Forms si distingue per la capacità di creare applicazioni: front-end posting, tabelle dinamiche, calendari, directory e calcolatrici. I form possono visualizzare dati inseriti in altri form, creando relazioni complesse. Il prezzo parte da 49 dollari/anno. È ideale quando serve molto più di un semplice form di contatto: ad esempio un portale con candidature, prenotazioni o richieste di preventivo.

Ninja Forms

Ninja Forms offre un approccio modulare: il plugin base è gratuito, le estensioni si acquistano singolarmente o con abbonamento (da 99 dollari/anno). L’interfaccia è pulita e il drag-and-drop funziona bene. Le estensioni includono conditional logic, multi-step, file upload, CRM integration e Stripe. Buona scelta per chi vuole pagare solo le funzionalità che usa.

Creazione del form passo dopo passo

Indipendentemente dal plugin scelto, il processo di creazione segue una struttura comune. Prendiamo WPForms come esempio per la guida.

Aprite la dashboard di WordPress, andate su WPForms > Aggiungi Nuovo. Assegnate un nome al form (es. “Contatti”). La schermata di editing mostra un canvas vuoto a sinistra e i campi disponibili a destra. Trascinate i campi standard: Nome (testo su riga singola), Email (campo email), Oggetto (testo), Messaggio (textarea).

Configurate ogni campo cliccandoci sopra. Impostate i placeholder, le etichette e i messaggi di errore. Per l’email, attivate la validazione del formato. Per il messaggio, impostate un limite di caratteri (es. 1000). Aggiungete un campo checkbox per il consenso privacy (obbligatorio GDPR). Infine, trascinate il bottone Submit dal pannello.

Andate su Impostazioni > Notifiche. Qui configurate l’indirizzo email a cui inviare i dati del form. WPForms compila automaticamente l’email dell’amministratore. Potete aggiungere più destinatari separati da virgola. Impostate l’oggetto dell’email e il formato (HTML o testo). La sezione Conferme permette di reindirizzare l’utente a una pagina di ringraziamento o mostrare un messaggio dopo l’invio. Salvate e pubblicate il form.

Per inserire il form in una pagina, aggiungete il blocco WPForms nell’editor Gutenberg, selezionate il form dal menu a tendina. In Elementor, trovate il widget WPForms. In un tema classico, usate lo shortcode [wpforms id=”123″].

Personalizzazione dei campi e dello stile

Un form ben progettato aumenta il tasso di conversione. I campi devono essere pochi e mirati: studi dimostrano che form con 3-4 campi convertono fino al 25% in più di form con 7-8 campi.

Per lo stile, la maggior parte dei plugin offre un’impostazione per ereditare lo stile del tema. In WPForms, attivate “Usa stili del tema” per uniformità. Per personalizzazioni avanzate, WPForms Pro include un generatore CSS visivo o potete aggiungere CSS personalizzati nelle impostazioni del form. Per Gravity Forms, usate gli hook gform_field_input e il foglio di stile del plugin. Per Contact Form 7, aggiungete classi CSS ai tag del form: [text* your-name class:form-control].

I form multi-colonna (nome e email affiancati) richiedono layout CSS flessibili. WPForms e Gravity Forms lo supportano nativamente con layout a griglia. Per Contact Form 7, usate un wrapper con display:flex e flex-wrap:wrap.

Protezione antispam

Lo spam è il problema più frequente dei form di contatto. Esistono più livelli di difesa, da usare in combinazione.

La protezione honeypot è la più efficace e invisibile: un campo nascosto che solo i bot compilano. Se il campo viene riempito, la submission viene scartata. WPForms e Gravity Forms lo includono nativamente. Per Contact Form 7, attivatelo dal pannello di configurazione.

Il CAPTCHA (reCAPTCHA v3 di Google o Cloudflare Turnstile) è la seconda linea di difesa. reCAPTCHA v3 funziona in background e assegna uno score (da 0 a 1) a ogni visita. Impostate la soglia di accettazione a 0.5 (WPForms) o gestite con logica personalizzata. Cloudflare Turnstile è un’alternativa privacy-friendly che non raccoglie dati utente. Entrambi sono gratuiti.

Akismet, il plugin antispam di Automattic, può filtrare le submission dei form. Si integra con Contact Form 7 e WPForms. Richiede una chiave API (gratuita per siti personali, a pagamento per siti commerciali). Una combinazione di honeypot + CAPTCHA + Akismet blocca il 99,9% dello spam.

Configurazione della consegna email (SMTP)

Il problema più comune dopo l’installazione di un form di contatto è che le email non arrivano. WordPress usa la funzione mail() di PHP, spesso bloccata dai server di destinazione o filtrata come spam. La soluzione è configurare un SMTP autenticato.

Plugin consigliati: WP Mail SMTP (gratuito con upgrade Pro), Post SMTP Mailer/Email Log, Easy WP SMTP. WP Mail SMTP è il più diffuso: andate su Impostazioni > WP Mail SMTP, selezionate il provider (SendLayer, SMTP.com, Brevo, Mailgun, Gmail, Outlook…), inserite le credenziali e fate un test di invio. Per Gmail, create una password per l’applicazione; per Mailgun, seguite la guida di configurazione.

Se non volete un servizio SMTP esterno, usate un plugin che logga tutte le email in uscita (Post SMTP). Il log mostra se l’email è stata consegnata o rifiutata, con il motivo. In alternativa, il servizio email transazionale (SendGrid, Amazon SES, Brevo) gestisce grandi volumi con deliverabilità elevata. Il costo è irrisorio (frazioni di centesimo per email).

GDPR compliance per i form

I form di contatto raccolgono dati personali (nome, email). Il GDPR impone obblighi precisi. Ogni form deve includere una checkbox esplicita di consenso al trattamento dati, collegata alla privacy policy. In WPForms, attivate “GDPR Enhancements” nelle impostazioni del form per abilitare il campo consenso. In Gravity Forms, aggiungete un campo HTML con il testo della policy e una checkbox obbligatoria.

I plugin moderni includono strumenti per la gestione dei dati: WPForms permette di esportare o cancellare le submission di un utente su richiesta (diritto all’oblio). Gravity Forms ha funzionalità simili. Per Contact Form 7 (con Flamingo), esportate le voci dal database o cancellatele manualmente. Assicuratevi che il periodo di conservazione dei dati sia dichiarato nella privacy policy e che il form non raccolga dati non necessari (minimizzazione).

Funzionalità avanzate

Una volta padroneggiati i form base, potete espandere le funzionalità. La conditional logic mostra o nasconde campi in base alle risposte precedenti: ad esempio “Se hai selezionato ‘Richiesta di supporto’, mostra il campo ‘Numero ordine'”. WPForms Pro, Gravity Forms e Formidable gestiscono condizioni complesse con regole AND/OR e campi multipli.

I form multi-pagina suddividono form lunghi in step (es. richiesta di preventivo con dettagli progetto, dati contatto, conferma). Gravity Forms e WPForms Pro includono pagination nativa. Le integrazioni con servizi di pagamento (Stripe, PayPal) permettono di raccogliere pagamenti direttamente dal form: utilissimo per iscrizioni a eventi, donazioni o depositi cauzionali. Stripe è integrato nativamente in WPForms Pro.

Per l’archiviazione, tutti i plugin premium salvano le submission nel database di WordPress. In Gravity Forms vedete una vista tabellare con filtri e ricerca. In WPForms Lite, le submission non vengono salvate (solo notifica via email). La conservazione locale è utile per audit trail, ma attenti allo spazio: un form che riceve 1000 submission al giorno può occupare decine di MB al mese. Impostate una pulizia automatica delle submission dopo 30-90 giorni.

Conclusioni

Il form di contatto perfetto bilancia semplicità, affidabilità e conformità. Per un blog o sito personale, Contact Form 7 + SMTP + Flamingo è sufficiente e gratuito. Per un sito business o un e-commerce, WPForms Pro o Gravity Forms offrono strumenti che fanno risparmiare ore di lavoro. In ogni caso, la priorità assoluta è la configurazione SMTP: senza email funzionanti, il form è inutile. Aggiungete sempre protezione antispam (honeypot + CAPTCHA) e rispettate il GDPR con checkbox di consenso esplicito. Con queste accortezze, il vostro form di contatto sarà uno strumento affidabile per la comunicazione con i visitatori.

Lascia una risposta