Maior Pintura de Conteúdo (LCP)

O que o LCP mede, seus limites, as quatro subpartes que o compõem e como realmente melhorá-lo — a Core Web Vital com a qual as pessoas mais têm dificuldade.

Publicado pela primeira vez: 26 de jun. de 2026 · Última atualização: 11 de ago. de 2026 · Avançado
Idiomas

A Maior Pintura de Conteúdo (LCP) é o tempo de renderização da maior imagem ou bloco de texto visível no viewport, em relação ao início do carregamento da página. Bom é ≤2,5 s no 75º percentil de usuários reais; é uma das três Core Web Vitals. Ela se divide em quatro subpartes — TTFB, atraso de carregamento de recurso, duração do carregamento de recurso e atraso de renderização do elemento — e TTFB mais duração do carregamento geralmente dominam. As maiores vitórias: não faça lazy-load da imagem LCP, dê a ela fetchpriority=high, pré-carregue-a, corte recursos que bloqueiam a renderização e corrija o TTFB. É uma métrica de campo — ferramentas de laboratório apenas a aproximam — e, das Core Web Vitals, é a que as pessoas mais têm dificuldade de passar, especialmente no mobile.

TL;DR — LCP é o tempo de renderização da maior imagem ou bloco de texto visível no viewport, relativo ao início do carregamento da página. Bom é ≤ 2,5 s no 75º percentil de usuários reais (divididos por dispositivo); 2,5–4 s precisa de trabalho, acima de 4 s é ruim. É uma das três Core Web Vitals e se divide em quatro subpartes — TTFB, atraso de carregamento de recurso, duração de carregamento de recurso, atraso de renderização de elemento — onde TTFB e duração de carregamento geralmente dominam (diretrizes, não proporções fixas — diagnostique sua própria página). Principais correções: nunca faça lazy-load da imagem de LCP, adicione fetchpriority="high" no candidato real, pré-carregue quando não estiver no HTML, elimine CSS/JS que bloqueiam a renderização e corrija o TTFB. É uma métrica de campo — ferramentas de laboratório apenas a aproximam — e o elemento de LCP pode mudar durante o carregamento. O Google confirma que as Core Web Vitals alimentam os sistemas de ranqueamento, mas não publica um peso exato de LCP nem o chama de desempate; a relevância do conteúdo ainda domina.

O que o LCP realmente mede

O LCP informa o tempo de renderização da maior imagem ou bloco de texto visível no viewport, medido em relação ao momento em que o usuário navegou pela primeira vez para a página. O enquadramento do próprio Google: é o proxy padronizado mais próximo de quando o conteúdo principal aparece para o usuário. Ele substituiu métricas anteriores e mais imprecisas, como First Meaningful Paint e Speed Index.

Algumas coisas que confundem as pessoas logo de cara:

  • Não é “tempo de carregamento da página”. Uma página pode ter todos os recursos buscados e ainda assim registrar um LCP lento se a renderização do maior elemento foi bloqueada. O LCP diz respeito a esse único elemento, não à página inteira.
  • Não é o mesmo que FCP. O First Contentful Paint é acionado quando qualquer conteúdo aparece pela primeira vez; o LCP espera pelo elemento maior. Uma página pode ter um FCP rápido (a barra de navegação é pintada) e um LCP lento (a imagem hero carrega tarde).
  • É uma métrica dinâmica. O navegador envia um novo candidato a LCP sempre que um elemento maior se torna visível. A última entrada antes de o usuário interagir (toque, rolagem, tecla) ou de a página ser descarregada é o valor que conta — a interação geralmente muda o que está visível, então o relatório para aí. Um candidato que é posteriormente removido do DOM não apaga a própria entrada — ele continua sendo o elemento informado, a menos que um elemento ainda maior seja renderizado antes de o relatório parar.

Os limites — e por que 2,5 segundos

FaixaLCP
Bom≤ 2,5 s
Precisa de melhorias2,5 s – 4,0 s
Ruim> 4,0 s

