Iubenda logo
Inizia la generazione

Documentazione

Indice dei contenuti

Cache, performance e altre ottimizzazioni di Privacy Controls and Cookie Solution di iubenda (legacy)

Questo articolo si riferisce alla versione legacy di Privacy Controls and Cookie Solution. Per le implementazioni precedenti l’11 marzo 2019 consigliamo di aggiornare Privacy Controls and Cookie Solution copiando il nuovo codice che trovi in Dashboard > [Il tuo sito/app] > Privacy Controls and Cookie Solution > Integra, così da evitare possibili conflitti CSS e accedere a tutte le funzionalità dell’ultima versione. Se hai già integrato il codice della nuova versione, qui trovi la guida aggiornata.

Se vuoi utilizzare una specifica versione di Privacy Controls and Cookie Solution di iubenda, è sufficiente inserire il seguente link al posto di quello normalmente richiamato:

https://cdn.iubenda.com/cookie_solution/versions/0.11.36.4/iubenda_cs.js

Il valore “0.11.36.4” va sostituito col numero relativo alla versione da utilizzare. Le versioni disponibili sono quelle rilasciate nei canali Current e Stable a partire dalla versione 0.11.36.4 in poi (consulta il changelog per una lista di tutte le versioni rilasciate).

A differenza del link di base alla nostra risorsa, il link sopra menzionato ha una configurazione di cache molto estesa, in quanto punta ad una versione specifica che non necessiterà di modifiche nel tempo.

Più in dettaglio, applicando la modifica sopra descritta al codice di Privacy Controls and Cookie Solution, la risorsa iubenda_cs.js a sua volta caricherà un nuovo file contenente la versione desiderata. Si tratta di una best practice – adottata anche da Google per il caricamento di Google Analytics – dettata dall’esigenza di garantire il miglior compromesso fra possibilità di aggiornamento di Privacy Controls and Cookie Solution e velocità di caricamento/caching. Il file iubenda_cs.js è infatti un file con cache breve di pochi byte, che a sua volta richiama la vera e propria Privacy Controls and Cookie Solution, il cui file ha invece una cache molto estesa.

In alternativa, è possibile bypassare iubenda_cs.js e caricare direttamente il file con l’hash della versione. In questo modo è possibile:

  • Eliminare un passaggio intermedio, con un guadagno – a dire il vero molto ridotto – in termini di velocità di caricamento (alcuni millesimi di secondo)
  • Accedere ad una versione del file con una cache molto lunga

Caricamento diretto di Privacy Controls and Cookie Solution

Se l’analisi effettuata da Google PageSpeed ti ha mostrato questo suggerimento, allora sei nel posto giusto per risolvere il tuo problema:

Sfrutta il caching del browser: Se viene impostata una data di scadenza o un’età massima nelle intestazioni HTTP per le risorse statiche, il browser carica le risorse precedentemente scaricate dal disco locale invece che dalla rete.

Per bypassare iubenda_cs.js, per prima cosa è necessario recuperare l’hash della versione desiderata: analogamente a quanto visto prima, nel seguente URL sostituisci “0.13.20” con la versione di Privacy Controls and Cookie Solution che desideri attivare e visita la relativa pagina:

https://cdn.iubenda.com/cookie_solution/versions/iubenda_cs-0.13.20.js

(se desideri attivare l’ultima versione disponibile, visita direttamente questo indirizzo)

Copia il contenuto del parametro e="xyz", che è l’hash della versione. Ad esempio, nel caso della versione “0.13.20” visitando la pagina https://cdn.iubenda.com/cookie_solution/versions/iubenda_cs-0.13.20.js avremo e="79553260f6ee5c2ea30ac8946c4556de".

A questo punto potrai comporre il nuovo URL con l’hash della versione scelta. Per farlo, ti basterà sostituire il link di cui sopra al posto di quello richiamato normalmente nel codice di Privacy Controls and Cookie Solution. Per creare l’URL puoi utilizzare la seguente struttura:

https://cdn.iubenda.com/cookie_solution/iubenda_cs/core-

+

valore del parametro “e

+

.js

Utilizzando l’hash dell’ultima versione, ad esempio, l’URL risultante è questo:

https://cdn.iubenda.com/cookie_solution/iubenda_cs/core-cd40c5caf396e9e6430490ac6bae6c41.js

Nota

Se scegli di bloccare la soluzione Privacy Controls and Cookie Solution di iubenda ad una specifica versione, ti consigliamo di aggiornarla manualmente in modo periodico, così da beneficiare dei nostri continui aggiornamenti.

