Iubenda logo
Crie Agora

Documentação

Tabela de conteúdos

Cache, velocidade e outras otimizações do Privacy Controls and Cookie Solution da iubenda

Aqui estão nossas dicas de como otimizar ainda mais o desempenho do nosso Privacy Controls and Cookie Solution:

  1. Inclua os scripts do Privacy Controls and Cookie Solution diretamente no HTML do documento, sem a necessidade de um tag manager ou outro script.
  2. Se você ativou a opção do TCF, você deve incluir o Privacy Controls and Cookie Solution dentro do body, e não no head
  3. Pré-carregue os arquivos js o mais rápido possível no head
  4. 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.
  5. safe.js and safe-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 cookie euconsent-v2 existir
  6. 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 o inlineDelay 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.GVL2semanalmente (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:

O ativador inline para safe-tcf-v2.js está disponível em:

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>

Veja também