Iubenda logo
Inizia la generazione

Documentazione

Indice dei contenuti

Come risolvere i problemi di Privacy Controls and Cookie Solution con i plugin di cache e le funzioni di ottimizzazione

In alcuni casi, quando il codice JavaScript inline viene ritardato a causa:

  • del caricamento di un JavaScript esterno, che si basa sul JavaScript inline;
  • della minificazione JavaScript attiva, che salva i file localmente;

vengono messe in atto delle esclusioni predefinite.

Questo può succedere in particolare quando una funzione chiamata “JS Optimizations” viene configurata nei plugin di cache. Ad esempio, WP-Rocket, Autoptimize, e simili.

Siccome la nostra soluzione Privacy Controls and Cookie Solution è scritta in JavaScript, se altri plugin provano a ottimizzarla, può capitare che il nostro script smetta di funzionare. Per questo, devi configurare ogni plugin di cache in modo che “ignori” il nostro script “inline”, che contiene la parte che l’utente incolla nel tag head quando installa Privacy Controls and Cookie Solution o utilizza il nostro plugin.

Ad esempio, nel caso in cui le esclusioni predefinite siano presenti, viene mostrato un errore JavaScript:

Come evitare il ritardo dell’esecuzione di JavaScript con le esclusioni predefinite di iubenda?

Plugin WP-Rocket

In questo caso, devi fare quanto segue:

1. Escludi _iub dalle funzioni “combine” e “minification” all’interno delle impostazioni di WP-Rocket. Per farlo, aggiungile nel campo esclusioni, come mostrato qui sotto:

Dal momento che il nostro script ha smesso di funzionare per una precedente JS Optimizations, ora dobbiamo aggiungere nuovamente lo script originale di Privacy Controls and Cookie Solution nel tag head del nostro plugin WordPress:

Attenzione

Se usi WP-Rocket con versione pari o superiore alla 3.13 e hai abilitato la funzione “Delay JavaScript execution“, puoi escludere il nostro plugin nella sezione “One-click exclusions” in questo modo:

exclude plugin one click

2. Aggiungi nuovamente lo script di Privacy Controls and Cookie Solution nel tag head:

<script type="text/javascript">
var _iub = _iub || [];
_iub.csConfiguration = {"enableCcpa":true,"countryDetection":true,"askConsentAtCookiePolicyUpdate":true,"consentOnScroll":false,"consentOnDocument":true,"ccpaAcknowledgeOnDisplay":false,"whitelabel":false,"lang":"en","siteId":1264045,"cookiePolicyId":93663998, "banner":{ "position":"bottom" }};
</script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/ccpa/stub.js"></script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>

3. Assicurati che siano presenti le esclusioni predefinite.

4. Controlla se ci sono errori dalla console JavaScript.

Plugin Autoptimize

Lo stesso problema può presentarsi con il plugin Autoptimize e puoi risolverlo aggiungendo l’attributo data-noptimize allo script inline dii Privacy Controls and Cookie Solution.

Autoptimize riconosce l’attributo dello script, data-noptimize, così lo script non verrà inserito inline o comunque verrà ignorato. Si può inserire Autoptimize nel nostro script inline in questo modo:

<script data-noptimize="true">
var _iub = _iub || [];
_iub.csConfiguration = {"enableCcpa":true,"countryDetection":true,"askConsentAtCookiePolicyUpdate":true,"consentOnScroll":false,"consentOnDocument":true,"ccpaAcknowledgeOnDisplay":false,"whitelabel":false,"lang":"en","siteId":1264045,"cookiePolicyId":93663998, "banner":{ "position":"bottom" }};
</script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/ccpa/stub.js"></script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>

Seguendo questi passaggi, non ci dovrebbero essere errori quando viene ritardata l’esecuzione di JavaScript.

Nota

In genere, puoi prendere in considerazione di escludere da ogni funzionalità della JS Optimizations del tuo plugin di cache anche il nostro file esterno iubenda_cs.js, stub-v2.js e stub.js

Leggi anche