Web Vitals

Publicado em: 4 de maio de 2020

Otimizar a qualidade da experiência do usuário é fundamental para o sucesso de qualquer site a longo prazo. Não importa se você é proprietário de uma empresa, profissional de marketing ou desenvolvedor, as Web Vitals podem ajudar a quantificar a experiência no seu site e identificar oportunidades de melhoria.

Visão geral

Web Vitals é uma iniciativa do Google para fornecer orientações unificadas sobre indicadores de qualidade essenciais para oferecer uma ótima experiência do usuário na Web.

Ao longo dos anos, o Google disponibilizou várias ferramentas para medir e gerar relatórios de performance. Alguns desenvolvedores são especialistas no uso dessas ferramentas, enquanto outros acham difícil acompanhar a abundância de ferramentas e métricas.

Os proprietários de sites não precisam ser especialistas em performance para entender a qualidade da experiência que oferecem aos usuários. A iniciativa Web Vitals tem como objetivo simplificar o cenário e ajudar os sites a se concentrarem nas métricas mais importantes, as Core Web Vitals.

Core Web Vitals

Os Core Web Vitals são um subconjunto dos Web Vitals que se aplicam a todas as páginas da web, devem ser medidos por todos os proprietários de sites e serão mostrados em todas as ferramentas do Google. Cada uma das Core Web Vitals representa uma faceta distinta da experiência do usuário, é mensurável em campo e reflete a experiência real de um resultado crítico centrado no usuário.

As métricas que compõem as Core Web Vitals vão evoluir com o tempo. O conjunto atual foca em três aspectos da experiência do usuário: carregamento, interatividade e estabilidade visual. Ele inclui as seguintes métricas (e seus respectivos limites):

Recomendações de limites de Largest Contentful Paint Recomendações de limite de Interaction to Next Paint Recomendações de limite de Cumulative Layout Shift
  • Largest Contentful Paint (LCP): mede o desempenho do carregamento. Para proporcionar uma boa experiência do usuário, o LCP deve ocorrer dentro de 2,5 segundos após o início do carregamento da página.
  • Interaction to Next Paint (INP): mede a interatividade. Para proporcionar uma boa experiência do usuário, as páginas devem ter um tempo de INP de 200 milissegundos ou menos.
  • Cumulative Layout Shift (CLS): mede a estabilidade visual. Para proporcionar uma boa experiência do usuário, as páginas devem manter um CLS de 0,1 ou menos.

Para garantir que você esteja atingindo a meta recomendada para essas métricas para a maioria dos seus usuários, um bom limite a ser medido é o 75º percentil de carregamentos de página, segmentado entre dispositivos móveis e desktops.

As ferramentas que avaliam a conformidade com as Core Web Vitals consideram que uma página foi aprovada se ela atende às metas recomendadas no 75º percentil para todas as três métricas das Core Web Vitals.

Ciclo de vida

As métricas no rastreamento das Core Web Vitals passam por um ciclo de vida que consiste em três fases: experimental, pendente e estável.

As três fases do ciclo de vida das métricas Core Web Vitals, visualizadas como uma série de três chevrons. Da esquerda para a direita, as fases são "Experimental", "Pendente" e "Estável".
As etapas do ciclo de vida das Core Web Vitals.

Cada fase foi criada para indicar aos desenvolvedores como pensar em cada métrica:

  • As métricas experimentais são possíveis Core Web Vitals que ainda podem passar por mudanças significativas dependendo dos testes e do feedback da comunidade.
  • As métricas pendentes são futuras Core Web Vitals que passaram pela fase de testes e feedback e têm um cronograma bem definido para se tornarem estáveis.
  • As métricas estáveis são o conjunto atual de Core Web Vitals que o Chrome considera essencial para ótimas experiências do usuário.

As Core Web Vitals estão nos seguintes estágios do ciclo de vida:

Experimental

Quando uma métrica é desenvolvida e entra no ecossistema, ela é considerada uma métrica experimental.