Avaliado no 75º percentil dos carregamentos de página de usuários reais, segmentado por tipo de dispositivo. Ou seja, três em cada quatro visitas precisam ficar abaixo de 2,5 s para uma origem passar.

Evidence for this claim A good LCP is 2.5 seconds or less at the 75th percentile of page loads, segmented by device type. Scope: Current web.dev LCP field threshold and assessment method. Confidence: high · Verified: web.dev: Largest Contentful Paint

Por que 2,5 especificamente? A metodologia de limites do Google se apoiou em duas coisas: pesquisas de percepção humana apontando para aproximadamente 1–3 segundos como a faixa que parece “imediata”, e dados de viabilidade do CrUX mostrando que 2,5 s era consistentemente alcançável para sites bem otimizados sem ser trivialmente fácil. Metas mais apertadas, como 1,5 s ou 2,0 s, não eram consistentemente alcançáveis em origens suficientes, então não entraram no corte.

O que conta como elemento de LCP

Os tipos de elemento considerados para LCP:

  • Elementos <img>
  • Elementos <image> dentro de um <svg>
  • Elementos <video> (o tempo de carregamento da imagem do pôster, ou o primeiro quadro, o que ocorrer antes)
  • Um elemento com imagem de fundo carregada via função url() do CSS
  • Elementos de nível de bloco contendo nós de texto ou outros filhos de texto inline

O tamanho informado é o que está realmente visível no viewport — porções cortadas ou roladas para fora não contam, e para imagens é o tamanho visível ou o tamanho intrínseco, o que for menor. Margens, preenchimento e bordas são ignorados. Alguns elementos são excluídos por heurísticas: qualquer coisa com opacity: 0, elementos que cobrem todo o viewport (tratados como fundos) e imagens de espaço reservado de baixa entropia.

Cerca de três quartos das páginas têm uma imagem como elemento de LCP — então o trabalho com imagens geralmente é o primeiro passo certo. Mas nem sempre, e nem sempre compressão (mais sobre isso a seguir). O restante são LCPs de texto, onde a alavanca é totalmente diferente: é o carregamento de fontes, não o peso da imagem.

As quatro subpartes — a parte que a maioria dos artigos pula

Este é o framework com o qual eu começaria qualquer diagnóstico de LCP. O web.dev divide o LCP em quatro subpartes sequenciais:

  1. Time to First Byte (TTFB) — desde quando o usuário começa a carregar a página até quando o navegador recebe o primeiro byte de HTML. Participação típica: ~40% do LCP total.
  2. Atraso no carregamento do recurso — a lacuna entre o TTFB e o navegador começando a carregar o recurso de LCP. Este é o tempo de descoberta. Participação típica: menos de 10%.
  3. Duração do carregamento do recurso — quanto tempo o próprio recurso de LCP leva para ser baixado. Participação típica: ~40%.
  4. Atraso na renderização do elemento — desde quando o recurso termina de carregar até quando o elemento realmente é pintado. Participação típica: menos de 10%.
Subparte do LCPParticipação típica no LCP total
Time to First Byte~40%
Atraso no carregamento do recurso< 10%
Duração do carregamento do recurso~40%
Atraso na renderização do elemento< 10%

O princípio por trás da tabela: a grande maioria do tempo de LCP deve ser gasta carregando o documento HTML e o recurso de LCP. Qualquer trecho em que nenhum deles está carregando é uma oportunidade de melhoria.

O web.dev é explícito que essas porcentagens são diretrizes, não regras estritas — não as converta em metas de segundos absolutos e não force cada página a corresponder à divisão. Elas só são significativas em relação umas às outras, e se o seu LCP já estiver consistentemente dentro de 2,5 segundos, as proporções relativas não importam em nada. Use a tabela para identificar qual subparte está consumindo uma parcela desproporcional na sua página e corrija essa — não para buscar uma divisão exata de 40/10/40/10.

Evidence for this claim An LCP image should not be lazy-loaded, and reducing resource load delay is a primary LCP optimization. Scope: web.dev guidance for image-based LCP elements. Confidence: high · Verified: web.dev: Optimize LCP
Break LCP into four sequential sub-parts, then optimize the part consuming more than its intended share. Fonte: web.dev

