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.
/* 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;
}