O objetivo da fase experimental é avaliar a adequação de uma métrica. Primeiro, é preciso analisar o problema a ser resolvido e, possivelmente, iterar sobre o que as métricas anteriores não conseguiram abordar. Por exemplo, a Interaction to Next Paint (INP) foi desenvolvida inicialmente como uma métrica experimental para resolver os problemas de desempenho de tempo de execução presentes na Web de forma mais abrangente do que o First Input Delay (FID).

A fase experimental do ciclo de vida das Core Web Vitals também tem como objetivo dar flexibilidade no desenvolvimento de uma métrica, identificando bugs e até mesmo explorando mudanças na definição inicial. É também a fase em que o feedback da comunidade é mais importante.

Pendente

Quando a equipe do Chrome determina que uma métrica experimental recebeu feedback suficiente e comprovou sua eficácia, ela se torna uma métrica pendente. Por exemplo, em 2023, a INP foi promovida de experimental para pendente com a intenção de desativar o FID.

As métricas pendentes são mantidas nessa fase por um período mínimo de seis meses para dar tempo ao ecossistema de se adaptar. O feedback da comunidade continua sendo um aspecto importante dessa fase, à medida que mais desenvolvedores começam a usar a métrica.

Estável

Quando uma métrica candidata a Core Web Vital é finalizada, ela se torna uma métrica estável. É quando a métrica pode se tornar uma Core Web Vital.

As métricas estáveis recebem suporte ativo e podem estar sujeitas a correções de bugs e mudanças na definição. As métricas estáveis das Core Web Vitals não mudam mais de uma vez por ano. Qualquer mudança em uma Core Web Vital será comunicada claramente na documentação oficial da métrica e no changelog dela. As Core Web Vitals também estão incluídas em todas as avaliações.

Ferramentas para medir e gerar relatórios sobre as Core Web Vitals

O Google acredita que os Core Web Vitals são essenciais para todas as experiências na Web. Por isso, o Google se comprometeu a mostrar essas métricas em todas as ferramentas mais usadas. As seções a seguir detalham quais ferramentas oferecem suporte às Core Web Vitals.

Ferramentas de campo para medir as Core Web Vitals

O Chrome User Experience Report coleta dados de medição anônimos de usuários reais para cada Core Web Vital. Esses dados permitem que os proprietários de sites avaliem rapidamente a performance sem precisar instrumentar manualmente a análise nas páginas. Além disso, eles alimentam ferramentas como o Chrome DevTools, o PageSpeed Insights e o relatório Core Web Vitals do Search Console.

  LCP INP CLS
Chrome User Experience Report
Chrome DevTools
PageSpeed Insights
Search Console (relatório de Core Web Vitals)

Os dados fornecidos pelo Chrome User Experience Report oferecem uma maneira rápida de avaliar a performance dos sites, mas não fornecem a telemetria detalhada por visualização de página que geralmente é necessária para diagnosticar, monitorar e reagir rapidamente a regressões. Por isso, recomendamos que os sites configurem o próprio monitoramento de usuários reais.

Medir as Core Web Vitals em JavaScript

Cada uma das Core Web Vitals pode ser medida em JavaScript usando APIs da Web padrão.

A maneira mais fácil de medir todas as Core Web Vitals é usar a biblioteca JavaScript web-vitals, um wrapper pequeno e pronto para produção das APIs da Web subjacentes que mede cada métrica de uma forma que corresponde com precisão a como elas são informadas por todas as ferramentas do Google listadas anteriormente.

Com a biblioteca web-vitals, é possível medir cada métrica chamando uma única função. Consulte a documentação para detalhes completos de uso e da API.

import {onCLS, onINP, onLCP} from 'web-vitals';

function sendToAnalytics(metric) {
  const body = JSON.stringify(metric);
  // Use `navigator.sendBeacon()` if available, falling back to `fetch()`.
  (navigator.sendBeacon && navigator.sendBeacon('/analytics', body)) ||
    fetch('/analytics', {body, method: 'POST', keepalive: true});
}

onCLS(sendToAnalytics);
onINP(sendToAnalytics);
onLCP(sendToAnalytics);

