Aqui estão nossas dicas de como otimizar ainda mais o desempenho do nosso Privacy Controls and Cookie Solution:
- Inclua os scripts do Privacy Controls and Cookie Solution diretamente no HTML do documento, sem a necessidade de um tag manager ou outro script.
- Se você ativou a opção do TCF, você deve incluir o Privacy Controls and Cookie Solution dentro do
body
, e não nohead
- Pré-carregue os arquivos js o mais rápido possível no
head
- O Privacy Controls and Cookie Solution deve ser incorporada após pelo menos um texto ou tag de imagem para evitar influenciar o First Contentful Paint. No entanto, tenha em mente que, se você habilitou a opção TCF, quanto mais baixo você colocar os scripts do Privacy Controls and Cookie Solution, mais atrasados os anúncios serão ativados.
safe.js
andsafe-tcf-v2.js
impacta o PageSpeed score. Idealmente, você deve usá-los apenas se você puder escrever o código lateral do servidor (veja o nosso exemplo php):- inclua
safe.js
somente quando o cookie_iub_cs_xxx
existir - inclua
safe-tcf-v2.js
somente quando o cookieeuconsent-v2
existir
- inclua
- Ao diminuir o valor
inlineDelay
(inteiro, milésimos de segundo, padrão 500), você reduzirá o tempo total de ativação. Lembre-se de que oinlineDelay
funciona apenas com o bloco “-inline”, por isso, é reduzido apenas a esse tipo de snippet. É recomendável não definir abaixo de 300.
O Privacy Controls and Cookie Solution é configurado por padrão para evitar ser executado quando detectarmos spiders ou bots, portanto, não há qualquer efeito de SEO ao usar nossa solução.
Carregamento direto
Além das sugestões acima, você pode optar por usar uma versão específica do Privacy Controls and Cookie Solution da iubenda. Para fazer isso em seu snippet, em vez de:
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
Você terá:
<script type="text/javascript" src="//cdn.iubenda.com/cs/versions/iubenda_cs-1.30.3.js" charset="UTF-8" async></script>
O valor “1.30.3” deve ser substituído pelo número da versão a ser utilizada. As versões disponíveis são aquelas lançadas a partir da versão 1.29.0 em diante (confira o changelog para uma listagem de todas as versões lançadas do Privacy Controls and Cookie Solution. Para usar uma versão anterior ao 1.29.0, leia aqui).
Ao contrário do link padrão(//cdn.iubenda.com/cs/iubenda_cs.js), o link //cdn.iubenda.com/cs/versions/iubenda_cs-1.30.3.js tem uma configuração de cache muito extensa, pois indica uma versão específica que não exige futuras modificações.
Se você quiser bloquear o Privacy Controls and Cookie Solution da iubenda em uma versão específica, sugerimos que você a atualize manualmente de tempos em tempos, para que possa continuar a se beneficiar de nossas novidades.
Ao aplicar a modificação descrita acima ao Privacy Controls and Cookie Solution, o recurso js carregará um novo arquivo contendo a versão desejada.
É uma boa prática, também adotada pelo Google para o carregamento do Google Analytics, como uma forma de atingir um meio-termo entre a necessidade de atualização do Privacy Controls and Cookie Solution e a velocidade de carregamento/cache.
Na verdade, o arquivo js possui um pequeno cache de poucos bytes, que chamará o verdadeiro Privacy Controls and Cookie Solution, cujo cache é muito mais extenso.
Carregamento direto de versões anteriores a 1.29.0
Se o Google PageSpeed fornecer uma sugestão semelhante à seguinte, podemos ajudá-lo a resolver o problema:
Examine o cache do navegador: se houver um tempo máximo para recursos estatísticos nos cabeçalhos HTTP, ou se for definida uma data de expiração, o navegador carregará os recursos anteriormente baixados do disco local, e não os baixados da rede.
Para versões anteriores a 1.29.0 (mas mais tarde que 1.3.11), para contornar iubenda_cs.js, você terá que obter o hash da versão desejada. Desta forma, você poderá:
- Eliminar uma passagem intermediária (resultando, no entanto, em um ganho quase insignificante de alguns milésimos de segundo)
- Acessar uma versão do arquivo com um cache muito longo
Por exemplo, a versão “1.23.2”: ao visitar https://cdn.iubenda.com/cs/versions/iubenda_cs-1.23.2.js, você verá e.src="//cdn.iubenda.com/cookie_solution/iubenda_cs/core-03369fd53df171f29d94bfed207eedaa.js"
que é a URL do arquivo com o hash da versão desejada.
Portanto, em seu snippet do Privacy Controls and Cookie Solution, em vez de:
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
Você terá:
<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>
Estrutura de Transparência e Consentimento (TCF) do IAB
Se você ativou a compatibilidade da Estrutura de Transparência e Consentimento (TCF) do IAB para a personalização das preferências de rastreamento de publicidade, e gostaria de aproveitar ao máximo o cache, será necessário obter o valor do _iub.GVL2
de https://cdn.iubenda.com /cs/iubenda_cs.js e adicioná-lo ao seu script.
Portanto, continuando com o exemplo anterior, em vez de:
<script src="//cdn.iubenda.com/cs/iubenda_cs.js" async></script>
Você terá:
<script>
_iub.csConfigLegacy = !1, _iub.GVL2 = _iub.GVL2 || 54;
</script>
<script src="//cdn.iubenda.com/cookie_solution/iubenda_cs/core-03369fd53df171f29d94bfed207eedaa.js" async></script>
No entanto, observe que você terá que atualizar o valor do _iub.GVL2
semanalmente (de modo que corresponda ao valor incluído em https://cdn.iubenda.com/cs/iubenda_cs.js), pois a Lista de fornecedores globais é atualizada regularmente.
Por este motivo, não é aconselhável o carregamento direto para a TCF. Em vez disso, sugerimos usar o ativador inline não bloquear diretamente os scripts do fornecedor(veja nossos exemplos).
Ativador inline – Inclusão direta do ativador dentro da página
É possível incluir a parte do código relativa aos scripts, diretamente in-page (inline); esse código é conhecido como ativador inline. Os scripts podem ser ativados por meio do ativador inline, ainda que o recurso principal iubenda_cs.js esteja genericamente indisponível ou com erro.
O ativador inline para safe.js
está disponível em:
- https://cdn.iubenda.com/cs/safe.js (canal Atual)
- https://cdn.iubenda.com/cs/beta/safe.js (canal Beta)
- https://cdn.iubenda.com/cs/stable/safe.js (canal Estável)
O ativador inline para safe-tcf-v2.js
está disponível em:
- https://cdn.iubenda.com/cs/tcf/safe-tcf-v2.js (canal Atual)
- https://cdn.iubenda.com/cs/tcf/beta/safe-tcf-v2.js (canal Beta)
- https://cdn.iubenda.com/cs/tcf/stable/safe-tcf-v2.js (canal Estável)
Para obter mais informações e exemplos de código, consulte Como Configurar seu Privacy Controls and Cookie Solution (guia avançado).
Exemplos de otimização
Sem 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>
Com TCF ativado
HTML – TCF e ativador 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 e ativador 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>