Você sabia que as imagens representam, em média, mais de 50% do peso total de uma página web? Um arquivo de alta resolução não otimizado pode ultrapassar 5MB, enquanto uma versão otimizada pode chegar a 150KB sem perda perceptível de qualidade. Dominar a otimização de imagens é o passo mais rápido para melhorar o Largest Contentful Paint (LCP) e garantir uma melhor posição nos resultados de busca do Google.
Formatos de Imagem de Próxima Geração
- WebP: O padrão da indústria atual. Oferece compressão 30% superior ao JPEG, suportando transparência e animações. Compatível com 97% dos navegadores modernos.
- AVIF: O futuro da compressão web. Consegue ser até 50% menor que o JPEG mantendo uma fidelidade de cor impressionante. Ideal para sites que priorizam máxima performance.
- JPEG (Progressivo): Ainda essencial para compatibilidade total. Use a versão progressiva para que a imagem carregue gradualmente em conexões lentas.
- SVG: Formato vetorial perfeito para logotipos e ícones. É infinitamente escalável e seu peso é medido em bytes, não kilobytes.
- PNG-8: Ótima alternativa para gráficos simples com poucas cores, sendo muito mais leve que o tradicional PNG-24.
A Tag <picture> e a Entrega Inteligente
Não force todos os usuários a baixarem o mesmo arquivo. Use a negociação de conteúdo para servir AVIF para navegadores modernos e JPEG como fallback.
<picture> <source srcset="banner.avif" type="image/avif"> <source srcset="banner.webp" type="image/webp"> <img src="banner.jpg" alt="Destaque do artigo" width="1200" height="600"> </picture>
Imagens Responsivas com srcset
Entregar uma imagem de 2000px para um smartphone de 400px de largura é um desperdício de banda. O atributo srcset permite que o navegador escolha a melhor dimensão baseada na densidade de pixels do dispositivo.
<img
src="foto-media.jpg"
srcset="
foto-pequena.jpg 480w,
foto-media.jpg 800w,
foto-grande.jpg 1200w
"
sizes="(max-width: 600px) 480px, 800px"
alt="Exemplo de imagem responsiva"
loading="lazy"
width="800"
height="600"
>
O Poder do Lazy Loading Nativo
O carregamento preguiçoso (lazy loading) instrui o navegador a carregar apenas as imagens que estão visíveis ou próximas da área de visualização (viewport), economizando dados e processamento inicial.
<!-- Para imagens abaixo da dobra (Lazy) --> <img src="detalhe.webp" loading="lazy" alt="Descrição" width="600" height="400"> <!-- Para a imagem principal/LCP (Eager) --> <img src="hero.webp" loading="eager" fetchpriority="high" alt="Banner principal">
Evite o Salto de Layout (CLS)
O Cumulative Layout Shift (CLS) ocorre quando uma imagem carrega e "empurra" o conteúdo para baixo. Para evitar isso, sempre defina os atributos de largura (width) e altura (height). Isso cria um placeholder invisível que reserva o espaço correto antes do download ser concluído.
<!-- Defina dimensões explícitas -->
<img src="produto.webp" width="800" height="600" alt="Produto">
<style>
img {
max-width: 100%;
height: auto; /* Mantém a proporção baseada no width/height */
}
</style>
Ferramentas de Compressão Profissional
- Squoosh.app: Web app do Google que permite testar diferentes codecs em tempo real.
- Sharp (Node.js): A biblioteca mais rápida para processamento em lote e redimensionamento automático via código.
- TinyPNG: Excelente para compressão lossy de arquivos PNG e JPEG com ótima retenção visual.
- CDNs de Imagem: Serviços como Cloudinary e Imgix transformam imagens dinamicamente via URL, aplicando compressão e redimensionamento sob demanda.
import sharp from 'sharp';
// Converter para WebP otimizado
await sharp('original.jpg')
.webp({ quality: 75, effort: 6 })
.resize(1000)
.toFile('otimizada.webp');
Checklist de SEO para Imagens
- ✅ Priorize WebP e utilize AVIF para navegadores compatíveis.
- ✅ Utilize o atributo
altcom palavras-chave descritivas e naturais. - ✅ Ative o
loading="lazy"em todas as imagens fora da dobra inicial. - ✅ Nunca utilize lazy loading na sua imagem principal de LCP.
- ✅ Defina proporções de aspecto (width/height) para garantir 0 de CLS.
- ✅ Utilize nomes de arquivos amigáveis (ex:
tenis-corrida-azul.jpgem vez deIMG_001.jpg). - ✅ Comprima todas as mídias para ficarem abaixo de 200KB sempre que possível.
Melhore a Performance do Seu Código
Além das imagens, minificar o código do seu site reduz drasticamente o tempo de resposta.