Skip to content

DB Cookie Manager

v2.0.1

DB Cookie Manager

Gestione completa dei cookie per WordPress. Scansione automatica, banner GDPR con blocco preventivo, generatore Cookie Policy e registro consensi. Conforme alle linee guida del Garante Privacy italiano.

Versione: 2.0.1 · Autore: Davide Bertolino · Licenza: GPL v2 · WordPress 5.9+ · PHP 7.4+

Un solo plugin per scansionare il sito alla ricerca di cookie, bloccare gli script prima del consenso, mostrare un banner conforme al GDPR, generare la Cookie Policy e registrare i consensi. Nessuna dipendenza esterna. Nessun servizio cloud. Nessun abbonamento.

Scarica, installa, configura. Niente di più, niente di meno.


✨ Caratteristiche principali

🔍 Scansione automatica

Un click. Il plugin analizza tutte le pagine del sito — una alla volta, senza timeout — e rileva i cookie impostati via HTTP headers e quelli iniettati da script di terze parti.

  • Scansione AJAX asincrona con barra di progresso in tempo reale
  • Database di 50+ cookie noti con classificazione automatica (Google Analytics, Facebook Pixel, Hotjar, YouTube, HubSpot, LinkedIn, TikTok, Cloudflare, Stripe, WooCommerce)
  • Cookie WordPress core (autenticazione, preferenze admin) iniettati automaticamente nei risultati
  • Rilevamento Google Fonts come servizio esterno (anche su hosting con loopback bloccato)
  • Riclassificazione manuale di qualsiasi cookie dalla tab Risultati

🍪 Banner GDPR

Il banner che appare ai visitatori. Tre bottoni: Accetta tutto, Solo necessari, Personalizza — esattamente come chiede il Garante italiano dal giugno 2021.

  • Tre layout: barra (piena larghezza), card (floating), fullscreen (modale)
  • Tema chiaro e scuro con 4 colori personalizzabili e anteprima live nell’admin
  • Pannello “Personalizza” con toggle per categoria e lista cookie espandibile per ciascuna
  • Icona 🍪 sempre visibile per riaprire le preferenze in qualsiasi momento
  • Tutti i testi editabili dall’admin, nessuna stringa hardcoded
  • CSS custom opzionale per adattamenti specifici

🛡️ Blocco preventivo script

Finché l’utente non dà il consenso, gli script di analisi e marketing non vengono eseguiti. Google Analytics non parte. Facebook Pixel non traccia. YouTube non carica. Automatico, senza configurazione.

  • Due meccanismi: filtro script_loader_tag per script enqueued + output buffering per script inline/hardcoded
  • Attivazione dinamica senza ricaricare la pagina quando l’utente accetta
  • Placeholder per iframe bloccati (YouTube, Vimeo, Google Maps) con bottone “Accetta e carica”
  • Pattern noti preconfigurati per 30+ servizi

🌍 Multilingua integrato

Sei lingue supportate senza plugin di traduzione esterni. Il banner rileva automaticamente la lingua del browser e mostra i testi nella lingua corrispondente.

  • Italiano, English, Français, Deutsch, Español, Português
  • Testi predefiniti per ogni lingua, tutti personalizzabili
  • Editor con tab per lingua nel pannello admin
  • Fallback configurabile (default: italiano)

📋 Generatore Cookie Policy

Genera automaticamente il testo completo della Cookie Policy basandosi sui cookie effettivamente rilevati dalla scansione.

  • Testo in italiano conforme al GDPR, con riferimenti a D.Lgs. 196/2003 e Garante Privacy
  • Tabelle cookie per categoria con nome, fornitore, finalità e durata
  • Sezione Google Fonts e servizi esterni
  • Link ai principali browser per la gestione dei cookie
  • Bottone “Copia HTML” per incollare nella pagina dedicata

📊 Registro consensi

