Pular para o conteúdo
Performance12 min de leitura

Otimizar LCP em página de produto: 7 técnicas em ordem de impacto

Página de produto é onde o LCP costuma ser pior — e onde a otimização dá maior ROI. Veja as 7 técnicas em ordem de impacto, com código pronto e números reais. Sem reescrever o tema.

Tablet exibindo página de produto de loja virtual
Página de produto é onde o LCP costuma ser pior e onde a otimização dá maior ROI — é a página de pouso do tráfego pago e orgânico.Unsplash
O que você vai aprender
  • O que realmente está limitando o LCP da sua página de produto — quase nunca é o que se imagina.
  • As 7 técnicas que movem o ponteiro em PDP, em ordem de impacto.
  • O caso da imagem do hero: preload, fetchpriority, AVIF/WebP, srcset.
  • Onde Magento e WooCommerce "atrapalham" e como contornar sem migrar tema.

Página de produto (PDP) é o ponto onde a maioria das lojas vê LCP ruim — e é também onde importa mais: é a página de pouso do tráfego pago e orgânico, e onde o cliente toma a decisão de comprar. Este guia é a sequência prática de otimizações em ordem de impacto, com números reais e código pronto pra copiar.

2.5s
é o limite "Bom" de LCP — meta para passar em Core Web Vitals
Google web.dev
~70%
dos LCPs em PDPs são imagens do hero do produto
HTTP Archive 2024, recorte e-commerce
-30 a -50%
de redução de LCP ao aplicar fetchpriority="high" + AVIF/WebP em imagem do hero
web.dev case studies
+10%
de conversão por 500ms de melhoria em LCP — recorte e-commerce moda
Deloitte/Google, 2020

Passo 0: o que está sendo medido como LCP?

Antes de otimizar, identifique qual elemento está virando seu LCP. No PageSpeed Insights, vá em "Largest Contentful Paint element" — o relatório mostra exatamente qual nó do DOM venceu a corrida. Pode ser:

  • Imagem principal do produto (caso mais comum em PDP).
  • <h1> com nome do produto (em layouts muito leves).
  • Banner ou hero com fundo CSS.
  • Carrossel da imagem — se a primeira é grande.

Em > 70% dos casos é uma imagem. [1] Os passos abaixo focam nesse cenário.

1. fetchpriority="high" no hero

O browser baixa recursos em paralelo, mas dá prioridade automaticamente para o queele acha que é importante. Em PDP, o navegador frequentemente erra — o JS de analytics começa a baixar antes da imagem do produto. Para corrigir:

<!-- HTML do produto -->
<img
  src="/img/produto-1200.webp"
  srcset="/img/produto-400.webp 400w,
          /img/produto-800.webp 800w,
          /img/produto-1200.webp 1200w"
  sizes="(max-width: 768px) 100vw, 600px"
  alt="Notebook Acer Aspire 5"
  width="600"
  height="600"
  fetchpriority="high"
/>

Atributo simples, ganho real. Suportado em Chrome, Edge, Safari (16.4+) e Firefox (em rollout). [2]

📌 Importante: só use fetchpriority="high" em um recurso por página — o hero/LCP. Se você marcar 5 imagens como high, é equivalente a marcar zero — o browser cai no comportamento padrão.

2. preload da imagem no <head>

fetchpriority ajuda na ordenação, mas o browser ainda precisaencontrar a tag <img> no HTML. Em PDPs grandes, isso pode levar 200–500ms. Solução: avisar o browser antes, no head:

<link
  rel="preload"
  as="image"
  href="/img/produto-1200.webp"
  imagesrcset="/img/produto-400.webp 400w, /img/produto-800.webp 800w, /img/produto-1200.webp 1200w"
  imagesizes="(max-width: 768px) 100vw, 600px"
  fetchpriority="high"
/>

Ganho típico: 100–300ms de LCP em rede 4G. Em Magento 2, dá pra adicionar via observer no <head>; em WooCommerce, via filter wp_head.

Pacote de papel kraft sendo entregue rapidamente
LCP é entrega: ou a imagem chega rápido na tela, ou o cliente desiste — não importa quão bonita ela é.Unsplash

3. AVIF / WebP em vez de JPEG

Tamanho médio de redução para a mesma qualidade visual:

FormatoTamanho típico (foto de produto 1200×1200)Suporte
JPEG (quality 80)120-180 KB100%
WebP (quality 80)60-100 KB (-40%)97%+ (Chrome, Firefox, Safari 14+, Edge)
AVIF (quality 60)40-70 KB (-65%)~90% (sem Safari < 16, IE)

Use <picture> com fallback:

<picture>
  <source srcset="/img/produto.avif" type="image/avif" />
  <source srcset="/img/produto.webp" type="image/webp" />
  <img src="/img/produto.jpg" alt="..." fetchpriority="high" />
</picture>

Magento 2.4.7+ entrega WebP nativamente; AVIF ainda exige módulo (ex.: Mageplaza WebP Images, ou pipeline próprio com cwebp/avifenc). WooCommerce idem via plugin (Imagify, ShortPixel).

4. CDN com cache morno no hot path

Imagem servida do origem em PDP de produto popular é desperdício. Use CDN (Cloudflare, BunnyCDN, Akamai, CloudFront) com TTL alto (30 dias+). Garanta que a primeira requisição em região nova já cai no warm path — alguns CDNs cobram extra por "shield" (origem única) que vale o investimento para reduzir cold start.

