Come ho integrato il banner del consenso cookies in Hugo

07-04-2020 cookie privacy cookie law gdpr banner

La normativa sulla privacy GDPR definisce alcune regole, chiare e precise, che il tuo sito web deve rispettare per essere pienamente conforme, o fully compliant per chi preferisce dirlo in Inglese.

Tra le varie definizioni della normativa vi è quella della presenza obbligatoria del banner informativo che ormai sei abituato a vedere in quasi tutti i siti che visiti, spesso anche particolarmente invadenti e fastidiosi. Il banner ti deve fornire il link alla privacy policy completa del sito, con l’elenco dei cookie e dei servizi di terze parti che utilizza.

Il consenso da parte dell’utente deve essere attivo, cioè deve esplicitamente autorizzare il sito all’utilizzo dei cookie (almeno quelli non tecnici) con un’azione: click sul bottone di consenso, effettuare uno scroll, etc.

Il semplice banner però non basta a rendere sicuro e a norma il tuo sito: è importante fare in modo che i servizi di terze parti e di profilazione restino bloccati finchè l’utente non dia il suo consenso.

Altra cosa importante che ho capito durante le mie ricerche è che: Google Analytics se utilizzato in forma anonimizzata (link alla guida) è considerato un cookie tecnico e non di profilazione.

Inizialmente avevo pensato di integrare questa funzionalità con uno dei servizi a pagamento (Cookiebot o Iubenda), ma poi dopo qualche ricerca su GitHub, ho trovato questa libreria. Il progetto mi è sembrato molto interessante e ho deciso subito di provarlo. Infine ho anche contribuito integrando un paio di modifiche che alcuni utenti avevano proposto nelle issues del repository.

La libreria è molto semplice. Quando un utente visita per la prima volta il sito, gli viene mostrato il banner del consenso. Se l’utente accetta i cookies la libreria, avvia tutti i servizi di terze parti inizialmente bloccati e memorizza nel browser l’avvenuta accettazione. Alla sua prossima visita, se l’utente ha già dato il consenso, il banner non verrà mostrato ed avvierà tutti i servizi presenti sul sito.

Il README della libraria è molto ben fatto e fornisce diversi esempi di configurazione. Per poter funzionare è richiesta jQuery.

Ti riporto un esempio di implementazione. Inserisci nell’head, prima jQuery e poi la libreria:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="lib/it_cookie_law.js"></script>

Una volta fatto questo devi convertire i tag <script>, che fanno riferimento a librerie esterne, nel codice del tuo sito, da così:

<script src="https://example.com/path/to/script.js"></script>

a così:

<script src="#" data-blocked="https://example.com/path/to/script.js"></script>

Puoi personalizzare gli altri parametri direttamente modificando alcune variabili nel file della libreria. È tutto ben documentato e commentato.

Io ho implementato 2 funzionalità in particolare:

  • la possibilità di ricaricare la pagina dopo che l’utente ha dato il consenso
  • la possibilità di dare il consenso solo tramite click su “Accetta”. Di default infatti la libreria ottiene il consenso anche quando l’utente effettua una qualsiasi azione sulla pagina (click o scroll). Se questa feature è abilitata appare anche il bottone “Nega”.
Il testo del banner è personalizzabile

Il testo del banner è personalizzabile (click per ingrandire)

Sei riuscito ad integrare nel tuo sito il banner informativo? Se sei interessato a questo argomento potrei fare qualche altro articolo a tema privacy.

Scrivimi nei commenti :)

Se invece hai bisogno di una consulenza specifica per il tuo sito puoi contattarmi, trovi i miei contatti in homepage.

AP

Autore

Antonio Porcelli

Antonio Porcelli

@progressify


Se non visualizzi il blocco dei commenti è perchè non hai accettato i cookies.
Cancella le preferenze del tuo browser per questo sito, aggiorna la pagina ed accetta i cookies.