The timeline begins with Time to First Byte, targeted at roughly 40 percent of total LCP. Resource load delay follows and should remain under 10 percent. Resource load duration is targeted at roughly 40 percent. Element render delay should remain under 10 percent and ends when the largest element actually paints.

© Patrick Stox LLC · CC BY 4.0 ·

E aqui está o ponto que derruba a suposição comum: a partir de fevereiro de 2025, essas quatro subpartes estão disponíveis na API do CrUX para LCPs de imagem, e a análise da equipe do Chrome dos dados do HTTP Archive descobriu que o tempo de download da imagem era frequentemente a menor parte do tempo de LCP. Em outras palavras, “apenas comprima minhas imagens” frequentemente corrige a subparte errada. TTFB e atraso de descoberta geralmente são as maiores alavancas.

Como encontrar seu elemento de LCP

Antes de otimizar qualquer coisa, descubra qual elemento é o seu LCP e qual subparte é o gargalo:

  • PageSpeed Insights — a seção Diagnostics sinaliza o elemento de LCP, e a aba de dados de campo mostra sua pontuação de usuários reais.
  • Chrome DevTools — o painel Performance marca o nó de LCP na linha do tempo.
  • A biblioteca JS web-vitals — registre o LCP (e o elemento) a partir do seu próprio monitoramento de usuários reais.

Como melhorar o LCP

Mapeie cada correção para a subparte que ela visa:

Corrija o atraso no carregamento do recurso (descoberta). Esta é a de maior alavancagem e a mais comumente quebrada.

  • Nunca use lazy-load na sua imagem de LCP. loading="lazy" no elemento de LCP sempre adiciona atraso de carregamento desnecessário. Reserve o lazy loading para imagens abaixo da dobra.
  • Adicione fetchpriority="high" à imagem provável de LCP para que o navegador a busque cedo com alta prioridade.
  • Pré-carregue-a com <link rel="preload"> quando a imagem não for detectável no HTML inicial — por exemplo, quando ela é carregada via CSS ou JavaScript. Carregar a imagem hero via JS é um anti-padrão precisamente porque esconde a URL do scanner de pré-carregamento do navegador.
  • Hospede recursos críticos na mesma origem para que o navegador não pague custo extra de configuração de conexão.
Evidence for this claim An LCP image should not be lazy-loaded, and reducing resource load delay is a primary LCP optimization. Scope: web.dev guidance for image-based LCP elements. Confidence: high · Verified: web.dev: Optimize LCP

Preload e fetchpriority resolvem problemas diferentes, então não use ambos por hábito. O preload expõe um recurso que o scanner de pré-carregamento do navegador descobriria tarde (uma imagem carregada via JS ou CSS, por exemplo); fetchpriority altera a prioridade de busca de um recurso que o navegador já encontrou. Se a descoberta e a prioridade já estiverem corretas — a imagem é um <img> simples no HTML inicial — adicionar qualquer um pode fazer pouco além de requisições extras. Verifique um trace, aplique o que corresponde ao problema real e confirme que o número de campo mudou.

Corrija o atraso na renderização do elemento.

  • Reduza ou inline o CSS que bloqueia a renderização; adie estilos não críticos.
  • Evite scripts síncronos no <head>.
  • Prefira renderização no servidor ou geração estática para que o markup chegue pronto para pintar, e divida tarefas longas do thread principal.

Reduza a duração do carregamento do recurso.

  • Formatos de imagem modernos (WebP, AVIF), compressão sensata e um CDN.
  • Cache-Control eficiente. E não ignore a contenção de rede — usar lazy-load nas outras imagens abaixo da dobra pode liberar largura de banda para que a imagem de LCP chegue mais cedo.

Reduza o TTFB.

  • Minimize redirecionamentos, remova parâmetros de URL únicos desnecessários e otimize o tempo de resposta do servidor. Observe que o LCP inclui qualquer tempo de descarga da página anterior, configuração de conexão e tempo de redirecionamento — tudo isso entra no TTFB.

