🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir CLS alto e layout shift no WordPress

Time Full Services Time Full Services
Tipo Performance & Velocidade
Nome do erro CLS alto e layout shift EN: High CLS (Cumulative Layout Shift)
Severidade Grave
Descrição CLS alto no WordPress é quando o Cumulative Layout Shift, a medida de quanto os elementos da página "pulam" durante o carregamento, fica acima de 0,1. Costuma vir de imagens e iframes sem dimensões reservadas, fontes que trocam de tamanho e anúncios ou banners injetados sem espaço fixo.

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes