Evolução da Mudança de layout cumulativa nas ferramentas da Web

A partir de hoje, uma mudança na CLS foi lançada em várias plataformas de ferramentas da Web do Chrome, incluindo Lighthouse, PageSpeed Insights e Chrome UX Report.

Addy Osmani
Addy Osmani
Elizabeth Sweeny
Elizabeth Sweeny

Hoje, gostaríamos de compartilhar como estamos evoluindo a medição do Cumulative Layout Shift (CLS) métrica em várias superfícies de ferramentas da Web do Chrome. Para os desenvolvedores, essas mudanças refletirão melhor a experiência do usuário para páginas de longa duração (como aqueles com rolagem infinita ou apps de página única). Essas atualizações da CLS serão lançadas para ferramentas como Lighthouse, PageSpeed Insights e Chrome UX Report.

Todos nós gostaríamos de ter menos mudanças de layout na Web. É aqui que a métrica de CLS se mostrou útil para medir a estabilidade visual de uma página da Web. Isso ajuda a incentivar os sites a definir melhor as dimensões do conteúdo, como imagens ou anúncios, que contribuam para saltos surpreendentes de conteúdo para os usuários.

O nome da métrica é "cumulativo". porque a pontuação de cada mudança individual é somada ao longo da vida útil de uma página. Embora todas as mudanças de layout na Web causem experiências do usuário ruins, páginas de longa duração, como aplicativos de página única (SPAs) ou aplicativos de rolagem infinita, acumulam naturalmente mais CLS com o tempo. Limitando a agregação à pior "janela" de turnos, A CLS agora pode ser medida com mais consistência, independentemente da duração da sessão.

Como anunciamos em Evolução da métrica de CLS, estamos ajustando a métrica de CLS para um janela máxima de 1 segundo com intervalo de 1 segundo, com limite de 5 segundos. essa atualização reflete melhor a experiência do usuário em páginas de longa duração. Com essa mudança, 70% das origens não devem esperar nenhuma mudança de CLS no 75o percentil, e os 30% restantes vão notar uma melhoria.

Implantação do ajuste de janelamento para CLS

Falamos sobre a definição atualizada da CLS como uma janela máxima de sessão com um intervalo de um segundo, limitado a 5 segundos. O que isso significa para as ferramentas?

A partir de hoje, essa mudança no CLS foi lançada em várias superfícies de ferramentas da Web do Chrome, incluindo Lighthouse, PageSpeed Insights e Chrome UX Report. Confira abaixo um resumo da implementação do ajuste de janelamento de CLS, bem como quais ferramentas ainda fornecem a capacidade de comparar com a implementação original.

Ferramenta Ajuste de janelamento de CLS "ativo" "Antigo" Disponibilidade de CLS
Painel de DevTools do Lighthouse Canal Canary, 2 de junho de 2021 N/A
CLI do Lighthouse v8, lançada em 1o de junho de 2021 Disponível como totalCumulativeLayoutShift no Lighthouse v8
CI do Lighthouse v0.7.3, 3 de junho de 2021 N/A
PageSpeed Insights (PSI) 1º de junho de 2021 NA
API PSI 1º de junho de 2021 Disponível no lighthouseResult como totalCumulativeLayoutShift. Indisponível nos dados do campo loadingExperience
Chrome UX Report (CrUX) – BigQuery Conjunto de dados de 202105, publicado em 8 de junho de 2021 Disponível como experimental.uncapped_cumulative_layout_shift até 202111
Chrome UX Report (CrUX): API 1º de junho de 2021 após 1o de junho de 2021, disponível como experimental_uncapped_cumulative_layout_shift 14 de dezembro de 2021

Em breve, o Chrome DevTools também será atualizado para ser compatível com o ajuste de janelas. A atualização da CLS também foi feita no Search Console e será refletida a partir de 1o de junho de 2021.

Para a maioria dos desenvolvedores, Espera-se que essa mudança aconteça sem problemas, sem que seja necessária nenhuma ação para aproveitar os dados da correção.

"Antigo" CLS

Como lembrete, os "antigos" A CLS mede a mudança de layout durante toda a vida útil da página. Como alguns desenvolvedores podem querer monitorar a definição mais antiga de CLS junto com o ajuste de janelamento, temos boas notícias para compartilhar: estamos expondo o "antigo CLS" no Lighthouse e no CrUX.

No Lighthouse v8, está disponível no JSON como audits['cumulative-layout-shift'].details.items[0].totalCumulativeLayoutShift:

Você vai encontrá-lo como experimental_uncapped_cumulative_layout_shift na API CrUX e como experimental.uncapped_cumulative_layout_shift no BigQuery CrUX.

