Iubenda logo
Générer dès maintenant

Documentation

Sommaire

Cache, vitesse et autres moyens d’optimiser Privacy Controls and Cookie Solution de iubenda

Voici nos astuces pour optimiser davantage les performances de Privacy Controls and Cookie Solution :

  1. Intégrez directement le contenu des scripts de Privacy Controls and Cookie Solution au code HTML de vos documents, sans passer par un gestionnaire de balises ou un autre script.
  2. Si vous avez activé l’option de compatibilité avec le TCF, vous devriez inclure le code de Privacy Controls and Cookie Solution à l’intérieur de la section body, et non de la section head.
  3. Préchargez les fichiers JavaScript le plus tôt possible dans la section head.
  4. Vous devriez intégrer Privacy Controls and Cookie Solution après au moins une balise texte ou image pour éviter qu’elle n’affecte le délai de chargement du premier élément de contenu (mesure First Contentful Paint). Toutefois, si vous avez activé l’option de compatibilité avec le TCF, gardez à l’esprit que plus il y aura d’éléments à charger avant les scripts de Privacy Controls and Cookie Solution et plus les publicités mettront de temps à s’activer.
  5. Les fichiers safe.js et safe-tcf-v2.js ont un impact sur la vitesse de chargement de la page (score PageSpeed). Dans l’idéal, vous ne devriez les utiliser que si vous pouvez écrire du code côté serveur (voir notre exemple en PHP) :
    • incluez safe.js uniquement lorsque le cookie _iub_cs_xxx existe ;
    • incluez safe-tcf-v2.js uniquement lorsque le cookie euconsent-v2 existe.
  6. Affectez à inlineDelay (nombre entier, millisecondes, 500 par défaut) une valeur inférieure pour réduire la durée totale d’activation. N’oubliez pas que le paramètre inlineDelay fonctionne uniquement avec le bloc “-inline”, si bien que cette valeur n’est réduite que pour les sections de code concernées. Enfin, ne lui affectez pas une valeur inférieure à 300.

Le produit Privacy Controls and Cookie Solution est configuré par défaut de façon à ne pas s’exécuter lorsqu’il détecte des robots d’indexation ou d’autres robots. Par conséquent, son utilisation n’a aucune incidence sur vos efforts de référencement naturel (SEO).

Chargement direct

En complément des suggestions ci-dessus, vous souhaitez peut-être utiliser une version précise de Privacy Controls and Cookie Solution de iubenda. Pour ce faire, dans le code de celui-ci, vous devrez remplacer :

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

par :

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

en indiquant à la place de la valeur « 1.30.3 » le numéro de la version à utiliser. Vous pouvez utiliser les versions 1.29.0 et suivantes. Pour obtenir la liste complète des versions publiées de la Cookie Solution, consultez le journal des modifications. Pour utiliser une version antérieure à la version 1.29.0, passez à la section suivante.

