SEO e marketing digital com tablet — Core Web Vitals e métricas de performance

Core Web Vitals: o que são, como medir e como melhorar LCP, INP e CLS

Em 2020, o Google anunciou que um conjunto de métricas de experiência do usuário se tornaria fator oficial de ranqueamento em 2021. A decisão gerou mais debate no mercado de SEO do que qualquer atualização de algoritmo da década anterior: afinal, pela primeira vez o Google estava dizendo explicitamente que a qualidade da experiência de carregar uma página seria avaliada e usada para decidir posições.

Essas métricas têm nome: Core Web Vitals.

Trabalho com SEO desde 1997. Vi muitas atualizações de algoritmo e muitas promessas de “o fator de ranqueamento definitivo”. Core Web Vitals é diferente por uma razão simples: não é subjetivo. São métricas objetivas, mensuráveis, com thresholds claros definidos pelo Google. Você pode medir exatamente onde está e quanto precisa melhorar.

Neste guia completo vou explicar o que são Core Web Vitals, como funcionam as três métricas principais, os thresholds que o Google usa, as causas mais comuns de falha e as otimizações com maior impacto.

SEO e marketing digital — Core Web Vitals e métricas de performance do Google
Core Web Vitals são as métricas de experiência do usuário que o Google usa como fator de ranqueamento — LCP para velocidade de carregamento, INP para responsividade e CLS para estabilidade visual

O que são Core Web Vitals

Core Web Vitals são um conjunto de métricas específicas que o Google usa para avaliar a experiência do usuário ao carregar uma página web. Fazem parte de um conjunto mais amplo de sinais de experiência de página (Page Experience Signals) que incluem também compatibilidade mobile, HTTPS e ausência de interstitials intrusivos.

As três métricas Core Web Vitals são:

  • LCP — Largest Contentful Paint: velocidade de carregamento do conteúdo principal
  • INP — Interaction to Next Paint: responsividade a interações do usuário
  • CLS — Cumulative Layout Shift: estabilidade visual durante o carregamento

Cada métrica tem thresholds que definem três zonas de avaliação:

  • 🟢 Bom: A página oferece boa experiência
  • 🟡 Precisa melhorar: A experiência pode ser melhorada
  • 🔴 Ruim: A experiência é insatisfatória

Para que o Google considere um site com “boa experiência de página”, pelo menos 75% das visitas devem estar na zona “Bom” para cada métrica Core Web Vitals.

LCP — Largest Contentful Paint

Dashboard SEO com métricas — LCP e análise de Core Web Vitals
O LCP mede o tempo até que o maior elemento visível da página seja carregado — frequentemente a imagem de destaque (hero image) ou o maior bloco de texto — e é a métrica mais diretamente percebida pelo usuário como “a página carregou”

O LCP (Largest Contentful Paint) mede o tempo desde que o usuário inicia o carregamento da página até que o maior elemento de conteúdo visível na área visível (viewport) seja completamente renderizado.

Thresholds:

  • 🟢 Bom: abaixo de 2,5 segundos
  • 🟡 Precisa melhorar: 2,5 a 4,0 segundos
  • 🔴 Ruim: acima de 4,0 segundos

O elemento LCP é tipicamente a imagem de destaque (hero image) ou o maior bloco de texto visível na parte superior da página. Identificar qual elemento é o LCP é o primeiro passo — você pode ver isso no relatório do PageSpeed Insights, que destaca o elemento.

Causas comuns de LCP lento

Imagens grandes sem otimização: A causa mais frequente. Uma imagem de 3MB como hero image garante LCP ruim em qualquer dispositivo mobile. Solução: WebP, compressão sem perda de qualidade visual, dimensionamento correto para cada breakpoint via srcset.

TTFB alto (Time to First Byte): Se o servidor demora para começar a responder, o LCP vai ser impactado independentemente de qualquer outra otimização. Causas: hospedagem compartilhada lenta, banco de dados sem cache, ausência de CDN. Solução: cache de servidor (WP Rocket, Redis), CDN (Cloudflare), upgrade de hospedagem.