Após 1o de junho, as solicitações da API CrUX vão retornar o "antigo CLS" métrica:

{
  "origin": "https://web.dev",
  "metrics": [
    "experimental_uncapped_cumulative_layout_shift"
  ]
}

Depois de 8 de junho, CrUX do BigQuery vai comparar o CLS antigo e novo:

WITH
  new_data AS (
  SELECT
    cls
  FROM
    `chrome-ux-report.all.202105`,
    UNNEST(layout_instability.cumulative_layout_shift.histogram.bin) AS cls
  WHERE
    origin = 'https://web.dev'
    AND effective_connection_type.name = '4G'
    AND form_factor.name = 'phone'),
  old_data AS (
  SELECT
    uncapped_cls
  FROM
    `chrome-ux-report.all.202105`,
    UNNEST(experimental.uncapped_cumulative_layout_shift.histogram.bin) AS uncapped_cls
  WHERE
    origin = 'https://web.dev'
    AND effective_connection_type.name = '4G'
    AND form_factor.name = 'phone')
SELECT
  cls.start AS start,
  cls.`END` AS `end`,
  cls.density AS cls_density,
  uncapped_cls.density AS uncapped_cls_density
FROM
  new_data
INNER JOIN
  old_data
ON
  new_data.cls.start = old_data.uncapped_cls.start

Você pode continuar usando esses dados por um período de até seis meses, com "antigo CLS" que será desativada em 14 de dezembro de 2021.

Atualizar a ponderação do CLS no Lighthouse

Quando a CLS foi introduzida no Lighthouse, era uma nova métrica brilhante. Assim, para garantir que os desenvolvedores tenham tempo de testar, comparar, e otimizá-la, a CLS teve um peso menor na pontuação de desempenho.

Agora, depois de algum tempo nas mãos dos desenvolvedores, a pontuação do Lighthouse aumentou o peso da CLS de 5% para 15%, consistente com a metodologia das Core Web Vitals são as métricas com maior peso na pontuação do Lighthouse.

Confira as ponderações atualizadas das métricas no Lighthouse v8 na calculadora de pontuação.

Calculadora de pontuação do Lighthouse

A implementação de CLS do Lighthouse 8.0 inclui janelamento e contribuição de CLS de subframes. Antes da versão 8.0, o CLS no Lighthouse não incluía subframes no cálculo da métrica, mas agora faz isso. Só para confirmar, o CLS de campo medido pelo CrUX também lida com janelas e subframes.

Ainda assim, a principal diferença entre a CLS de laboratório e de campo é que a janela de observação do CLS do laboratório termina em "totalmente carregada". conforme determinado nas condições de laboratório, enquanto que, no campo, a janela de observação se estende a todo o ciclo de vida da página, incluindo a atividade pós-carregamento. Dito isso, o ajuste de janelamento mitiga essa diferença significativamente.

Faça sua própria medição em campo

Caso queira medir a implementação mais recente da CLS, Você também pode registrar isso para seus dados de campo via RUM usando o snippet PerformanceObserver a seguir.

Ou contando diretamente com Biblioteca JavaScript de Métricas da Web, que também foi atualizado com essa alteração.

Atualizações adicionais

Além das atualizações na Cumulative Layout Shift, as seguintes atualizações relacionadas a métricas também foram feitas em nossas ferramentas da Web:

  • Estamos atualizando para a definição mais recente da métrica "Maior exibição de conteúdo". As APIs CrUX, PSI e PSI e o Search Console serão atualizadas em 1o de junho de 2021. O CrUX do BigQuery será atualizado em 8 de junho de 2021.
  • No CrUX, os limites de tribinagem da First Contentful Paint foram atualizados para: Bom: [0 - 1,8 s], Precisa melhorar: (1, 8 s - 3 s), Ruim: [3 s - ✕]

Conclusões

Esperamos que essa mudança reflita uma transição tranquila para a maioria dos sites e incentivamos você a conferir Métricas da Web e Otimize a CLS para ver dicas e truques sobre como medir e otimizar seu layout. Como sempre, fique à vontade para entrar em contato pelo grupo web-vitals-feedback para feedback sobre as métricas e nossos fóruns de feedback específicos sobre ferramentas para Lighthouse: Chrome UX Report para problemas de ferramentas. Saúde!

Agradecimentos a Johannes Henkel, Rick Viscomi, Vivek Sekhar, Rachel Andrew, Milica Mihajlija, Jeff Jose e Paul Ireland pelo feedback.

Imagem principal da Barn Images / @barnimages no Unsplash