Documentazione

Cache, performance e altre ottimizzazioni della iubenda Cookie Solution

Se vuoi utilizzare una specifica versione della iubenda Cookie Solution, è sufficiente inserire il seguente link al posto di quello richiamato normalmente nel codice della Cookie Solution: 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 completo per una lista di tutte le versioni della Cookie Solution 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 della 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 della Cookie Solution e velocità di caricamento/cacheing. Il file iubenda_cs.js è infatti un file con cache breve di pochi byte, che a sua volta richiama la vera e propria 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 della Cookie Solution

Se l’analisi effettuata da Google PageSpeed ti ha mostrato un suggerimento come questo, 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 della Cookie Solution che desideri attivare e visita la relativa pagina: https://cdn.iubenda.com/cookie_solution/versions/iubenda_cs-0.13.20.js
    Nota: se desideri attivare l’ultima versione disponibile, visita direttamente questo indirizzo: https://cdn.iubenda.com/cookie_solution/iubenda_cs.js
  • Copia il contenuto del parametro e=”XyZ”, che è appunto 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 della Cookie Solution. Per creare l’URL puoi utilizzare la seguente struttura:

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

+

valore del parametro "e"

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

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

Importante: se scegli di bloccare la iubenda Cookie Solution 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 cookie solution. Per un’introduzione al safemode, visita questo link.

È 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 della iubenda Cookie Solution (per ulteriori informazioni su come configurare correttamente la 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 due 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 a questo URL:

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 della iubenda Cookie Solution e come tale può essere modificato al fine di introdurre nuove feature, miglioramenti e bugfix. I rilasci di nuove versioni della iubenda Cookie Solution 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.

(Facoltativo) Impostazioni consigliate per l’ottimizzazione delle prestazioni

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.