Render-blocking resources: CSS e JavaScript que bloqueiam a renderização da página antes que o elemento LCP seja exibido. Solução: CSS crítico inline no <head>, scripts não-críticos com defer ou async.

Lazy loading no elemento LCP: Um erro clássico — aplicar lazy loading na imagem que é o elemento LCP. O lazy loading adia o carregamento de imagens abaixo do fold, mas a imagem principal acima do fold deve ser carregada imediatamente. Adicione fetchpriority="high" ao elemento LCP para garantir que seja priorizado.

INP — Interaction to Next Paint

O INP (Interaction to Next Paint) substituiu o FID (First Input Delay) como métrica de responsividade em março de 2024. Enquanto o FID media apenas o primeiro clique na página, o INP mede a latência de todas as interações durante toda a sessão do usuário — toques, cliques e entradas de teclado.

Thresholds:

  • 🟢 Bom: abaixo de 200ms
  • 🟡 Precisa melhorar: 200ms a 500ms
  • 🔴 Ruim: acima de 500ms

Um INP ruim significa que quando o usuário clica em um botão, toca em um link ou digita em um campo, a página demora para responder visualmente. No mobile, essa latência é percebida como a página “travada” — uma das piores experiências possíveis.

Causas comuns de INP ruim

JavaScript pesado na thread principal: A causa raiz mais comum. Scripts que bloqueiam a thread principal do browser impedem que as interações do usuário sejam processadas rapidamente. Solução: quebrar tarefas longas de JavaScript em chunks menores, usar Web Workers para processamento intensivo, diferir scripts não-críticos.

Múltiplos scripts de terceiros: Pixels de rastreamento, scripts de chat, widgets de redes sociais, ferramentas de heatmap — cada um adiciona JavaScript que compete pela thread principal. Audite quais são realmente necessários e carregue os não-críticos de forma assíncrona.

React/Vue/Angular com renderização lenta: Frameworks JavaScript modernos podem causar INP ruim quando a hidratação do componente acontece durante uma interação do usuário. Técnicas como hydration diferida e code splitting ajudam.

CLS — Cumulative Layout Shift

Google no smartphone — CLS e estabilidade visual no mobile
O CLS mede os deslocamentos inesperados de elementos durante o carregamento — no mobile, onde a tela é pequena, qualquer shift é proporcionalmente mais perturbador e mais fácil de gerar CLS acima do threshold

O CLS (Cumulative Layout Shift) mede a estabilidade visual da página durante o carregamento. Um CLS alto significa que elementos na tela estão “pulando” enquanto a página carrega — causando cliques acidentais e experiência frustrante.

Thresholds:

  • 🟢 Bom: abaixo de 0,1
  • 🟡 Precisa melhorar: 0,1 a 0,25
  • 🔴 Ruim: acima de 0,25

O CLS é calculado como o produto da fração de área impactada pelo deslocamento e a distância do deslocamento. Múltiplos shifts pequenos se acumulam no score total.

Causas comuns de CLS alto

Imagens sem dimensões definidas no HTML: A causa mais comum. Quando o browser não sabe o tamanho de uma imagem antes de carregá-la, ele não reserva o espaço — e quando a imagem carrega, empurra todo o conteúdo abaixo. Solução: sempre defina width e height nos elementos <img>, ou use CSS com aspect-ratio.

Anúncios e embeds sem espaço reservado: Banners que aparecem depois do carregamento inicial empurram o conteúdo para baixo. Solução: reserve espaço fixo para anúncios mesmo antes de carregarem, usando um container com dimensões mínimas definidas.

Fontes web que trocam (FOUT/FOIT): Quando uma fonte web carrega e substitui a fonte fallback, o texto pode mudar de tamanho e causar shift. Solução: use font-display: optional ou font-display: swap com fonte fallback de métricas similares, ou pré-carregue as fontes críticas com <link rel="preload">.