5. Remova render-blocking acima da dobra

CSS bloqueante e fontes web carregadas antes do hero atrasam o LCP. Auditoria rápida:

  • Veja o waterfall do WebPageTest e identifique CSS/JS bloqueantes que carregam antes da imagem.
  • Para fontes Google, use <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> + font-display: swap para que o texto apareça mesmo sem fonte carregada.
  • Chat, analytics e A/B testing devem ter defer ou async. Se carregam síncronos, atrasam o LCP por 200-500ms cada.

6. Reduza payload do HTML

Em Magento e WooCommerce, o HTML de PDP frequentemente passa de 300 KB gzip (1.2 MB descomprimido). Isso atrasa o byte zero e a descoberta da tag de hero. Causas comuns:

  • Mini-cart com produtos pré-renderizados em SSR.
  • Schema.org "exagerado" — todos os 50 produtos relacionados com JSON-LD inline.
  • CSS inline gigante (regra "above-the-fold" mal calibrada).
  • Inline base64 de imagens — bom para 1×1, ruim para qualquer coisa > 1 KB.

Meta razoável: HTML < 80 KB gzip para PDP.

7. Lazy load tudo abaixo da dobra

Imagens da galeria além da principal, banners de "produtos relacionados", widget de reviews — tudo deve ter loading="lazy". Importante:

  • Nunca aplique lazy load na imagem do hero.
  • Em galerias, a primeira imagem da galeria é o hero (geralmente).
  • Lazy load via JS de tema antigo costuma quebrar SEO de imagem. Use o nativo do navegador (loading="lazy") e mate o JS legado.

Checagem rápida: o seu LCP hoje

  1. Abra pagespeed.web.dev e cole uma URL de PDP.
  2. Olhe o Real-user data (CrUX) primeiro — esse é o número que afeta SEO.
  3. Veja o Lab data e o LCP element.
  4. Anote: tamanho da imagem (KB), formato, posição no waterfall, se tem fetchpriority e preload.
  5. Aplique as técnicas 1, 2, 3 (são as de maior impacto sem reescrita) e meça de novo em 28 dias (janela do CrUX).
Optimizing LCP is mostly about image optimization, server response, and resource prioritization. In that order, by impact.— Philip Walton, Chrome Engineer (web.dev)
Pessoa segurando smartphone com aplicativo de loja
No Brasil, ~70% do tráfego de e-commerce é mobile. Lighthouse mobile é o que importa pro SEO — não o Wi-Fi do escritório.Unsplash

Ferramentas que ajudam (de graça)

  • PageSpeed Insights — diagnóstico inicial, com CrUX se sua URL tem tráfego suficiente.
  • WebPageTest — waterfall completo, múltiplas execuções, perfil de rede 4G real.
  • Chrome DevTools → Performance — para isolar JS bloqueante.
  • cwebp / avifenc — conversão de imagem em batch.
  • Inspetor de cabeçalhos HTTP — para ver se preload, fetchpriority e cache-control estão configurados certo.
✓ Resumo prático em ordem de impacto:
  1. WebP/AVIF na imagem do hero — sem isso, o resto importa pouco.
  2. fetchpriority="high" + preload da imagem.
  3. CDN com TTL alto.
  4. Defer/async em scripts não críticos.
  5. HTML < 80 KB gzip.
  6. Lazy load no resto.

Veja também Core Web Vitals para loja virtual para entender o quadro completo, e sintético vs RUM para medir LCP de forma confiável depois.

Referências

  1. HTTP Archive. Web Almanac — Performance & E-commerce chapter, LCP elements breakdown, 2024. almanac.httparchive.org/en/2024/performance
  2. Google web.dev. fetchpriority — Prioritize resource fetches. web.dev/articles/fetch-priority
  3. Google web.dev. Optimize Largest Contentful Paint. web.dev/articles/optimize-lcp
  4. Can I use. Browser support for AVIF and WebP. caniuse.com/avif
  5. Deloitte / Google. Milliseconds Make Millions, 2020.
  6. Smashing Magazine. The Humble <img> Element And Core Web Vitals. smashingmagazine.com

Perguntas frequentes

O que tem mais impacto: trocar JPEG por WebP ou colocar fetchpriority?
Depende do tamanho atual. Se sua imagem está acima de 200 KB, WebP/AVIF vem primeiro (reduz 40-65% sem perda visual). Se já está em ~80 KB WebP, fetchpriority + preload move mais o ponteiro. Aplique os dois — não são excludentes.
Magento 2 entrega WebP nativamente?
Desde a 2.4.7, sim — basta habilitar em Stores → Configuration → General → Web → Images. Para AVIF, ainda precisa módulo de terceiro ou pipeline próprio (cwebp/avifenc no upload).
Lazy load destrói o LCP da imagem do hero?
Sim, é um dos erros mais comuns. Nunca aplique loading="lazy" na imagem que é o LCP (geralmente a primeira da galeria de produto). Aplique só nas que estão abaixo da dobra.

Monitore tudo isso automaticamente

A Especialista Loja Virtual roda navegação real no seu site a cada poucos minutos, alerta no Discord, Slack ou e-mail e mostra screenshot do incidente. Comece grátis.