
Entender o que são Core Web Vitals deixou de ser uma discussão restrita a desenvolvedores front-end e passou a ocupar a pauta de CTOs, diretores de marketing e líderes de produto que precisam justificar investimento em infraestrutura com números de receita. Em resumo, são um conjunto de métricas de experiência real do usuário — medidas em campo, em navegadores reais, com conexões reais — que o Google usa como sinal de qualidade de página. A diferença fundamental em relação a métricas antigas, como tempo de carregamento do servidor, é que aqui não se mede o que a máquina fez, mas o que a pessoa sentiu: se o conteúdo principal apareceu rápido, se a interface respondeu ao toque e se o layout permaneceu estável. Para times técnicos, isso muda o diagnóstico; para o negócio, muda a conversão, o custo de aquisição pago e o desperdício de orçamento de rastreamento.
O que são Core Web Vitals e por que viraram indicador de negócio
Antes de discutir ferramentas e correções, vale estabelecer o modelo mental: Core Web Vitals não são um selo de aprovação, e sim um sistema de medição de atrito. Cada métrica responde a uma pergunta específica que o usuário faz de forma inconsciente ao abrir uma página. Se essa pergunta não é respondida em poucos segundos, o usuário volta ao resultado de busca, e o site paga essa saída em taxa de rejeição, em sessões perdidas e, indiretamente, em posição orgânica.
A origem: de PageSpeed ao conjunto de métricas centradas no usuário
O Google historicamente media qualidade de página por velocidade de carregamento agregada. O problema é que "rápido" no servidor não significa "percebido como rápido" no dispositivo. Uma página pode ter Time to First Byte (TTFB) de 200 ms e ainda assim parecer lenta, porque o navegador bloqueia a renderização com JavaScript, porque fontes personalizadas atrasam a pintura do texto ou porque anúncios empurram o conteúdo depois de carregar. Foi para eliminar essa ambiguidade que o time do Chrome introduziu, em 2020, um conjunto enxuto de métricas centradas no usuário, mais tarde incorporadas pela documentação do Google Search Central como sinal de experiência de página. Desde então, o conjunto evoluiu: o FID foi substituído pelo INP em 2024, e a medição passou a priorizar o percentil 75 de todos os acessos, não a média — um detalhe crucial, porque a média esconde a cauda de usuários em dispositivos ruins, que é justamente onde a receita se perde.
Os três pilares: LCP, INP e CLS
O conjunto atual é composto por três métricas, cada uma cobrindo uma etapa distinta da experiência:
LCP (Largest Contentful Paint) mede o tempo até que o maior elemento de conteúdo visível na viewport — normalmente a imagem hero, o banner principal ou o bloco de texto mais extenso — seja renderizado. Ele responde à pergunta "quando eu vejo o que vim buscar?". O limite recomendado é de 2,5 segundos ou menos no percentil 75.
INP (Interaction to Next Paint) mede a latência entre uma interação do usuário — clique, toque ou tecla — e o momento em que a interface pinta a resposta visual. Ele responde à pergunta "o site responde quando eu ajo?". O alvo é de 200 milissegundos ou menos. Diferente do antigo FID, que media apenas o atraso da primeira interação, o INP considera todas as interações da sessão e devolve o pior caso (com ajustes para outliers), o que o torna muito mais sensível a JavaScript mal otimizado.
CLS (Cumulative Layout Shift) quantifica a instabilidade visual — quanto o conteúdo se desloca inesperadamente durante o carregamento. Elementos que mudam de posição fazem o usuário clicar no lugar errado, perder a linha de leitura ou abandonar um formulário. O alvo é de 0,1 ou menos.
Como o Google transforma sinais de experiência em ranking
É comum haver exagero sobre o peso dessas métricas. O posicionamento oficial é claro: experiência de página é um entre muitos sinais, e conteúdo relevante continua sendo o fator dominante. O ponto que realmente importa para quem decide orçamento é outro — em cenários de empate competitivo, quando dois resultados têm autoridade e relevância semelhantes, o site que entrega experiência melhor tende a levar vantagem. E como o sistema é alimentado por dados de campo agregados no CrUX (Chrome User Experience Report), a avaliação é contínua e baseada em tráfego real, não em uma auditoria pontual de laboratório. Um relatório bonito de Lighthouse não compensa um campo ruim.
O custo real: como essas métricas afetam receita e conversão
Traduzir milissegundos em dinheiro é o que transforma uma discussão técnica em decisão executiva. Cada uma das três métricas ataca um ponto diferente do funil, e o impacto tende a ser cumulativo: lentidão derruba o carregamento, responsividade ruim derruba a interação, instabilidade visual derruba o preenchimento de formulários e a finalização de compra.
O efeito do tempo de carregamento na taxa de conversão
Estudos de performance em e-commerce consistentemente apontam que cada segundo adicional de carregamento reduz a taxa de conversão de forma mensurável, e que o efeito não é linear — ele se acelera depois de 2 a 3 segundos. Para um CTO, isso significa que o investimento em otimização compete diretamente com o investimento em mídia paga: melhorar o LCP de 4,5 s para 2,2 s eleva a conversão de todo o tráfego existente, inclusive o pago, seo setup sem aumentar o CPA. Em muitos casos, o ganho é equivalente a um aumento de orçamento de mídia, com a vantagem de ser permanente e não inflacionar o leilão.
Confiança, percepção de marca e abandono
Instabilidade visual e interfaces que travam ao clique são lidas como descuido. Em sites de serviços financeiros, saúde e SaaS B2B — segmentos onde a decisão de compra envolve risco percebido —, uma experiência hesitante sinaliza fragilidade operacional. O usuário raramente formula isso de forma consciente, mas o comportamento é observável: aumento de bouncing em páginas de produto, abandono em etapas intermediárias de checkout e queda na taxa de conclusão de formulários longos.
Impactos assimétricos em e-commerce, SaaS e mídia
Em e-commerce, o efeito é mais direto: LCP alto prejudica a visualização de produto e o INP ruim sabota filtros, seleção de variação e aplicação de cupom. Em SaaS, o gargalo costuma ser INP em dashboards com tabelas grandes e gráficos pesados, além de CLS causado por componentes que carregam de forma assíncrona. Em portais de conteúdo e mídia, o inimigo é o CLS gerado por anúncios e embeds de terceiros, além do LCP prejudicado por imagens não dimensionadas e carregamento de scripts de rastreamento no topo do documento.
LCP: como diagnosticar e corrigir o maior gargalo de carregamento
O LCP concentra a maior parte dos problemas relatados em auditorias técnicas, e também a maior parte das oportunidades rápidas de ganho. Ele é decomposto em quatro subpartes — atraso de resposta do servidor, atraso de descoberta do recurso, atraso de download e atraso de renderização — e cada uma aponta para uma solução diferente. Sem essa decomposição, é comum times otimizarem a coisa errada.
O que conta como elemento de maior conteúdo
Apenas elementos visíveis na viewport inicial entram no cálculo: imagens, imagens dentro de SVG, vídeos com pôster e blocos de texto. Elementos que ocupam a tela inteira, como backgrounds em CSS, não contam. Isso significa que o culpado pode ser o banner do topo, mas também um título em fonte personalizada que demora a pintar. A identificação é feita via PageSpeed Insights, Lighthouse ou pela API PerformanceObserver com largest-contentful-paint.
Causas mais frequentes de um LCP ruim
Na prática, a lista se repete: TTFB elevado por consultas lentas ao banco ou ausência de cache de página; imagem hero descoberta tarde pelo preload scanner porque está injetada por JavaScript; imagens não comprimidas ou servidas em formato ultrapassado; CSS crítico bloqueando a renderização; excesso de fontes personalizadas com font-display mal configurado; e cadeias de redirecionamento que atrasam a resposta inicial.
Checklist de otimização, da origem ao pixel
Para reduzir LCP de forma consistente, ataque nesta ordem: elimine a dependência de JavaScript para renderizar o conteúdo principal (prefira renderização no servidor ou geração estática para páginas críticas); implemente cache de página em CDN e cache de objeto para consultas repetidas; reduza o TTFB com edge rendering ou banco em região próxima do público; sirva imagens em AVIF ou WebP com srcset responsivo; marque a imagem hero com fetchpriority="high"; aplique preconnect apenas aos domínios realmente críticos; e injete CSS crítico inline, adiando o restante. Cada item é verificável em dados de campo depois do deploy — e é aí que o ciclo de melhoria contínua começa.
INP: o que substituiu o FID e o que ele revela sobre JavaScript
Se LCP mede a primeira impressão, INP mede a convivência. Ele expõe o custo real do JavaScript de terceiros, dos frameworks hidratados sem critério e das listas renderizadas sem virtualização — problemas que raramente aparecem em testes sintéticos porque dependem do dispositivo do usuário.
Por que o FID foi aposentado
O FID media apenas o atraso da primeira interação. Uma página podia ter FID excelente e continuar travando em todos os cliques seguintes, porque o problema só se manifestava depois que o bundle completo terminava de executar. O INP corrige esse ponto cego ao considerar todas as interações da sessão, medindo do input até a próxima pintura e penalizando o pior caso.
Como o INP é calculado e o conceito de tarefa longa
Quando o usuário interage, o navegador precisa terminar o que está fazendo antes de responder. Se a main thread está ocupada com uma tarefa longa (acima de 50 ms), o clique entra numa fila. O INP soma o atraso de entrada, o tempo de processamento dos handlers e o atraso de apresentação até a pintura. Blocos de JavaScript pesados, hidratação extensa, manipulação de DOM em loops e polyfills desnecessários são os vilões mais comuns.
Estratégias práticas para reduzir INP
Divida tarefas longas com scheduler.yield() ou setTimeout para devolver a main thread ao navegador; mova cálculos pesados para Web Workers; substitua handlers que disparam em cada evento por debounce ou requestAnimationFrame; adie a hidratação de componentes abaixo da dobra com hidratação progressiva; audite scripts de terceiros com a aba de cobertura do DevTools e remova o que não gera valor mensurável; e prefira frameworks com renderização no servidor e ilhas de interatividade. Vale ainda manter um orçamento de performance de JavaScript em kilobytes por rota, verificado em CI.
CLS: instabilidade visual, o erro que o usuário não perdoa
CLS é a métrica mais subestimada e a mais fácil de corrigir em muitos casos. Ela mede o quanto elementos visíveis mudam de posição sem que o usuário tenha provocado isso, penalizando mais os deslocamentos que ocorrem na parte superior da tela e os que atingem áreas grandes.
Como o CLS é pontuado
A pontuação combina a fração da viewport afetada e a distância do deslocamento. Deslocamentos causados por interação do usuário — expandir um acordeão, por exemplo — são excluídos do cálculo, desde que ocorram em até 500 ms após o clique. Isso é importante para não punir interações legítimas de interface.
As causas estruturais: imagens, fontes e terceiros
Três origens dominam: imagens e iframes sem width e height definidos; fontes personalizadas que trocam de fallback para a fonte real após a pintura; e conteúdo injetado por terceiros — anúncios, banners de consentimento, widgets de recomendação — que reserva espaço zero e empurra o layout. A quarta causa, menos óbvia, é conteúdo dinâmico que aparece sem skeleton ou container com altura mínima.
Correções que não quebram o design
Defina atributos de dimensão em todas as mídias e aplique aspect-ratio em CSS; use min-height em containers de conteúdo assíncrono; reserve espaço fixo para slots de anúncio com base na média histórica; utilize size-adjust em @font-face para casar métricas da fonte de fallback com a fonte final; e prefira font-display: optional em textos que não podem causar deslocamento. Essas mudanças raramente exigem redesign e podem ser implementadas de forma incremental.
Dados de campo versus laboratório: CrUX, Search Console e Lighthouse
Uma das falhas mais comuns em programas de performance é tomar decisões com base apenas em dados de laboratório. Lighthouse e WebPageTest são indispensáveis para diagnóstico, mas rodam em ambiente controlado, muitas vezes com conexão simulada e cache limpo. O Google avalia com dados de campo.
Por que o laboratório não basta
O laboratório mostra o que poderia acontecer; o campo mostra o que aconteceu com milhões de usuários em dispositivos de entrada, redes móveis ruins e cache quente ou frio. Divergências entre os dois conjuntos são normais e indicam que há segmentos de usuários sofrendo problemas que o teste sintético não reproduz.
Como ler o relatório de Core Web Vitals no Search Console
O relatório agrupa URLs por status — bom, precisa melhorar e ruim — com base no percentil 75 dos acessos dos últimos 28 dias. A leitura correta é por grupo de páginas semelhantes, não por URL isolada, e sempre cruzando com dados de tráfego: uma página com CLS ruim que recebe 5 mil sessões por dia pesa muito mais que cem páginas com o mesmo problema e nenhuma visita. Ferramentas de rastreamento como Screaming Frog complementam a análise ao mapear, em escala, quais templates concentram os problemas de cada métrica.
CrUX e BigQuery para análise histórica
O CrUX oferece dados agregados por origem em dimensões como tipo de dispositivo, país e faixa de eficácia de conexão. Exportar para o BigQuery permite comparar meses, isolar o efeito de um deploy e priorizar por impacto de receita. É a forma mais defensável de apresentar resultado a uma diretoria.
Core Web Vitals em escala: renderização, crawl budget e arquitetura
Quando o site tem centenas de milhares de URLs, performance deixa de ser um problema de front-end e passa a ser um problema de arquitetura e de infraestrutura de rastreamento. Nesse ponto, as três métricas e a capacidade do Googlebot de processar o site competem pelos mesmos recursos.
Renderização, JavaScript e o custo para o Googlebot
Páginas que dependem de JavaScript para exibir conteúdo entram em uma fila de renderização, cuja capacidade é limitada e compartilhada com o restante da web. O resultado é atraso entre rastreamento e indexação, Seo Setup o que pode fazer conteúdo novo levar dias ou semanas para aparecer. Renderização no servidor ou geração estática reduz drasticamente esse custo e melhora simultaneamente LCP e INP.
Crawl budget e indexação de páginas estratégicas
Se o servidor responde devagar ou há muitas URLs duplicadas e parâmetros infinitos, o Googlebot desperdiça orçamento de rastreamento em páginas sem valor, atrasando a descoberta das páginas que geram receita. Corrigir conflitos de canonical, eliminar redirecionamentos em cadeia, ajustar o robots.txt e reduzir facetas de filtro rastreáveis são medidas que protegem a indexação e liberam capacidade de rastreamento.
Arquitetura, CDN e orçamento de performance
Times maduros tratam performance como contrato: cada rota tem um orçamento de JavaScript, de imagens e de requisições, verificado automaticamente antes do merge. CDN com edge para cache, compressão Brotli, HTTP/2 ou HTTP/3 e critical CSS por template formam a base. Sem esse orçamento, a degradação retorna em três ou quatro sprints.
Resumo e próximos passos práticos
Em síntese, as Core Web Vitals são o painel que conecta experiência real do usuário a resultado de negócio: LCP revela se o conteúdo chega rápido, INP revela se a interface responde e CLS revela se o layout é confiável. Elas são medidas em campo, avaliadas no percentil 75 e usadas como sinal de qualidade que, em contextos competitivos, desempata posições. Para transformar isso em ganho concreto, siga uma sequência disciplinada:
- Diagnostique com dados de campo primeiro: exporte o relatório de Core Web Vitals do Search Console e cruze com analytics para identificar as páginas com problema que realmente recebem tráfego e geram receita.
- Priorize por impacto financeiro: ordene as correções pelo produto entre volume de sessões, valor da página no funil e severidade da métrica. Um template de produto sempre vence uma página institucional.
- Ataca o LCP na origem: reduza TTFB com cache e CDN, otimize a imagem hero com fetchpriority e formato moderno, e remova o JavaScript que bloqueia a renderização do conteúdo principal.
- Instrumente INP antes de otimizar: colete dados de RUM para descobrir quais interações travam. Sem isso, a otimização vira tentativa e erro em código que ninguém clica.
- Zere o CLS com correções estruturais: dimensões em mídias, reserva de espaço para anúncios e size-adjust em fontes resolvem a maior parte dos casos sem tocar no design.
- Institua orçamento de performance em CI: sem verificação automática por rota, cada novo recurso de terceiros reintroduz o problema silenciosamente.
- Meça o resultado em receita, não só em milissegundos: acompanhe conversão, taxa de rejeição e receita orgânica antes e depois de cada ciclo de otimização, com janela de comparação adequada.
O ponto final é simples: essas métricas não são um projeto com data de término, e sim um indicador operacional contínuo. Times que as tratam como parte do ciclo de entrega — com responsáveis definidos, seo setup orçamento técnico e monitoramento em produção — recuperam receita orgânica perdida, reduzem desperdício de rastreamento e melhoram a experiência de forma sustentável. Os que as tratam como auditoria anual descobrem, a cada novo deploy, que o ganho conquistado já foi consumido por scripts adicionados no sprint seguinte.