Banners de cookies e notificações: Pop-ups que aparecem depois do carregamento inicial e empurram o conteúdo causam CLS. Solução: exiba esses elementos em posição fixa (fixed) que não afeta o layout do documento.

Como Medir Core Web Vitals

Código HTML e otimização técnica para Core Web Vitals
A distinção entre dados de campo e dados de laboratório é fundamental — dados de campo refletem a experiência real dos usuários e são os que o Google usa para ranqueamento; dados de laboratório são simulações úteis para diagnóstico

Existem duas fontes de dados para Core Web Vitals — e a distinção é crítica:

Dados de Campo (Field Data)

Dados reais coletados de usuários reais visitando o site, via Chrome User Experience Report (CrUX). São os dados que o Google usa efetivamente para ranqueamento. Disponíveis em:

  • Google Search Console — Relatório de Experiência na Página: Visão geral de Core Web Vitals por URL e por dispositivo. A forma mais direta de ver quantas URLs estão “Boas”, “Precisam melhorar” ou “Ruins”.
  • PageSpeed Insights: Seção “Dados de campo” mostra os valores reais de CrUX para a URL específica.
  • Chrome UX Dashboard (Looker Studio): Para análise histórica e por segmento de dispositivo.

Dados de Laboratório (Lab Data)

Simulações em condições controladas. Úteis para diagnóstico e desenvolvimento mas não refletem a experiência real dos usuários. Disponíveis em:

  • PageSpeed Insights — Seção de laboratório: Simula o carregamento em condições definidas (mobile 4G, desktop).
  • Lighthouse (Chrome DevTools): Análise detalhada com sugestões específicas de otimização.
  • WebPageTest: Testes mais avançados com múltiplas localizações, dispositivos e condições de rede.

Um erro comum: focar apenas nos dados de laboratório. Uma URL pode ter ótimos dados de laboratório e dados de campo ruins — porque os laboratórios simulam condições ideais enquanto usuários reais têm dispositivos lentos, conexões instáveis e scripts de terceiros que não aparecem nas simulações.

Core Web Vitals no WordPress: otimizações práticas

Laptop com WordPress e smartphone — otimização de Core Web Vitals no WordPress
WordPress é a plataforma mais usada do mundo e também a que mais facilmente acumula plugins conflitantes que degradam os Core Web Vitals — auditar e remover plugins desnecessários frequentemente tem mais impacto do que instalar um plugin de otimização

Para sites WordPress — a plataforma mais comum nos projetos que gerencio — estas são as configurações com maior impacto nos Core Web Vitals:

Cache e Compressão

WP Rocket é o plugin de cache com maior impacto positivo nos Core Web Vitals que conheço. Oferece: cache de página, minificação de CSS/JS, lazy loading de imagens, carregamento diferido de JavaScript e pré-conexão a domínios críticos. Uma configuração adequada do WP Rocket resolve a maioria dos problemas de LCP e INP em WordPress.

Alternativas gratuitas: W3 Total Cache (mais complexo) e LiteSpeed Cache (apenas para servidores LiteSpeed).

Otimização de Imagens

Plugins como Imagify, ShortPixel ou Smush convertem automaticamente para WebP e comprimem imagens no upload. Configure para comprimir imagens existentes também, não apenas novas uploads.

Para o elemento LCP (geralmente a imagem destaque do post), adicione o atributo fetchpriority="high" no HTML da imagem para garantir que seja priorizada no carregamento.

CDN

Cloudflare (plano gratuito já disponível) reduz o TTFB ao servir assets estáticos de servidores geograficamente próximos ao usuário. Para sites com audiência no Brasil, configurar o Cloudflare com cache agressivo para assets estáticos é uma das otimizações com maior impacto no LCP.

Auditoria de Plugins

Cada plugin ativo em WordPress adiciona JavaScript e CSS. Plugins de construtores de página (Elementor, Divi, WPBakery) são conhecidos por adicionar muito código desnecessário. Use o Query Monitor ou o Chrome DevTools para identificar quais plugins estão adicionando mais JavaScript à thread principal — e questione se cada um é realmente necessário.