Contrairement au lien par défaut (//cdn.iubenda.com/cs/iubenda_cs.js), le lien //cdn.iubenda.com/cs/versions/iubenda_cs-1.30.3.js s’accompagne d’une configuration du cache très vaste, car il pointe vers une version précise qui ne nécessitera aucune modification à l’avenir.

Si vous décidez d’utiliser une version précise de Privacy Controls and Cookie Solution de iubenda, nous vous conseillons de la mettre à jour manuellement pour continuer à bénéficier de nos mises à jour.

Si vous appliquez la modification décrite ci-dessus à Privacy Controls and Cookie Solution, la ressource JavaScript chargera un nouveau fichier contenant la version souhaitée.

Il s’agit d’une bonne pratique (également adoptée par Google pour le chargement de Google Analytics) qui permet de trouver un compromis entre le besoin de mettre à jour Privacy Controls and Cookie Solution et celui d’optimiser la vitesse de chargement et de mise en cache.

Le fichier JavaScript, qui a en fait un petit cache de quelques octets, appelle à son tour Privacy Controls and Cookie Solution, dont le cache est bien plus important.

Chargement direct d’une version antérieure à la version 1.29.0

Si Google PageSpeed vous a fait une suggestion similaire à la suivante, nous pouvons vous aider à résoudre le problème :

Consultez le cache de votre navigateur : si une date d’expiration ou un âge maximum a été défini pour les ressources statiques dans les en-têtes HTTP, le navigateur chargera les ressources précédemment téléchargées à partir du disque local, et non à partir du réseau.

Pour les versions antérieures à la version 1.29.0 (mais ultérieures à la version 1.3.11), pour contourner iubenda_cs.js, vous devrez récupérer la table de hachage de la version souhaitée. Vous pourrez ainsi :

  • éliminer un passage intermédiaire (ce qui ne vous fera gagner que quelques millisecondes) et
  • accéder à une version du fichier dont le cache sera très long.

Prenons pour exemple la version « 1.23.2 » : en consultant la ressource https://cdn.iubenda.com/cs/versions/iubenda_cs-1.23.2.js, vous obtiendrez e.src="//cdn.iubenda.com/cookie_solution/iubenda_cs/core-03369fd53df171f29d94bfed207eedaa.js", soit l’URL du fichier avec la table de hachage de la version souhaitée.

Dans le code de Privacy Controls and Cookie Solution, vous devrez donc remplacer :

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

par :

<script>
  _iub.csConfigLegacy = !1;
</script>
<script type="text/javascript" src="//cdn.iubenda.com/cookie_solution/iubenda_cs/core-03369fd53df171f29d94bfed207eedaa.js" charset="UTF-8" async></script>

Cadre de transparence et de consentement de l’IAB

Si vous avez activé la compatibilité avec le Cadre de transparence et de consentement (TCF) de l’IAB pour permettre la personnalisation des préférences en matière de suivi publicitaire et souhaitez tirer le meilleur parti du cache, vous devrez copier la valeur de _iub.GVL2 qui figure dans le fichier https://cdn.iubenda.com/cs/iubenda_cs.js et l’ajouter à votre script.

En reprenant l’exemple précédent, vous devrez donc remplacer :

<script src="//cdn.iubenda.com/cs/iubenda_cs.js" async></script>

par :

<script>
  _iub.csConfigLegacy = !1, _iub.GVL2 = _iub.GVL2 || 54;
</script>
<script src="//cdn.iubenda.com/cookie_solution/iubenda_cs/core-03369fd53df171f29d94bfed207eedaa.js" async></script>

Remarque : vous devrez toutefois mettre à jour la valeur de _iub.GVL2 toutes les semaines (afin qu’elle corresponde à la valeur incluse dans https://cdn.iubenda.com/cs/iubenda_cs.js), car la liste globale des partenaires est mise à jour régulièrement.

C’est pourquoi nous déconseillons le chargement direct avec le TCF. À la place, nous vous recommandons d’utiliser l’activateur inline et de ne pas bloquer directement les scripts des partenaires (consulter nos exemples).

Activateur inline – Intégration directe de l’activateur dans la page

Vous avez aussi la possibilité d’intégrer directement à votre page la partie du code relative aux scripts. On parle alors d’activateur inline. L’activateur inline permet de garantir l’activation des scripts lorsque la ressource principale iubenda_cs.js est indisponible ou génère une erreur.

L’activateur inline pour safe.js est disponible aux URL suivantes :

L’activateur inline pour safe-tcf-v2.js est disponible aux URL suivantes :

Pour plus d’informations et des exemples de code, consultez notre guide détaillé consacré à la configuration de Privacy Controls and Cookie Solution.

Exemples d’optimisation

Sans compatibilité avec le TCF

HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <!-- Preload resources beforehand -->
    <link rel="preload" href="//cdn.iubenda.com/cs/iubenda_cs.js" as="script">
    
    <!-- The ID (e.g. 12345) should be the same as cookiePolicyId -->
    <link rel="preload" href="//www.iubenda.com/cookie-solution/confs/js/12345.js" as="script">

    <!-- other stuff in head tag -->
</head>

<body>
    <script>
        var _iub = _iub || [];
        _iub.csConfiguration = {
            "lang": "en",
            "siteId": 67890, //use your siteId
            "cookiePolicyId": 12345, //use your cookiePolicyId
            "enableTcf": true,
            "inlineDelay": 300, //default value: 500
            // ...
        };
    </script>
    
    <!-- inline activator - safe.js (optional) -->
    <script type="text/javascript">
        //<![CDATA[
            //copy content from cdn.iubenda.com/cs/safe.js (current channel) and paste here
        //]]>
    </script>

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

</html>

PHP

<?php
  $cookie_policy_id = 12345; //use your cookiePolicyId
?>

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <!-- Preload resources beforehand -->
    <link rel="preload" href="//cdn.iubenda.com/cs/iubenda_cs.js" as="script">
    <link rel="preload" href="//www.iubenda.com/cookie-solution/confs/js/<?php echo $cookie_policy_id; ?>.js" as="script">

    <!-- other stuff in head tag -->
</head>

<body>

    <script>
        var _iub = _iub || [];
        _iub.csConfiguration = {
            "lang": "en",
            "siteId": 67890, //use your siteId
            "cookiePolicyId": <?php echo $cookie_policy_id; ?>, 
            "inlineDelay": 300, //default value: 500
            // ...
        };
    </script>

    <!-- Only include safe.js if the consent cookie is found -->
    <?php if (isset($_COOKIE["_iub_cs-{$cookie_policy_id}"])) { ?>
    <script>
        /* inline safe.js */
    </script>
    <?php } ?>
    
    <script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
</body>

</html>

Avec compatibilité avec le TCF

HTML – TCF et activateur inline

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <!-- Preload resources beforehand -->
    <link rel="preload" href="//cdn.iubenda.com/cs/tcf/stub-v2.js" as="script">
    <link rel="preload" href="//cdn.iubenda.com/cs/tcf/safe-tcf-v2.js" as="script">
    <link rel="preload" href="//cdn.iubenda.com/cs/iubenda_cs.js" as="script">
    
    <!-- The ID (e.g. 12345) should be the same as cookiePolicyId -->
    <link rel="preload" href="//www.iubenda.com/cookie-solution/confs/js/12345.js" as="script">

    <!-- other stuff in head tag -->
</head>

<body>
    <script>
        var _iub = _iub || [];
        _iub.csConfiguration = {
            "lang": "en",
            "siteId": 67890, //use your siteId
            "cookiePolicyId": 12345, //use your cookiePolicyId
            "enableTcf": true,
            "inlineDelay": 300, //default value: 500
            // ...
        };
    </script>
    <script type="text/javascript" src="//cdn.iubenda.com/cs/tcf/stub-v2.js"></script>
    <script type="text/javascript" src="//cdn.iubenda.com/cs/tcf/safe-tcf-v2.js"></script>
    
    <!-- inline activator - safe.js -->
    <script type="text/javascript">
        //<![CDATA[
            //copy content from cdn.iubenda.com/cs/safe.js (current channel) and paste here
        //]]>
    </script>

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

</html>

PHP – TCF et activateur inline

<?php
  $cookie_policy_id = 12345; //use your cookiePolicyId
?>

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <!-- Preload resources beforehand -->
    <link rel="preload" href="//cdn.iubenda.com/cs/tcf/stub-v2.js" as="script">
    
    <!-- Only preload safe-tcf-v2.js if the euconsent-v2 cookie is found -->
    <?php if (isset($_COOKIE['euconsent-v2'])) { ?>
    <link rel="preload" href="//cdn.iubenda.com/cs/tcf/safe-tcf-v2.js" as="script">
    <?php } ?>
    
    <link rel="preload" href="//cdn.iubenda.com/cs/iubenda_cs.js" as="script">
    <link rel="preload" href="//www.iubenda.com/cookie-solution/confs/js/<?php echo $cookie_policy_id; ?>.js" as="script">

    <!-- other stuff in head tag -->
</head>

<body>

    <script>
        var _iub = _iub || [];
        _iub.csConfiguration = {
            "lang": "en",
            "siteId": 67890, //use your siteId
            "cookiePolicyId": <?php echo $cookie_policy_id; ?>, 
            "enableTcf": true,
            "inlineDelay": 300, //default value: 500
            // ...
        };
    </script>

    <script type="text/javascript" src="//cdn.iubenda.com/cs/tcf/stub-v2.js"></script>
    
    <!-- Only include safe-tcf-v2.js if the TCF cookie euconsent-v2 is found -->
    <?php if (isset($_COOKIE['euconsent-v2'])) { ?>
    <script type="text/javascript" src="//cdn.iubenda.com/cs/tcf/safe-tcf-v2.js"></script>
    <?php } ?>
    
    <!-- Only include safe.js if the consent cookie is found -->
    <?php if (isset($_COOKIE["_iub_cs-{$cookie_policy_id}"])) { ?>
    <script>
        /* inline safe.js */
    </script>
    <?php } ?>
    
    <script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
</body>

</html>

Voir aussi