Voici nos astuces pour optimiser davantage les performances de Privacy Controls and Cookie Solution :
body
, et non de la section head
.head
.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) :
safe.js
uniquement lorsque le cookie _iub_cs_xxx
existe ;safe-tcf-v2.js
uniquement lorsque le cookie euconsent-v2
existe.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).
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.
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 :
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>
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).
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.
<!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
$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>
<!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
$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>