Depois de configurar seu site para usar a biblioteca web-vitals e medir e enviar os dados de Core Web Vitals para um endpoint de análise, a próxima etapa é agregar e gerar relatórios sobre esses dados para verificar se as páginas estão atendendo aos limites recomendados em pelo menos 75% das visitas.

Embora alguns provedores de análise tenham suporte integrado para métricas das Core Web Vitals, mesmo aqueles que não têm devem incluir recursos básicos de métricas personalizadas que permitem medir as Core Web Vitals na ferramenta.

Os desenvolvedores que preferem medir essas métricas diretamente usando as APIs da Web subjacentes podem usar estes guias de métricas para detalhes de implementação:

Para mais orientações sobre como medir essas métricas usando serviços de análise conhecidos ou suas próprias ferramentas internas, consulte Práticas recomendadas para medir os Web Vitals no campo.

Ferramentas de laboratório para medir as Core Web Vitals

Embora todas as Core Web Vitals sejam, antes de mais nada, métricas de campo, muitas delas também podem ser medidas no laboratório.

A medição em laboratório é a melhor maneira de testar o desempenho dos recursos durante o desenvolvimento, antes do lançamento para os usuários. Também é a melhor maneira de detectar regressões de desempenho antes que elas aconteçam.

As seguintes ferramentas podem ser usadas para medir as Core Web Vitals em um ambiente de laboratório:

  LCP INP CLS
Chrome DevTools
Lighthouse (use TBT)

Embora a medição em laboratório seja uma parte essencial para oferecer ótimas experiências, ela não substitui a medição em campo.

A performance de um site pode variar bastante com base nos recursos do dispositivo de um usuário, nas condições da rede, em quais outros processos podem estar sendo executados no dispositivo e em como ele está interagindo com a página. Na verdade, cada uma das métricas do Core Web Vitals pode ter a pontuação afetada pela interação do usuário. Somente a medição de campo pode capturar com precisão o quadro completo.

Recomendações para melhorar suas pontuações

Os guias a seguir oferecem recomendações específicas sobre como otimizar suas páginas para cada um dos Core Web Vitals:

Há muitas maneiras de melhorar as Core Web Vitals, e cada abordagem tem níveis variados de impacto, relevância e facilidade de uso para cada situação. Consulte As maneiras mais eficazes de melhorar as Core Web Vitals para conferir uma lista das principais recomendações da equipe do Chrome.

Outras Web Vitals

Embora as Core Web Vitals sejam essenciais para entender e oferecer uma ótima experiência do usuário, há outras métricas de suporte.

Essas outras métricas podem servir como proxy ou como métricas complementares para as três Core Web Vitals, ajudando a capturar uma parte maior da experiência ou a diagnosticar um problema específico.

Por exemplo, as métricas Time to First Byte (TTFB) e First Contentful Paint (FCP) são aspectos vitais da experiência de carregamento e úteis para diagnosticar problemas com LCP (tempos de resposta do servidor lentos ou recursos de bloqueio de renderização, respectivamente).

Da mesma forma, uma métrica como o Total Blocking Time (TBT) é essencial para detectar e diagnosticar possíveis problemas de interatividade que podem afetar o INP. No entanto, elas não fazem parte do conjunto de Core Web Vitals porque não são mensuráveis em campo nem refletem um resultado centrado no usuário.

Mudanças nos Web Vitals

As Web Vitals e as Core Web Vitals representam os melhores indicadores disponíveis para os desenvolvedores medirem a qualidade da experiência na Web. No entanto, esses indicadores não são perfeitos, e melhorias ou adições futuras são esperadas.

As Core Web Vitals são relevantes para todas as páginas da Web e aparecem em todas as ferramentas relevantes do Google. As mudanças nessas métricas terão um impacto amplo. Por isso, os desenvolvedores podem esperar que as definições e os limites das Core Web Vitals sejam estáveis, e que as atualizações sejam avisadas com aviso prévio e tenham uma cadência anual previsível.

As outras métricas da Web geralmente são específicas de contexto ou ferramenta e podem ser mais experimentais do que as Core Web Vitals. Por isso, as definições e os limites podem mudar com mais frequência.

Para todos os Web Vitals, as mudanças serão claramente documentadas neste CHANGELOG público.