Core Web Vitals e o Impacto no Ranqueamento

Uma pergunta recorrente: Core Web Vitals realmente impactam o ranqueamento de forma significativa?

A resposta honesta, baseada em dados e experiência: sim, mas como tiebreaker entre páginas com qualidade de conteúdo similar. O Google deixou claro que conteúdo excelente com Core Web Vitals ruins ainda vai superar conteúdo ruim com Core Web Vitals perfeitos.

O impacto real é maior em dois cenários: keywords muito competitivas onde múltiplas páginas têm conteúdo de alta qualidade similar (aqui os Core Web Vitals podem ser o diferenciador), e em mobile especialmente, onde os thresholds são mais difíceis de atingir e o Google dá mais peso à experiência mobile por causa do mobile-first indexing.

Além do ranqueamento, Core Web Vitals têm impacto direto em métricas de negócio — taxa de rejeição, tempo de sessão, taxa de conversão. Pesquisas do Google mostram correlação entre melhorias de Core Web Vitals e aumento de conversões em e-commerces. Para SEO de e-commerce, otimizar Core Web Vitals é tanto SEO quanto CRO simultaneamente.

Em auditorias de SEO, verificar Core Web Vitals via Search Console é uma das primeiras etapas — antes de recomendar qualquer outra otimização on-page ou off-page.

Perguntas Frequentes sobre Core Web Vitals

O que são Core Web Vitals?

São três métricas de experiência do usuário que o Google usa como fator de ranqueamento: LCP (velocidade de carregamento do conteúdo principal), INP (responsividade a interações) e CLS (estabilidade visual). Cada uma tem thresholds definidos que classificam as páginas em Bom, Precisa melhorar ou Ruim.

Quais são as métricas Core Web Vitals e seus thresholds?

LCP (Largest Contentful Paint): Bom abaixo de 2,5s, Ruim acima de 4,0s. INP (Interaction to Next Paint): Bom abaixo de 200ms, Ruim acima de 500ms. CLS (Cumulative Layout Shift): Bom abaixo de 0,1, Ruim acima de 0,25. Para aprovação, pelo menos 75% das visitas precisam estar na zona Bom para cada métrica.

Core Web Vitals afetam diretamente o ranqueamento?

Sim, são fator oficial de ranqueamento desde 2021. O impacto é maior como tiebreaker entre páginas de qualidade similar. Conteúdo excelente com Core Web Vitals ruins ainda supera conteúdo ruim com métricas perfeitas. Mas em keywords competitivas onde o conteúdo é comparável, Core Web Vitals podem ser o diferenciador.

Qual a diferença entre dados de campo e dados de laboratório?

Dados de campo são coletados de usuários reais via Chrome UX Report e são os usados pelo Google para ranqueamento. Dados de laboratório são simulações em condições controladas, úteis para diagnóstico mas não refletem a experiência real. Uma URL pode ter ótimos dados de laboratório e dados de campo ruins.

Como melhorar o LCP?

As principais ações são: converter imagens para WebP e comprimi-las, reduzir o TTFB com cache de servidor e CDN, eliminar render-blocking resources com CSS inline e scripts com defer, e adicionar fetchpriority=”high” ao elemento LCP para priorizá-lo no carregamento.

Por que o CLS é alto no meu site?

As causas mais comuns são imagens sem dimensões definidas no HTML, anúncios e embeds sem espaço reservado, fontes web que trocam durante o carregamento e banners de cookies que deslocam o conteúdo. Definir width e height em todas as imagens é a correção com maior impacto na maioria dos casos.

Core Web Vitals são medidos no mobile ou no desktop?

Ambos, separadamente. O Google Search Console mostra dados separados para mobile e desktop. Os thresholds são os mesmos, mas atingi-los no mobile é significativamente mais difícil por causa da menor capacidade de processamento e conexões variáveis. Como o Google usa mobile-first indexing, os dados mobile têm maior impacto no ranqueamento.


📚 Veja também