Performance

Lazy Loading: Carregar Conteúdo Sob Demanda

Por Eduardo Mendonça
Lazy Loading: Carregar Conteúdo Sob Demanda

📚 Relacionado: performance web lighthouselink building interno estrategia autoridadeotimizar imagens guia acelerar site

Lazy loading para carregar conteúdo sob demanda

Sua página de portfólio tem 30 fotos de projetos entregues. A maioria dos visitantes olha as primeiras 5, gosta do que vê, e já rola até o formulário de contato. Mas o site, por padrão, insiste em carregar as 30 fotos de uma vez — inclusive as 25 que quase ninguém chega a ver — deixando a página lenta justamente no momento em que o visitante mais precisa dela rápida.

Lazy loading é solução elegante: carrega só o que visitante vê. Tudo que está abaixo da linha de visão aguarda — carrega só quando chega perto. Resultado: página inicial 50-70% mais rápida, visitante mais feliz, conversão melhor.

Por que carregar tudo de uma vez é ineficiente

Visitante entra na página. Navegador começa a carregar tudo — todas as 30 imagens, todos os vídeos, todos os iframes. Mas visitante só vê 5 imagens. As outras 25 carregam em background, consumindo banda, memória e processamento.

Resultado: página fica lenta justamente aonde importa — na primeira impressão. As imagens que ninguém vê têm prioridade igual às que todos veem. É ineficiente.

Impacto de não usar lazy loading

Impacto de usar lazy loading corretamente

Como funciona na prática: loading="lazy"

Solução é simples. Use atributo HTML loading="lazy" em cada imagem:

```html

descrição

```

Navegador automaticamente:

  1. Verifica se imagem está na área visível
  2. Se não estiver, aguarda
  3. Quando visitante rola perto, começa a carregar
  4. Por fim, exibe

Nenhum JavaScript adicional. Funciona nativamente em navegadores modernos.

Variações de lazy loading

Atributo loading="lazy"

Padrão HTML. Suporte em navegadores modernos (Chrome, Firefox, Edge). Compatibilidade ~90%.

Fallback com JavaScript (Intersection Observer)

Para navegadores antigos (IE 11, Safari < 14). Detecta quando elemento entra na viewport e carrega. Mais código, mais controle.

Blur-up

Mostrar versão desfocada enquanto carrega a verdadeira. Melhor UX — visitante sente "algo está chegando". Comum em Medium, Pinterest.

Impacto direto em Core Web Vitals

Google mede performance usando 3 métricas (Core Web Vitals):

LCP (Largest Contentful Paint)

Tempo até elemento principal da página fica visível e interativo. Lazy loading reduz LCP porque imagens pesadas não competem por banda.

CLS (Cumulative Layout Shift)

Elementos mudando de posição enquanto página carrega. Lazy loading com width/height definidos evita isso.

FID (First Input Delay)

Tempo até navegador responder ao clique. Lazy loading reduz carga, browser fica mais responsivo.

Resultado: melhor score Google, ranking melhor, mais tráfego.

Quando NÃO usar lazy loading: a imagem herói

A imagem principal — aquela que aparece antes de rolar (primeira dobra/hero) — NÃO deve usar lazy loading.

Por quê? Porque ela faz parte da primeira impressão. Visitante precisa vê-la imediatamente. Usar lazy aqui prejudica experiência.

Use loading="eager" (ou simplesmente omita o atributo — é o padrão):

```html

descrição

projeto 1

```

Lazy loading além de imagens: vídeos e iframes

Lógica aplica-se a: