O que sao os Core Web Vitals?
Os Core Web Vitals sao um conjunto de metricas de desempenho do mundo real definidas pela Google para medir a qualidade da experiencia do utilizador das paginas web. Tornaram-se um sinal de classificacao da Google em 2021 e foram atualizados desde entao. Medem o desempenho de carregamento, a estabilidade visual e a interatividade, os tres aspetos da experiencia de pagina que mais afetam os utilizadores.
Existem atualmente tres metricas de Core Web Vitals:
- LCP, Largest Contentful Paint (carregamento)
- CLS, Cumulative Layout Shift (estabilidade visual)
- INP, Interaction to Next Paint (interatividade, substituiu o FID em 2024)
LCP, Largest Contentful Paint
O que mede: quanto tempo demora o maior elemento de conteudo visivel a ser renderizado. Normalmente e uma imagem principal, um cabecalho grande ou o poster de um video em ecra completo.
Por que importa: o LCP e um indicador de "com que rapidez parece que a pagina carregou?" Os utilizadores formam a sua impressao primaria da velocidade da pagina quando o conteudo principal aparece.
Pontuacao:
- Bom: <= 2,5 segundos
- Precisa de melhoria: 2,5-4 segundos
- Mau: > 4 segundos
Causas comuns de LCP fraco:
- Uma imagem principal grande e nao otimizada (formato errado, sem
loading="lazy"em imagens da primeira vista, na verdade, NAO faca lazy-load nos elementos LCP) - JavaScript ou CSS a bloquear a renderizacao
- Tempo de resposta do servidor lento (TTFB > 600ms)
- Ausencia de preloading do recurso LCP
Correcao principal: faca preload da sua imagem LCP. Adicione <link rel="preload" as="image" href="hero.webp"> no <head>. Isto por si so tipicamente reduz o LCP em 1-2 segundos.
CLS, Cumulative Layout Shift
O que mede: quanto o layout da pagina muda de forma inesperada durante o carregamento e uso. Cada mudanca e pontuada pela fracao do viewport afetada e a distancia que os elementos se moveram.
Por que importa: as mudancas inesperadas de layout causam cliques no elemento errado, perda da posicao de leitura e uma experiencia frustante. O exemplo classico: um botao "Registar" move-se mesmo quando clica nele e acidentalmente clica no anuncio abaixo.
Pontuacao:
- Bom: <= 0,1
- Precisa de melhoria: 0,1-0,25
- Mau: > 0,25
Causas comuns de CLS:
- Imagens sem atributos explicitos
widtheheight(o browser nao reserva espaco antes de a imagem carregar) - Anuncios ou incorporacoes injetados sem espaco reservado
- Tipos de letra web a causar um flash de texto sem estilo (FOUT) que altera o layout
- Banners ou avisos de cookies carregados tarde que empurram o conteudo para baixo
Correcao principal: defina sempre width e height nos elementos <img>. O browser usa-os para reservar o espaco correto antes de a imagem carregar, evitando uma mudanca.
INP, Interaction to Next Paint
O que mede: a capacidade de resposta da pagina as interacoes do utilizador (cliques, toques, entrada de teclado). O INP mede o tempo desde o inicio da interacao ate a proxima atualizacao visual em todas as interacoes durante uma sessao, e indica o pior caso (excluindo valores aberrantes).
O INP substituiu o FID (First Input Delay) em marco de 2024. O FID so media a primeira interacao; o INP mede todas as interacoes ao longo da sessao.
Pontuacao:
- Bom: <= 200 milissegundos
- Precisa de melhoria: 200-500ms
- Mau: > 500ms
Causas comuns de INP fraco:
- JavaScript pesado na thread principal a bloquear a resposta
- Tarefas longas (> 50ms) a correr durante a interacao
- Operacoes DOM dispendiosas acionadas por cliques
- Scripts de terceiros (analitica, anuncios) a competir pela thread principal
Correcao principal: divida as tarefas longas usando scheduler.yield() ou setTimeout(fn, 0). Audite e adie scripts de terceiros. Use um perfilador de desempenho (Chrome DevTools -> separador Performance) para identificar tarefas longas.
Como medir os Core Web Vitals
Monitorizacao de utilizadores reais (RUM):
- Google Search Console -> relatorio Core Web Vitals (dados de campo de utilizadores reais do Chrome)
- Chrome User Experience Report (CrUX), o conjunto de dados publico que a Google usa para classificacao
Testes de laboratorio (sinteticos):
- PageSpeed Insights (pagespeed.web.dev), executa o Lighthouse e mostra dados de campo
- Lighthouse no Chrome DevTools (Ctrl+Shift+J -> separador Lighthouse)
- WebPageTest, cascata detalhada e filmstrip
Importante: as pontuacoes de laboratorio e de campo podem diferir significativamente. A Google usa dados de campo (CrUX) para classificacao. Se tiver dados de campo disponiveis, otimize para eles, nao apenas para a pontuacao do Lighthouse.
Verificar as suas meta tags para SEO
Meta tags bem estruturadas (titulo, descricao, canonical, Open Graph) apoiam o desempenho nos motores de busca. O Analisador de Meta Tags deste site verifica os metadados de qualquer URL quanto a integridade e correção.
Resumo
LCP (carregamento), CLS (estabilidade) e INP (interatividade) sao os tres sinais de classificacao Core Web Vitals da Google. Limites bons: LCP <= 2,5s, CLS <= 0,1, INP <= 200ms. Fazer preload do recurso LCP, adicionar dimensoes as imagens e eliminar o JavaScript a bloquear a thread principal sao as correcoes de maior impacto para a maioria dos sites.