Il GDPR (art. 7, comma 1) richiede di dimostrare che il consenso è stato raccolto in modo valido. Il registro fa esattamente questo.

  • Hash anonimizzato dell’IP (SHA-256 con salt di WordPress — irreversibile)
  • Data/ora, categorie accettate/rifiutate, tipo di consenso, browser
  • Statistiche in tempo reale: accetta tutto, solo necessari, personalizzato
  • Filtri per tipo e periodo, tabella paginata (25 per pagina)
  • Export CSV con separatore ; e BOM UTF-8 per Excel
  • Pulizia automatica configurabile tramite WP Cron (default: 12 mesi)

♿ Accessibilità

Non “il plugin è accessibile”. Ecco cosa è implementato:

  • role="dialog" e aria-modal="true" sul pannello Personalizza
  • aria-label su tutti i controlli interattivi
  • Focus trap nel pannello dettagli — Tab e Shift+Tab ciclano all’interno del modale
  • Escape chiude il pannello (o rifiuta dal banner principale)
  • Focus restituito al bottone trigger alla chiusura
  • :focus-visible su tutti gli elementi interattivi
  • @media (prefers-reduced-motion: reduce) — tutte le animazioni disabilitate

💰 Quanto costa?

FunzionalitàPrezzo
Scansione automatica (50+ cookie noti)Gratis
Banner GDPR (3 layout, tema chiaro/scuro)Gratis
Blocco preventivo script (30+ servizi)Gratis
Multilingua (6 lingue)Gratis
Generatore Cookie PolicyGratis
Registro consensi + export CSVGratis
Accessibilità WCAGGratis
Aggiornamenti futuriGratis
SupportoCommunity (GitHub)

Nessun costo nascosto. Nessun tier “Pro”. Nessun limite di utilizzo.


🚀 Installazione

  1. Scarica il file ZIP da questa pagina o da GitHub Releases
  2. In WordPress vai in Plugin → Aggiungi nuovo → Carica plugin
  3. Seleziona il file ZIP, clicca Installa ora, poi Attiva
  4. Vai in Strumenti → Cookie Manager

Primo utilizzo

  1. Scansione — Clicca “Avvia scansione”. Il plugin analizza le pagine una alla volta.
  2. Risultati — Verifica i cookie trovati. Riclassifica quelli non riconosciuti.
  3. Impostazioni — Scegli layout, colori, testi e lingue del banner.
  4. Genera Policy — Copia l’HTML e incollalo nella pagina Cookie Policy.
  5. Verifica — Apri il sito in navigazione privata. Il banner appare. Funziona.

📁 Struttura cartelle

db-cookie-manager/
├── db-cookie-manager.php
├── README.md
├── readme.txt
├── LICENSE
├── assets/
│   ├── css/banner.css         # Stili banner frontend (~4KB)
│   ├── js/banner.js           # Logica frontend (~8KB)
│   └── img/icon.svg           # Icona plugin
└── inc/
    ├── class-admin.php            # Pagina admin (tab, form, risultati)
    ├── class-banner.php           # Rendering e asset banner
    ├── class-blocker.php          # Blocco preventivo script e iframe
    ├── class-consent-log.php      # Registro consensi + export CSV
    ├── class-cookie-database.php  # Database 50+ cookie noti
    ├── class-policy-generator.php # Generatore testo Cookie Policy
    ├── class-scanner.php          # Scanner asincrono AJAX
    └── class-settings.php         # Impostazioni con multilingua

🔧 Pannello di amministrazione

Tutto si gestisce da Strumenti → Cookie Manager:

TabCosa fa
ScansioneAvvia la scansione asincrona con barra di progresso
RisultatiCookie raggruppati per categoria, riclassificabili manualmente
Genera PolicyTesto Cookie Policy pronto da copiare
ImpostazioniAspetto, comportamento, testi, lingue, policy page, registro
RegistroLog consensi con statistiche, filtri, paginazione e CSV

Categorie cookie

CategoriaEsempiConsenso
NecessariSessione WP, CSRF, consenso cookieNon richiesto
PrestazioniCloudflare CDN, cachingRichiesto
AnaliticiGoogle Analytics, Hotjar, MatomoRichiesto
MarketingFacebook Pixel, YouTube, LinkedIn, TikTokRichiesto
Non classificatiCookie sconosciuti (trattati come marketing)Richiesto

