Estos son nuestros consejos sobre cómo optimizar aún más el rendimiento de Privacy Controls and Cookie Solution:
body
, no en el head
head
safe.js
y safe-tcf-v2.js
afectan la puntuación de PageSpeed. Idealmente, deberías usarlos solo si puedes escribir código en el lado del servidor (mira nuestro ejemplo php):
safe.js
solo cuando exista la cookie _iub_cs_xxx
safe-tcf-v2.js
solo cuando exista la cookie euconsent-v2
inlineDelay
(entero, milisegundos, default 500) para reducir el tiempo total de activación. Ten en cuenta que inlineDelay
solo funciona con el bloque “-inline”, por lo que está limitado solo a ese tipo de fragmento de código. No recomendamos un valor inferior a 300.El servicio Privacy Controls and Cookie Solution está configurado para evitar que se ejecute cuando detectamos arañas o bots; por lo tanto, su uso no genera ningún efecto negativo al posicionamiento SEO.
Además de las sugerencias anteriores, si quieres, puedes utilizar una versión específica de Privacy Controls and Cookie Solution de iubenda. Para hacerlo, en tu fragmento de código, en lugar de:
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
Tendrás:
<script type="text/javascript" src="//cdn.iubenda.com/cs/versions/iubenda_cs-1.30.3.js" charset="UTF-8" async></script>
El valor “1.30.3” se debe reemplazar por el número de la versión que se va a utilizar. Las versiones disponibles son las publicadas desde la versión 1.29.0 en adelante (consulta la lista de cambios de todas las versiones publicadas de Privacy Controls and Cookie Solution. Para utilizar una versión anterior a la 1.29.0, lee aquí).
A diferencia del enlace predeterminado (//cdn.iubenda.com/cs/iubenda_cs.js), el enlace //cdn.iubenda.com/cs/versions/iubenda_cs-1.30.3.js tiene una configuración de caché muy extensa, ya que apunta a una versión específica que no requiere modificaciones futuras.
Si optas por bloquear Privacy Controls and Cookie Solution de iubenda en una versión específica, te recomendamos que la actualices manualmente de forma periódica para que puedas seguir beneficiándote de nuestras actualizaciones.
Al aplicar la modificación descrita anteriormente a Privacy Controls and Cookie Solution, el recurso js cargará un nuevo archivo que contiene la versión deseada.
Es una práctica recomendada, también adoptada por Google para la carga de Google Analytics, dictada por la necesidad de garantizar el mejor compromiso entre la posibilidad de actualizar Privacy Controls and Cookie Solution y la velocidad de carga/almacenamiento en caché.
El archivo js es de hecho un archivo con una caché breve de pocos bytes, que a su vez llama al servicio Privacy Controls and Cookie Solution real, cuya caché es mucho más extensa.
Si el análisis realizado por Google PageSpeed te ha mostrado esta sugerencia, podemos ayudarte a resolver el problema:
Aprovecha el almacenamiento en caché del navegador: si se establece una fecha de vencimiento o una edad máxima en los encabezados HTTP para los recursos estáticos, el navegador cargará los recursos descargados previamente desde el disco local en lugar que desde la red.
Para las versiones anteriores a la 1.29.0 (pero posteriores a la 1.3.11), para omitir iubenda_cs.js, tienes que recuperar el hash de la versión deseada. De esta forma puedes:
Por ejemplo, en el caso de la versión “1.23.2” visitando la página https://cdn.iubenda.com/cs/versions/iubenda_cs-1.23.2.js tendremos e.src="//cdn.iubenda.com/cookie_solution/iubenda_cs/core-03369fd53df171f29d94bfed207eedaa.js"
que es, efectivamente, la URL del archivo con el hash de la versión deseada.
Por lo tanto, en el fragmento de código de Privacy Controls and Cookie Solution, en lugar de:
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
Tendrás:
<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 has habilitado la compatibilidad con el Marco de Transparencia y Consentimiento (TCF) de IAB para la gestión de preferencias de seguimiento publicitario y deseas aprovechar al máximo la caché, tienes que recuperar el valor de _iub.GVL2
de https://cdn.iubenda.com/cs/iubenda_cs.js y agregarlo a tu script.
Entonces, continuando con el ejemplo anterior, en lugar de:
<script src="//cdn.iubenda.com/cs/iubenda_cs.js" async></script>
Tendrás:
<script>
_iub.csConfigLegacy = !1, _iub.GVL2 = _iub.GVL2 || 54;
</script>
<script src="//cdn.iubenda.com/cookie_solution/iubenda_cs/core-03369fd53df171f29d94bfed207eedaa.js" async></script>
Sin embargo, ten en cuenta que deberás actualizar el valor de _iub.GVL2
semanalmente (para que coincida con el incluido en https://cdn.iubenda.com/cs/iubenda_cs.js), ya que la Lista Global de Proveedores se actualiza periódicamente.
Por este motivo, desaconsejamos la carga directa para el TCF. En cambio, recomendamos usar el activador inline y no bloquear directamente los scripts del proveedor (revisa nuestros ejemplos).
Es posible incluir directamente en la página (inline) la parte del código que se ocupa de la activación de los scripts. Este código se conoce como activador inline. Con el activador inline, los scripts se pueden activar incluso si el recurso principal iubenda_cs.js no está disponible genéricamente o tiene un error.
El activador inline para safe.js
está disponible en:
El activador inline para safe-tcf-v2.js
está disponible en:
Para obtener más información y ejemplos de código, consulta Cómo configurar Privacy Controls and Cookie Solution (Guía avanzada).
<!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>