Caso especial: LCP baseado em texto. Quando o maior elemento é texto, o caminho crítico é o carregamento de fontes, não o peso da imagem. font-display: optional ou fontes do sistema eliminam o atraso de renderização induzido por fontes; font-display: swap sem pré-carregar o arquivo de fonte pode introduzi-lo.

Lab vs. campo — essa distinção importa

O LCP é fundamentalmente uma métrica de campo. O Google o avalia em usuários reais via CrUX, apresentado na aba de campo do PageSpeed Insights e no relatório Core Web Vitals do Search Console. Esses dados de campo são o que alimenta o ranqueamento.

Ferramentas de laboratório — Lighthouse, Chrome DevTools, WebPageTest — apenas aproximam sob condições simuladas, e elas nem usam a mesma pontuação. O Lighthouse aplica limiares de desktop mais rigorosos (Bom ≤ 1,2 s) do que o padrão de campo (≤ 2,5 s). Portanto, uma pontuação de aprovação no Lighthouse não garante uma pontuação de aprovação no CrUX, e vice-versa. Use ferramentas de laboratório para depurar e reproduzir; confie nos dados de campo para o veredito real.

Há uma segunda razão pela qual os números de laboratório e campo podem divergir, que vale a pena conhecer para que uma leitura estranha não o faça perseguir um bug fantasma: a atual API do navegador LargestContentfulPaint (ainda um Working Draft do W3C) é limitada a um único carregamento de documento. Ela não é redefinida em restaurações do cache de ida e volta (bfcache) ou em navegações SPA no mesmo documento, e páginas que começam fora da tela — abas em segundo plano, páginas pré-renderizadas — podem relatar valores inflados porque o tempo é medido a partir do carregamento, não de quando a página realmente se tornou visível. O algoritmo de relatório também é interrompido em entrada de usuário qualificada, então se um usuário interage antes de seu conteúdo principal ser exibido, o LCP não o capturará. Nada disso muda a tabela de limiares acima; isso explica por que o número de uma sessão específica pode parecer errado quando a navegação subjacente não é um primeiro carregamento simples.

O LCP afeta o ranqueamento?

Sim, no sentido de que o Google confirma que os Core Web Vitals alimentam seus sistemas de ranqueamento e recomenda alcançar boas pontuações. Mas a documentação atual do Search Central não publica um peso exato para o LCP e não o descreve como um desempate — o próprio enquadramento do Google é que a experiência da página “can contribute to success in Search” (tradução) «pode contribuir para o sucesso na Pesquisa» para consultas em que várias páginas já oferecem conteúdo comparável e relevante, e que uma boa pontuação não garante um impulso no ranqueamento. A relevância e a qualidade do conteúdo ainda dominam. Otimize o LCP porque uma página que parece mais rápida é genuinamente melhor para os usuários (e para as conversões) — não porque o mecanismo seja documentado como um desempate de ranqueamento, porque não é.

Evidence for this claim Google says Core Web Vitals are used by ranking systems, but current documentation does not specify an LCP weight, tiebreaker rule, or ranking guarantee. Scope: ranking systems Confidence: high · Verified: Understanding page experience in Google Search results

Algumas realidades dos dados: dos Core Web Vitals, o LCP é o que os sites mais têm dificuldade em melhorar, e é visivelmente mais difícil no mobile do que no desktop — CPUs e conexões mais lentas. Em 3G ou mais lento, o limiar de 2,5 s pode parecer quase impossível de alcançar.

Onde isso se encaixa

O LCP é um dos três Core Web Vitals, ao lado de Interaction to Next Paint e Cumulative Layout Shift. Sua primeira subparte, Time to First Byte, é sua própria métrica de diagnóstico, e First Contentful Paint fica logo ao lado na linha do tempo de carregamento. Você verá todos esses no PageSpeed Insights, no Lighthouse e no Chrome User Experience Report (CrUX). Cada um é um mergulho profundo próprio neste cluster.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.