Inclusione diretta in pagina dell’attivatore

Si ricorda che l’inclusione dell’attivatore all’interno della pagina è un’operazione che può essere effettuata solo se si sta utilizzando la versione safemode della nostra soluzione Privacy Controls and Cookie Solution.

È possibile includere direttamente in pagina (inline) la parte di codice che si occupa dell’attivazione degli script; definiamo questo codice attivatore inline. Tramite l’attivatore inline gli script potranno essere attivati anche nel caso in cui la risorsa principale iubenda_cs.js risulti essere genericamente non disponibile o in errore.

Nota

L’attivatore inline garantisce unicamente l’attivazione degli script, potendo anche assumere il consenso fornito (si veda l’opzione seguente forceSafeActivation); non è in grado di mostrare il banner, la cookie policy e gestire la raccolta del consenso fornito.

Va dunque inteso unicamente come ulteriore misura precauzionale nel caso di errori, e non sostituisce in nessun modo il codice principale di Privacy Controls and Cookie Solution di iubenda (per ulteriori informazioni su come configurare correttamente Privacy Controls and Cookie Solution, consulta questo articolo).

Da notare che l’attivatore inline è in grado di invocare la sola callback onActivationDone, le altre callback saranno invece ignorate.

Sono disponibili 2 ulteriori opzioni di configurazione specifiche per l’attivatore inline:

  • safeTimeout: (millisecondi, default 5000) – Il tempo che l’attivatore inline attende prima di entrare in azione (ed eventualmente prima di attivare gli script; si veda anche l’opzione seguente)
  • forceSafeActivation: (boolean, default false) – Se true gli script vengono attivati indipendentemente dal consenso fornito. Se false l’attivatore inline attiva gli script solo se il consenso è stato fornito (e memorizzato nel cookie di preferenza nel dominio della pagina ospite)

L’attivatore inline è disponibile all’URL https://cdn.iubenda.com/cookie_solution/safemode/safe.js

Importante

Il contenuto di questo file va incluso in pagina dopo le configurazioni iniziali e prima del codice che carica la risorsa iubenda_cs.js

Esempio

<head>
...

<script type="text/javascript">
    var _iub = _iub || [];
  _iub.csConfiguration = {
    cookiePolicyId: XxX,
    siteId: YyY,
    // other config options...
  };
_iub.csConfiguration.safeTimeout = 2000; // Custom option for Safemode
_iub.csConfiguration.forceSafeActivation = false; // Custom option for Safemode
</script>

<script type="text/javascript">
//<![CDATA[
  //copy content from cdn.iubenda.com/cookie_solution/safemode/safe.js and paste here.
//]]>
</script>

<script type="text/javascript" src="//cdn.iubenda.com/cookie_solution/safemode/iubenda_cs.js" charset="UTF-8" async></script>

...
</head>

Nota

Il codice dell’attivatore è parte integrate di Privacy Controls and Cookie Solution e come tale può essere modificato al fine di introdurre nuove feature, miglioramenti e bugfix.

I rilasci di nuove versioni di Privacy Controls and Cookie Solution di iubenda che comportano anche la modifica dell’attivatore inline sono contrassegnati in changelog con il tag [safe.js updated].

Al fine di facilitare il controllo della versione dell’attivatore integrato nella propria pagina, è disponibile la variabile _iub.csSafeActivatorVersion che riporta la versione di iubenda_cs.js dalla quale l’attivatore è stato estratto.

Impostazioni consigliate per l’ottimizzazione delle prestazioni (facoltativo)

  • startOnDomReady (boolean, default false) – Imposta su true. Per ulteriori dettagli, consulta la documentazione. Questa impostazione potrebbe non funzionare su tutti i siti web, per questo andrebbe testata sito per sito.
  • inlineDelay (intero, millisecondi, default 800 (safemode 500)) – Riducendo questo valore si riduce il tempo totale di attivazione.

Cose importanti da sapere:

  • quando startOnDomReady è impostato su true, la riattivazione potrebbe causare alcuni problemi poiché potrebbe verificarsi l’attivazione di snippet mentre alcune risorse sono ancora in fase di caricamento.
  • inlineDelay funziona solo con il blocco “-inline”, quindi si limita esclusivamente a quel tipo di snippet. Il suo valore predefinito è 1000, ma si consiglia di non impostare un valore inferiore a 300. Si consiglia vivamente di controllare l’attivazione dello snippet mostrato sulla pagina se questa impostazione viene modificata.

Leggi anche