Como corrigir CLS alto e layout shift no WordPress
O que é o CLS alto no WordPress?
O CLS alto no WordPress é uma falha de Core Web Vitals que mede a estabilidade visual da página. O Cumulative Layout Shift soma todos os deslocamentos inesperados de conteúdo enquanto a página carrega: quando uma imagem aparece e empurra o texto para baixo, ou um banner injetado desloca o botão que o usuário ia clicar. A meta do Google é CLS abaixo de 0,1; entre 0,1 e 0,25 é “precisa melhorar” e acima de 0,25 é “ruim”. A correção é reservar antecipadamente o espaço de cada elemento que carrega depois.
Como identificar
- O conteúdo da página “pula” para baixo enquanto carrega, como se algo empurrasse o texto.
- O PageSpeed Insights marca o CLS acima de 0,1 no relatório de Core Web Vitals.
- O Search Console acusa URLs com “CLS maior que 0,1” no relatório de Core Web Vitals.
- O visitante clica num botão e o layout desloca no último instante, fazendo-o errar o clique.
Como prevenir
- Sempre declare width e height (ou aspect-ratio) em imagens, vídeos e iframes ao publicar
- Mantenha font-display: swap e preload da fonte principal no tema desde o início
- Reserve um contêiner de altura fixa para qualquer anúncio, embed ou widget injetado por JavaScript
Causa
- Imagens e vídeos sem atributos width e height (ou aspect-ratio), então o navegador não reserva o espaço antes de carregar.
- Fontes web sem font-display: swap, causando troca de fonte (FOUT/FOIT) que muda a altura do texto.
- Anúncios, banners ou embeds injetados por JavaScript sem um contêiner de tamanho fixo reservado.
- Conteúdo inserido acima do que já está visível (avisos de cookie, sliders) empurrando o resto da página.
- iframes (mapas, vídeos) sem dimensões definidas, ocupando espaço só depois de carregar.
Como resolver
- Identifique os elementos que deslocam: no PageSpeed Insights, abra o diagnóstico "Evite grandes deslocamentos de layout" para ver quais elementos mais contribuem para o CLS.
- Defina width e height em todas as mídias: garanta que imagens, vídeos e iframes tenham largura e altura (ou aspect-ratio) declaradas, para o navegador reservar o espaço antes do carregamento.
- Estabilize as fontes web: use font-display: swap e faça preload da fonte principal. Defina uma fonte de fallback com métricas próximas para reduzir a mudança de altura quando a fonte final carrega.
- Reserve espaço para anúncios e embeds: envolva banners, anúncios e widgets de terceiros em um contêiner com min-height fixo, para o slot não "nascer" do zero e empurrar o conteúdo.
- Evite injetar conteúdo acima da dobra: avisos de cookie e barras de topo devem ocupar espaço reservado ou usar position fixed/sticky, em vez de empurrar o conteúdo já renderizado.
- Meça de novo: rode o PageSpeed e confira o CLS no laboratório; depois acompanhe os dados de campo no Search Console, que refletem usuários reais.
CSS
/* Reserva o espaco das midias e dos slots, eliminando o deslocamento */
img, video, iframe {
max-width: 100%;
height: auto; /* respeita o width/height do HTML e evita pulo */
}
/* Slot de anuncio/embed com altura minima reservada antes do carregamento */
.ad-slot, .embed-wrapper {
min-height: 280px;
display: block;
}
/* Fonte web sem trocar a altura do texto durante o carregamento */
@font-face {
font-family: 'MinhaFonte';
src: url('/wp-content/fonts/minhafonte.woff2') format('woff2');
font-display: swap;
}
Perguntas frequentes
Qual é o valor ideal de CLS no WordPress?
A meta do Google é CLS abaixo de 0,1 com dados de campo. Entre 0,1 e 0,25 o status é "precisa melhorar" e acima de 0,25 é considerado ruim, prejudicando a experiência e o ranqueamento.
Por que minha página "pula" enquanto carrega?
Porque algum elemento carrega sem ter o espaço reservado e empurra o resto: uma imagem sem width/height, uma fonte que troca de tamanho ou um anúncio injetado depois. Reservar o espaço de cada um elimina o salto.
Definir width e height nas imagens resolve o CLS?
Resolve boa parte. Com as dimensões declaradas, o navegador reserva o espaço da imagem antes de ela carregar, então o texto ao redor não é empurrado. Faltam ainda fontes, anúncios e embeds, que precisam do mesmo cuidado.
Como as fontes web causam layout shift?
Quando a fonte final carrega depois da fonte de fallback e tem altura diferente, o texto muda de tamanho e desloca o conteúdo. Use font-display: swap, preload da fonte e uma fonte de fallback com métricas próximas para minimizar o efeito.
Anúncios e banners aumentam o CLS?
Sim, são uma das maiores causas. Slots de anúncio injetados por JavaScript "nascem" do tamanho zero e empurram o conteúdo ao carregar. Reserve um contêiner com min-height fixo para o slot antes de ele ser preenchido.
Corrigi o CLS mas o Search Console ainda aponta o problema. Por quê?
O Search Console usa dados de campo (CrUX), uma média de 28 dias de usuários reais. As correções aparecem na hora no teste de laboratório do PageSpeed, mas o relatório de campo só atualiza após algumas semanas de coleta.














