SEO de imagens: texto alternativo, formatos, compressão e lazy load

Como arquivos de imagem, texto alternativo, marcação responsiva e desempenho funcionam juntos para que as imagens continuem úteis e encontráveis pelos mecanismos de busca.

O Google Imagens processa bilhões de buscas todo mês. Segundo dados da Jumpshot, cerca de 22% de todas as buscas na web envolvem busca de imagens. Para sites de e-commerce, plataformas de conteúdo e portfólios, esse é um canal de tráfego considerável que a maioria dos sites ignora por completo.

A otimização de imagens afeta não só a visibilidade no Google Imagens, mas também a busca orgânica: a velocidade de carregamento da página (LCP), os Core Web Vitals, a experiência do usuário e, de forma indireta, o ranqueamento na SERP principal.

O pipeline de SEO de imagens: formato, srcset, lazy load, alt e sitemap de imagens. São cinco etapas, de um JPG pesado até uma imagem rápida na busca.
Imagens sem texto alternativo são invisíveis para o Google. O mecanismo de busca não consegue 'ler' uma imagem: ele lê metadados, o contexto ao redor e o atributo alt. Sem isso, a chance de a imagem aparecer no Google Imagens é praticamente zero.

Por que otimizar imagens para SEO

A otimização adequada de imagens resolve vários problemas ao mesmo tempo. Ela melhora a acessibilidade para usuários com deficiência visual, acelera o carregamento da página, dá ao Google um contexto claro e abre um canal extra de tráfego orgânico pelo Google Imagens.

Cinco etapas para otimizar imagens para mecanismos de busca.
22%

Participação nas buscas

Do total de buscas envolve busca de imagens

21%

Redução do LCP

Melhora média ao trocar JPEG por WebP com a mesma qualidade visual

~60%

Peso da página

Em média, as imagens respondem pela maior parte do peso da página

2×

Conversão

Sites com imagens otimizadas convertem melhor por causa do carregamento mais rápido

As imagens são o tipo de recurso mais pesado na maioria das páginas. Imagens não otimizadas deixam o carregamento lento, pioram o LCP (Largest Contentful Paint) e afetam diretamente as pontuações de Core Web Vitals. Desde 2021, o Google considera os CWV como sinal de ranqueamento.

Texto alternativo: regras de escrita

O atributo alt (alt="...") é a única forma de explicar ao Google o que aparece em uma imagem. Ele também é exibido quando a imagem não carrega e é lido em voz alta por leitores de tela, para usuários com deficiência visual.

Como escrever corretamente

RuimBom
image.jpgGráfico de crescimento do tráfego orgânico em 2024–2025
photo1Captura de tela do relatório de cobertura do Google Search Console
SEO SEO SEO palavras-chaveDiagrama passo a passo da configuração de hreflang para sites multilíngues
logoLogotipo da empresa seohead.tech
(alt vazio em uma imagem importante)Gráfico de ranqueamento de consultas de marca nos últimos 6 meses

Regras para o texto alternativo: descreva o que está visível na imagem; inclua a palavra-chave de forma natural, se fizer sentido; não comece com expressões como 'imagem de...', 'foto de...' ou 'ilustração de...', porque o Google já sabe que se trata de uma imagem. Tamanho ideal: 5–15 palavras.

Imagens decorativas (divisores, texturas de fundo, ícones sem significado) devem ter o atributo alt vazio: alt="". Isso indica aos leitores de tela que devem ignorar a imagem, o que é o correto do ponto de vista de acessibilidade.
html
<!-- Informative image -->
<img
  src="/images/crawl-budget-chart.webp"
  alt="Crawl budget distribution chart by page type"
  width="800"
  height="450"
/>

<!-- Decorative image -->
<img
  src="/images/divider.svg"
  alt=""
  role="presentation"
/>

<!-- Image link: alt describes the link purpose -->
<a href="/tools">
  <img
    src="/images/seo-scripts-icon.webp"
    alt="SEO Scripts: tools for technical audits"
    width="64"
    height="64"
  />
</a>

Nomes de arquivos e caminhos

O Google analisa o nome do arquivo de imagem como um sinal adicional. O nome DSC_0047.jpg não diz nada; canonical-url-diagram.webp indica o tema e o contexto.

