Premessa: cosa è cambiato nel 2026
Dal 2018 il GDPR è operativo, ma le sanzioni sono aumentate significativamente. Nel 2025 il Garante italiano ha emesso sanzioni per oltre 48 milioni di euro, con particolare attenzione ai siti web che trattano dati senza base giuridica adeguata. Per le agenzie web questo significa una cosa: la compliance GDPR non è più opzionale, è un requisito contrattuale e tecnico.
Questa checklist copre gli aspetti puramente tecnici dell’implementazione GDPR su WordPress. Non sostituisce una consulenza legale, ma fornisce le linee guida operative per mettere in sicurezza i siti dei clienti.
Database e gestione dati personali
Il database WordPress contiene dati personali in diverse tabelle: wp_users, wp_comments, wp_usermeta, oltre a eventuali tabelle custom di plugin. La prima regola è sapere dove sono i dati e quanto tempo devono essere conservati.
Audit iniziale del database
- Eseguire una query per identificare tutti i campi contenenti email, IP, nomi:
SHOW TABLES; DESCRIBE wp_users; - Mappare i plugin che salvano dati personali: form di contatto, WooCommerce, membership, CRM integrati
- Verificare log di accesso e file temporanei in wp-content/uploads
- Controllare revisioni dei post che potrebbero contenere dati sensibili nelle bozze
Implementazione cancellazione automatica
WordPress include funzioni native per l’esportazione e cancellazione dati (Tools → Export Personal Data / Erase Personal Data), ma molti plugin non si integrano correttamente.
- Verificare che i plugin principali implementino gli hook
wp_privacy_personal_data_exportersewp_privacy_personal_data_erasers - Configurare la cancellazione automatica dei commenti spam dopo 30 giorni (Akismet lo fa nativamente)
- Impostare la retention dei log del server a massimo 12 mesi, 6 mesi consigliati
- Per WooCommerce: attivare le impostazioni di cancellazione automatica in WooCommerce → Settings → Privacy
Pseudonimizzazione e minimizzazione
Dove possibile, ridurre i dati raccolti. Esempi pratici:
- Disabilitare la raccolta IP nei form di contatto (Contact Form 7, Gravity Forms hanno l’opzione)
- Non salvare indirizzi completi se serve solo la città/regione per statistiche
- Usare ID anonimi invece di email nei parametri URL per tracking custom
- Disabilitare gli avatar Gravatar se non strettamente necessari (espongono hash email)
Cookie e tracciamento: implementazione tecnica
Il cookie banner non basta. Serve bloccare preventivamente tutti gli script di tracciamento fino al consenso esplicito. Le multe del 2025 sono arrivate proprio per questo: Google Analytics caricato prima del consenso.
Cookie banner: requisiti tecnici 2026
- Blocco preventivo: nessun cookie non essenziale prima del consenso. Usare soluzioni come Complianz, CookieYes o Iubenda che offrano blocco script automatico
- Granularità: minimo 3 categorie (necessari, statistici, marketing). Meglio 4 con i “preferenze”
- Prova del consenso: log dei consensi salvati per almeno 12 mesi. Complianz Pro e Iubenda lo fanno automaticamente
- Facilità di revoca: link in footer sempre visibile per modificare le preferenze
- Cookie-less tracking: considerare alternative come Plausible o Matomo in modalità cookie-free per statistiche base senza consenso
Google Analytics 4 e GDPR
GA4 è ancora considerato problematico dal Garante. Le alternative:
- Anonimizzazione IP attivata (è default in GA4 ma va verificato)
- Accordo DPA firmato con Google (disponibile in Google Analytics → Admin → Account Settings → Data Processing Amendment)
- Server-side tracking con Google Tag Manager su server EU
- Alternativa: Matomo on-premise o Plausible (entrambi GDPR-friendly by design)
Script da bloccare obbligatoriamente
<!-- Esempio blocco script con data-category -->
<script type="text/plain" data-category="marketing" data-service="Facebook Pixel">
!function(f,b,e,v,n,t,s){...}
</script>
Lista script comuni da bloccare fino a consenso:
- Google Analytics, Google Ads, Google Tag Manager
- Facebook Pixel, LinkedIn Insight Tag
- Hotjar, Crazy Egg, Microsoft Clarity
- TikTok Pixel, Pinterest Tag
- Font esterni (Google Fonts va caricato localmente o con consenso)
Hosting, backup e data breach
Il titolare del trattamento (il cliente) risponde anche per le violazioni del responsabile (hosting, SaaS). Serve una catena di responsabilità chiara.
Requisiti hosting GDPR-compliant
- Ubicazione server: preferibilmente UE. Se extra-UE serve clausola contrattuale standard (SCC)
- DPA firmato: Data Processing Agreement obbligatorio. Provider come SiteGround, Kinsta, Cloudways lo offrono di default
- Certificazioni: ISO 27001, SOC 2 Type II sono un plus
- Crittografia: SSL/TLS obbligatorio (ovvio), crittografia at-rest del database consigliata
- Procedure data breach: l’hoster deve notificare entro 24 ore. Verificare i termini contrattuali
Backup e conservazione
I backup contengono dati personali e vanno trattati con le stesse garanzie del database live.
- Backup crittografati (UpdraftPlus Plus, BackWPup Pro supportano crittografia AES-256)
- Storage in location UE o con DPA (Dropbox Business, Google Workspace con DPA firmato)
- Retention policy: non conservare backup oltre il necessario. 30-60 giorni sono sufficienti per la maggior parte dei casi
- Procedure di cancellazione: quando un cliente chiede la cancellazione dati, va rimosso anche dai backup o annotato per esclusione in caso di restore
Piano di data breach
Obbligatorio per legge. Template minimo:
- Identificazione violazione (monitoring con plugin come Wordfence, Sucuri)
- Notifica al cliente (titolare del trattamento) entro 24 ore
- Il cliente valuta se notificare al Garante (entro 72 ore) e agli interessati
- Documentazione incidente in registro trattamenti
- Remediation e verifica
Contratti e documentazione tecnica
La parte legale si basa su quella tecnica. Serve documentazione precisa.
DPA con i clienti
L’agenzia è responsabile del trattamento, il cliente è titolare. Il contratto DPA (Data Processing Agreement) deve specificare:
- Tipologia di dati trattati (utenti, ordini, form, ecc.)
- Finalità del trattamento (manutenzione sito, backup, supporto)
- Misure di sicurezza implementate (vedi sezioni precedenti)
- Sub-responsabili autorizzati (hosting, CDN, email service)
- Durata e procedure post-contratto
Template DPA disponibili da Iubenda (a pagamento) o generabili con assistenza legale.
Registro dei trattamenti
Obbligatorio per aziende oltre 250 dipendenti o trattamenti a rischio, ma consigliato sempre. Per ogni sito cliente documentare:
- Finalità trattamento dati
- Categorie interessati (visitatori, clienti, admin)
- Categorie dati (anagrafici, fatturazione, navigazione)
- Destinatari dati (hosting, analytics, email marketing)
- Trasferimenti extra-UE (se presenti)
- Tempi conservazione
- Misure sicurezza
Tool: fogli Google condivisi, Iubenda Registry, o sezioni dedicate in AgencyPilot per centralizzare la documentazione cliente.
Privacy policy e informative
Devono essere specifiche per il sito, non template generici. Includere:
- Base giuridica per ogni trattamento (consenso, contratto, legittimo interesse)
- Elenco preciso di plugin/servizi che trattano dati (Akismet, WooCommerce, Mailchimp, ecc.)
- Procedure per esercitare diritti (accesso, cancellazione, portabilità)
- Dati titolare e DPO se presente
Generator: Iubenda, Termly, o consulenza legale. Mai copiare da altri siti.
Plugin e servizi terzi
Ogni plugin è un potenziale punto di non-compliance. Valutazione per ogni nuovo plugin:
- Dove salva i dati? (database locale, API esterne)
- Trasferisce dati a terzi? (controllare network tab del browser)
- Ha un DPA disponibile?
- Supporta export/cancellazione WordPress nativa?
- È mantenuto attivamente? (aggiornamenti ultimi 6 mesi)
Plugin ad alto rischio
Particolare attenzione a:
- Form builder: Contact Form 7, Gravity Forms, WPForms → verificare dove salvano submission e per quanto tempo
- Analytics: MonsterInsights, ExactMetrics → configurare anonimizzazione IP
- Chat widget: Tawk.to, Tidio, Drift → verificare ubicazione server e DPA
- Social feed: Instagram Feed, Facebook Feed → controllare cookie di terze parti
- Page builder: Elementor, Divi → alcuni widget (mappe, video) caricano risorse esterne con tracking
Monitoring e manutenzione continua
La compliance GDPR non è un’implementazione one-shot. Serve monitoring continuo.
Checklist mensile
- Verificare scadenza certificati SSL
- Controllare log errori per data leak accidentali
- Verificare che il cookie banner funzioni (test A/B, nuovi browser)
- Aggiornare plugin e verificare changelog per modifiche privacy-related
- Controllare nuovi script caricati (può capitare con aggiornamenti temi/plugin)
Checklist trimestrale
- Audit completo cookie con strumenti come CookieMetrix o Cookie Scanner
- Verifica DPA con fornitori (eventuali modifiche contrattuali)
- Test procedure data breach (simulazione)
- Revisione Privacy Policy se aggiunti nuovi servizi
- Backup check: verificare effettiva cifratura e accessibilità
Tool di monitoring
- Cookie scanner: CookieMetrix, Cookiebot Scanner (gratuiti per scan singoli)
- Security monitoring: Wordfence, Sucuri, SolidWP (inclusi alert data breach)
- Uptime & SSL: UptimeRobot, StatusCake
- Compliance dashboard: Iubenda offre alert automatici per modifiche normative
Checklist finale implementazione
Riassunto operativo per nuovo sito o audit esistente:
- Database: audit dati personali, implementare export/cancellazione, configurare retention automatica
- Cookie: installare banner con blocco preventivo, configurare categorie, testare blocco script
- Analytics: GA4 anonimizzato + DPA o alternativa cookie-less
- Hosting: verificare DPA firmato, ubicazione server UE, crittografia backup
- Contratti: DPA con cliente, registro trattamenti aggiornato
- Privacy Policy: generare specifica per il sito, linkare in footer
- Plugin: audit sicurezza e privacy di tutti i plugin attivi
- Monitoring: configurare alert security, calendario manutenzione trimestrale
- Documentazione: centralizzare tutta la documentazione (AgencyPilot o sistema interno)
Tempo stimato per implementazione completa su sito medio: 6-8 ore. Su e-commerce complesso: 12-16 ore.
FAQ
Google Fonts viola il GDPR?
Sì, se caricato da server Google senza consenso. Nel 2022 un tribunale tedesco ha multato un sito per questo. Soluzioni: hostare i font localmente con plugin come OMGF (https://wordpress.org/plugins/host-webfonts-local/) o Perfmatters, oppure richiedere consenso prima del caricamento. La soluzione locale è preferibile anche per performance.
Devo chiedere consenso per cookie tecnici essenziali?
No, i cookie strettamente necessari al funzionamento del sito (sessione PHP, carrello e-commerce, preferenze lingua) non richiedono consenso. Ma devono essere veramente essenziali: Google Analytics non lo è, il cookie di sessione WooCommerce sì. Va comunque informato l’utente nella Privacy Policy.
Quanto devo conservare i log del server?
Non c’è obbligo specifico, ma il Garante raccomanda non oltre 12 mesi per log con IP. Per sicurezza (eventuali indagini su attacchi) 6-12 mesi sono ragionevoli. Oltre diventa difficile giustificare la conservazione. Configurare log rotation sul server: su cPanel in Raw Access, su server gestiti chiedere all’hosting.
Serve davvero un DPO (Data Protection Officer)?
Per le agenzie web generalmente no, a meno di trattamenti su larga scala di dati sensibili. Obbligatorio per PA, aziende che trattano dati sanitari/giudiziari su larga scala, o monitoraggio sistematico. Un’agenzia tipica non rientra. È però utile avere un referente privacy interno formato, anche se non formalmente DPO.
Posso usare Cloudflare con GDPR?
Sì, Cloudflare offre DPA (Data Processing Addendum) firmabile dal dashboard per account Pro e superiori. Per account Free il DPA è disponibile ma va richiesto. Cloudflare ha server in UE e rispetta GDPR. Attenzione: alcuni servizi Cloudflare (Analytics avanzato) potrebbero richiedere consenso, mentre il CDN e WAF base sono considerabili tecnici/legittimo interesse per sicurezza.