O script da Dynamic Yield entrega experiências personalizadas para os visitantes do seu website. Estamos trabalhando continuamente para reduzir o efeito do script no tempo de carregamento do seu website. Aqui está uma lista de medidas que você pode tomar para reduzir ainda mais o tempo de carregamento e cintilações.
Arquive campanhas de que você não precisa
Todas as variações ativas em todas as experiências ativas em todas as campanhas ativas fazem parte do script da Dynamic Yield. Faça uma limpeza de vez em quando e então:
- Pause variações perdedoras em testes A/B se o teste alcançou resultados significativos (melhor prática, independentemente do tamanho do script). Se o controle venceu, pause a experiência ou arquive a campanha. Localize facilmente os testes A/B com resultados conclusivos no painel.
- Arquive campanhas direcionadas para públicos, páginas e seletores que não existem mais. Use a coluna Impressions (Past 7 days) (impressões [últimos 7 dias]) na lista de campanhas de Site Personalization (personalização de seção) para identificar campanhas que não são mais veiculadas.
- Arquive testes A/A que já terminaram.
Observação: as experiências direcionadas para o passado são automaticamente excluídas do script.
Carregamento ideal da campanha
Opção 1: campanhas de carregamento adiado
Carregue de forma adiada (lazy load) todas as campanhas do Recommendations e Dynamic Content. Visto que a execução custa caro em termos de pontuação do Lighthouse, esse recurso apresenta em em torno de 30-40% de melhoria no tempo de execução do JavaScript em seu website (dependendo do número de campanhas ativas).
Fale com o suporte para ativar esse recurso.
Opção 2: adiar o carregamento do conteúdo abaixo da dobra
Fale com o suporte para ativar esse recurso.
Use modelos quando possível
Se você tem uma experiência com 2 variações que estão ligadas ao mesmo modelo - o código do modelo é adicionado uma vez ao script da Dynamic Yield, e as variações só incluem os valores das variáveis. Se as variações não estão ligadas ao modelo, o código inteiro de ambas as variações é incluído no script da Dynamic Yield. Mais código significa mais atrasos, por isso recomendamos usar modelos sempre que possível. Saiba mais sobre modelos.
Minifique o código de sua variação e modelo
Minificar o código dos modelos e variações pode reduzir significativamente o tamanho do script. Há diversas ferramentas on-line para minificar seu código (como a minifier.org).
Indexe produtos para melhorar o desempenho das recomendações
Feeds maiores podem enfrentar maior lentidão no tempo de veiculação das recomendações, embora também haja muitos outros fatores, como o número e os tipos de regras de recomendação. Se você está preocupado ou tem enfrentado lentidão no tempo de veiculação das recomendações, recomendamos:
- Indexar produtos usando group_id;
- Definir regras is/is not (é/não é) em vez de regras contains/do not contain (contém/não contém) ao estabelecer as regras de recomendação.
Adicionar tags de pré-conexão e pré-busca
Como os scripts da Dynamic Yield são servidos a partir de um hostname diferente do seu website, o navegador precisa resolver o DNS. Coloque uma tag dns-prefetch antes do script para reduzir o tempo de resolução do DNS.
As tags de pré-conexão permitem que o navegador configure conexões antecipadas antes de uma solicitação HTTP de fato ser enviada ao servidor. Isso elimina a latência de ida e volta e economiza tempo para os usuários. Alguns navegadores (como o Explorer e Safari iOS) não oferecem suporte às tags de pré-conexão e as ignoram.
Datacenter nos EUA:
<link rel="preconnect" href="//cdn.dynamicyield.com">
<link rel="preconnect" href="//st.dynamicyield.com">
<link rel="preconnect" href="//rcom.dynamicyield.com">
<link rel="dns-prefetch" href="//cdn.dynamicyield.com">
<link rel="dns-prefetch" href="//st.dynamicyield.com">
<link rel="dns-prefetch" href="//rcom.dynamicyield.com">
<script type="text/javascript" src="//cdn.dynamicyield.com/api/[YOUR SITE ID]/api_dynamic.js"></script>
<script type="text/javascript" src="//cdn.dynamicyield.com/api/[YOUR SITE ID]/api_static.js"></script>
Datacenter na UE:
<link rel="preconnect" href="//cdn-eu.dynamicyield.com">
<link rel="preconnect" href="//st-eu.dynamicyield.com">
<link rel="preconnect" href="//rcom-eu.dynamicyield.com">
<link rel="dns-prefetch" href="//cdn-eu.dynamicyield.com">
<link rel="dns-prefetch" href="//st-eu.dynamicyield.com">
<link rel="dns-prefetch" href="//rcom-eu.dynamicyield.com">
<script type="text/javascript" src="//cdn-eu.dynamicyield.com/api/[YOUR SITE ID]/api_dynamic.js"></script>
<script type="text/javascript" src="//cdn-eu.dynamicyield.com/api/[YOUR SITE ID]/api_static.js"></script>
O código de pré-busca foi adicionado ao código get da plataforma no início de 2019, e o código de pré-conexão foi adicionado em novembro de 2019. Se você implementou o script antes disso, é provável que não esteja usando esse método.
Exclua o jQuery do script da Dynamic Yield
No passado, o script da Dynamic Yield incluía a biblioteca jQuery ($dy) como parte do script. Isso tem um impacto significativo no tamanho do script.
Desde o 2º trimestre de 2019, a biblioteca $dy foi removida do script. Visto que a biblioteca jQuery às vezes é usada nas variações, ela só foi removida das seções criadas após o 1º trimestre de 2019.
Se você criou sua seção antes do 1º trimestre de 2019, e não usa o $dy, fale com o suporte para excluir essa biblioteca do seu script.
Avançado: use sua própria CDN
A Dynamic Yield um provedor de CDN líder mundial para carregar seus scripts. Ele é super-rápido, e nossa política de cache é otimizada. No entanto, se você enfrentar lentidão, vale a pena verificar a possibilidade de usar sua própria CDN para carregar os scripts da Dynamic Yield e hospedar todas as imagens carregadas em suas variações na Dynamic Yield. Saiba mais sobre a integração de CDN.
Avançado: gravar no armazenamento local
Por padrão, a Dynamic Yield armazena dados em cookies. Se você estiver usando um website de protocolo único ou de domínio único, você pode gravar no armazenamento local em vez de armazenar em cookies. Para que isso seja feito, deve colocar DY.noCookies = true no contexto da página, como visto no exemplo a seguir:
<script type="text/javascript">
window.DY = window.DY || {}; DY.recommendationContext = { type: "HOMEPAGE"}; DY.noCookies = true;
</script>
Observação: se nenhum dado for encontrado no armazenamento local, a Dynamic Yield continuará lendo os dados dos cookies. Além disso, em casos onde o navegador não oferece suporte ao armazenamento local (por exemplo, modo de navegação privada no Safari), a Dynamic Yield continuará gravando dados nos cookies.
Perguntas frequentes
A ferramenta Google PageSpeed Insights sinalizou a política de cache da Dynamic Yield, o que devo fazer?
Nada. Os scripts da Dynamic Yield são baixados na primeira visualização de página do visitante no website (gerando um pequeno atraso), mas os scripts são carregados a partir do navegador do visitante nas próximas visualizações de página. O Google não considera isso alarmante e usa a mesma técnica no Google Analytics. É importante notar que:
- A pontuação do Google PageSpeed Insights não reflete a classificação da SEO
- A pontuação não afeta o rastreador da busca do Google
- O Google PageSpeed Insights não mede a velocidade real, mas sim analisa o conteúdo e avalia as páginas web de acordo com as melhores práticas de tags
- Recomendamos analisar o desempenho de suas páginas com mais ferramentas (como a Pingdom, Test e GTmetrix).
Posso usar a Dynamic Yield sem o script do cliente?
Sim. Em 2019, a Dynamic Yield lançou sua API do lado do servidor. Isso permite que você use as principais capacidades da Dynamic Yield (direcionamento por comportamento, testes e recomendações) do lado do servidor. Isso significa que não há cintilações, e você tem o controle total do tempo de carregamento. No entanto, isso exige mais esforços dos seus desenvolvedores (como construir as variações em seu CMS). Saiba mais sobre a API de personalização da Dynamic Yield.