Nome ruimNome bom
DSC_0047.jpgseo-audit-checklist.webp
image001.pnggoogle-search-console-coverage-report.webp
photo.jpeginternal-linking-architecture-diagram.webp
img_final_v3_FINAL.pngrobots-txt-structure.webp
Use apenas letras minúsculas, números e hífens nos nomes de arquivos. Evite espaços (que viram %20), sublinhados e caracteres especiais. Um caminho como /images/blog/ é mais estruturado do que /uploads/2024/05/.

Formatos: WebP, AVIF, JPEG, PNG

A escolha do formato é um dos principais fatores de otimização. Formatos modernos, como WebP e AVIF, entregam arquivos bem menores com a mesma qualidade visual.

FormatoCompressãoTransparênciaAnimação
WebP25–35% melhor que JPEGSimSim
AVIF50% melhor que JPEGSimSim
JPEGReferênciaNãoNão
PNGPior que JPEGSimNão
SVGVetorialSimSim
GIFFracaLimitadaSim
Suporte dos navegadores e recomendações:
FormatoSuporteRecomendação
WebP97%+Formato principal para fotos e capturas de tela
AVIF90%+Melhor qualidade, com decodificação um pouco mais lenta
JPEG100%Alternativa para navegadores antigos
PNG100%Apenas para ícones e capturas de tela com muito texto
SVG97%+Ícones, logotipos, diagramas
GIF100%Substituir por WebP ou vídeo

Estratégia recomendada: use WebP como formato principal, com JPEG como alternativa pelo elemento <picture>. Migre para AVIF quando a maior parte do seu público estiver no Chrome 85+ e no Safari 16+. Use SVG para todos os gráficos vetoriais, sem exceção.

html
<!-- Modern approach: AVIF → WebP → JPEG -->
<picture>
  <source srcset="/images/hero.avif" type="image/avif" />
  <source srcset="/images/hero.webp" type="image/webp" />
  <img
    src="/images/hero.jpg"
    alt="SEO audit of an online store: 340% traffic growth"
    width="1200"
    height="675"
    loading="eager"
    fetchpriority="high"
  />
</picture>

Compressão sem perda de qualidade

A maioria das imagens pode ser comprimida em 30–70% sem perda visível de qualidade. Ferramentas principais: Squoosh (online), ImageMagick (CLI), Sharp (Node.js) e Pillow (Python).

Configurações ideais de qualidade

FormatoQualidade para webFerramenta
WebP75–85Sharp: sharp().webp({ quality: 80 })
AVIF60–75Sharp: sharp().avif({ quality: 65 })
JPEG75–85ImageMagick: -quality 80
PNGSem perdapngquant: --quality=65-80
Exemplo de implementação:
javascript
// Next.js: automatic optimisation via next/image
import Image from 'next/image';

// next/image automatically:
// - converts to WebP/AVIF
// - generates srcset
// - adds lazy loading
// - prevents layout shift (requires width/height)
export function HeroImage() {
  return (
    <Image
      src="/images/hero.jpg"
      alt="Organic traffic growth after SEO audit"
      width={1200}
      height={675}
      priority // disables lazy load for the hero image
    />
  );
}
No Next.js, use o componente <Image> em vez de <img>. Ele converte as imagens automaticamente para WebP/AVIF, gera o srcset e evita o deslocamento de layout. Para imagens de destaque acima da dobra, sempre adicione priority, porque isso reduz o LCP.

Lazy loading e loading='eager'

O lazy loading adia o carregamento das imagens fora da tela até que o usuário role a página até elas. Isso reduz o peso inicial da página e acelera o Time to Interactive.

html
<!-- Below-fold images: lazy loading -->
<img
  src="/images/article-thumbnail.webp"
  alt="XML sitemap audit screenshot"
  width="400"
  height="225"
  loading="lazy"
/>

<!-- Hero and LCP images: eager + fetchpriority -->
<img
  src="/images/hero.webp"
  alt="Real-time SEO analytics"
  width="1200"
  height="675"
  loading="eager"
  fetchpriority="high"
/>
Comparação dos atributos de carregamento:
AtributoValorQuando usar
loadinglazyTodas as imagens abaixo da primeira tela
loadingeagerDestaque, logotipo, elemento LCP
fetchpriorityhighImagem principal da página (LCP)
fetchprioritylowImagens decorativas no fim da página
decodingasyncA maioria das imagens, pois não bloqueia a renderização
Nunca adicione loading="lazy" à imagem LCP. É um erro crítico: o navegador vai adiar o carregamento do elemento visual mais importante da página, e o LCP vai piorar bruscamente.