🔧 Note tecniche

  • Due tabelle database: wp_dbcm_cookies e wp_dbcm_consent_log, create automaticamente all’attivazione e al primo caricamento
  • Impostazioni in wp_options con prefisso dbcm_
  • Cookie di consenso dbcm_consent: JSON con categorie, timestamp e versione
  • Endpoint AJAX protetti da nonce, capability check e sanitizzazione input
  • IP anonimizzato con SHA-256 + salt di WordPress
  • Compatibile con hosting senza InnoDB e con restrizioni MySQL (timestamp al posto di datetime, niente TEXT DEFAULT)
  • Frontend: ~4KB CSS + ~8KB JS — nessun impatto misurabile sulle performance
  • Evento JavaScript dbcm:consent per integrazioni personalizzate

Integrazione JavaScript

document.addEventListener('dbcm:consent', function(e) {
    console.log(e.detail.type);    // 'all', 'necessary', 'custom'
    console.log(e.detail.consent); // { necessary: true, performance: false, analytics: false, marketing: false }
});

❓ Domande frequenti

Il plugin rallenta il sito?

No. Il banner aggiunge un file CSS (~4KB) e un file JS (~8KB), entrambi caricati dal tuo server. La scansione è asincrona e avviene solo su richiesta dall’admin. Nessun impatto sulla velocità di caricamento.

Funziona con qualsiasi tema?

Sì. Il plugin è standalone e non dipende da nessun tema specifico. Usa wp_footer e wp_enqueue_scripts, compatibili con qualsiasi tema e page builder.

La scansione non trova tutti i cookie. È normale?

Sì. La scansione avviene come visitatore anonimo, quindi i cookie inviati solo agli utenti autenticati (come wordpress_sec_*) non vengono intercettati via HTTP. Il plugin li inietta automaticamente dai cookie WordPress noti. I cookie impostati lato client da script di terze parti vengono rilevati dall’analisi HTML.

Posso usarlo su più siti?

Sì, senza limiti. La licenza è GPL v2.

È compatibile con WPML o Polylang?

Il plugin ha un sistema multilingua integrato indipendente. Non richiede e non dipende da plugin di traduzione esterni.


📋 Changelog

2.0.1

  • Fix layout banner “barra”: disposizione orizzontale su desktop
  • Cookie WordPress core iniettati automaticamente nei risultati scansione
  • Rilevamento Google Fonts alternativo via stili registrati e theme_mod
  • Fix salvataggio impostazioni: checkbox non più azzerati tra sezioni diverse
  • Crediti “Powered by” opzionali nel banner

2.0.0

  • Banner cookie frontend con 3 layout e tema chiaro/scuro
  • Blocco preventivo script con attivazione dinamica
  • Placeholder per iframe bloccati (YouTube, Vimeo, Google Maps)
  • Registro consensi con export CSV e pulizia automatica
  • Sistema multilingua integrato (6 lingue)
  • Categoria “Prestazioni” per cookie CDN/caching
  • Pagina impostazioni completa con anteprima colori live
  • Accessibilità WCAG: ARIA, focus trap, keyboard navigation, reduced motion

1.0.0

  • Scansione asincrona AJAX
  • Database 50+ cookie noti
  • Classificazione automatica
  • Generatore Cookie Policy
  • Report con modifica manuale

📜 Licenza

GPL v2 or later. Il codice è tuo. Usalo, modificalo, redistribuiscilo.


👨‍💻 Autore

Davide Bertolino
🌐 davidebertolino.it
📧 info@davidebertolino.it
GitHub: dadebertolino

🚫 Nessuna registrazione. Nessun reminder. Nessun trucco.

Scarica, installa, usa. Niente account da creare, niente popup che ti chiedono di lasciare la mail, niente banner “passa a Pro”, niente telemetria, niente tracciamento. Il codice è tuo, la licenza è GPL v2, le funzionalità sono tutte incluse. Fine.

Hai suggerimenti o hai trovato un bug? Contattami!

Other Plugins

v1.0.0

DB Event Manager

📅 DB Event Manager Gestione eventi con iscrizione, QR code personale, check-in da smartphone e survey post-evento. Niente Eventbrite, niente…