Dimensões, srcset e direção de arte

Sempre especifique os atributos width e height. Isso permite que o navegador reserve o espaço da imagem antes do carregamento e evita o Cumulative Layout Shift (CLS), ou seja, o conteúdo que se desloca durante o carregamento.

html
<!-- srcset: different sizes for different screens -->
<img
  src="/images/blog-cover.webp"
  srcset="
    /images/blog-cover-480.webp 480w,
    /images/blog-cover-800.webp 800w,
    /images/blog-cover-1200.webp 1200w
  "
  sizes="(max-width: 480px) 480px, (max-width: 800px) 800px, 1200px"
  alt="Internal linking architecture guide: site structure diagram"
  width="1200"
  height="675"
  loading="lazy"
/>

O atributo srcset permite que o navegador escolha o tamanho ideal da imagem para a tela atual e a densidade de pixels. Em um dispositivo móvel com 2x DPI, o navegador carrega a versão de 800px em vez da de 1200px, economizando banda e acelerando a página.

Dados estruturados

A marcação Schema.org ajuda o Google a exibir imagens em resultados avançados, como cards de produto, receitas e artigos. Os tipos mais relevantes para imagens são ImageObject, Article, Product e Recipe.

json
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Image SEO: complete guide",
  "image": {
    "@type": "ImageObject",
    "url": "https://seohead.tech/images/blog/image-seo.webp",
    "width": 1200,
    "height": 675,
    "caption": "Image optimisation for search: formats, alt text, compression"
  },
  "datePublished": "2026-05-17",
  "author": {
    "@type": "Person",
    "name": "seohead"
  }
}

Sitemap de imagens

O Google recomenda incluir informações de imagem no seu sitemap XML. Isso ajuda a indexar imagens carregadas via JavaScript e fornece contexto adicional, como título, legenda e licença.

xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
>
  <url>
    <loc>https://seohead.tech/blog/image-seo</loc>
    <image:image>
      <image:loc>https://seohead.tech/images/blog/image-seo.webp</image:loc>
      <image:title>Image SEO: alt text, formats, compression, and lazy load</image:title>
      <image:caption>Complete guide to image optimisation for search</image:caption>
    </image:image>
  </url>
</urlset>
O sitemap de imagens é especialmente importante para imagens carregadas via JavaScript (React, Vue, Next.js). O Googlebot nem sempre executa o JS durante o rastreamento, então o sitemap é uma forma confiável de garantir que as imagens sejam indexadas.

FAQ

O texto alternativo afeta diretamente o ranqueamento?
Sim, mas de forma indireta. O texto alternativo ajuda o Google a entender o tema da página e da imagem. Um alt bem escrito, com a palavra-chave-alvo, reforça a relevância da página, mas o excesso de palavras-chave nos atributos alt é tratado como spam.
WebP ou AVIF: qual é melhor?
O AVIF comprime melhor (20–30% mais eficiente que o WebP), mas tem suporte de navegadores um pouco menor e decodificação mais lenta em dispositivos de baixo desempenho. A configuração ideal é AVIF → WebP → JPEG pelo <picture>. Para a maioria dos projetos, o WebP é uma escolha segura agora.
Todas as imagens precisam ser indexáveis?
Não. Imagens decorativas (fundos, divisores, ícones sem significado) não precisam ser indexadas. Deixe alt="" vazio, o que sinaliza ao Google que ele deve ignorar a imagem durante a indexação. Concentre-se nas imagens de conteúdo: capturas de tela, diagramas e fotos de produto.
Como saber se o Google indexa minhas imagens?
Abra o Google Search Console e vá em 'Indexação' → 'Páginas'. Para uma imagem específica, digite site:seu-dominio no Google Imagens e procure suas imagens. Você também pode usar a Inspeção de URL no GSC para confirmar se o Googlebot consegue acessar as imagens, ou seja, se elas não estão bloqueadas no robots.txt.
Os atributos width e height são obrigatórios?
Sim, para evitar o CLS (Cumulative Layout Shift). Sem esses atributos, o navegador não conhece as dimensões da imagem antes do carregamento, e o conteúdo se desloca. O CLS afeta diretamente as pontuações de Core Web Vitals e é sinal de ranqueamento desde 2021.

Check it with SpiderHead

Free and local: run the audit on your own machine.

Try it