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

Como corrigir render-blocking resources no WordPress

Time Full Services Time Full Services
Tipo Performance & Velocidade
Nome do erro Render-blocking resources EN: Render-blocking resources
Severidade Grave
Descrição Render-blocking resources no WordPress são arquivos de CSS e JavaScript carregados no início da página que o navegador precisa baixar e processar antes de pintar qualquer conteúdo. Costumam vir de folhas de estilo e scripts enfileirados no head por tema e plugins, que atrasam a primeira pintura e elevam o LCP.

O que é os render-blocking resources no WordPress?

Os render-blocking resources no WordPress são os arquivos que o navegador é obrigado a buscar e interpretar antes de mostrar a página. Por padrão, toda folha de estilo no início do documento e todo script sem adiamento bloqueiam a renderização: o navegador para, baixa o arquivo, processa e só então pinta. Quando tema e plugins enfileiram muitos desses arquivos no topo, a tela fica em branco por mais tempo, o que piora o First Contentful Paint e o LCP. A correção é separar o CSS crítico do resto, adiar o JavaScript não essencial e reduzir o número e o tamanho dos arquivos que carregam antes do primeiro render.

Como identificar

  • O diagnóstico “Eliminar recursos que impedem a renderização” aparece como oportunidade no PageSpeed Insights, com a economia estimada em milissegundos.
  • O Lighthouse lista arquivos .css e .js específicos como bloqueadores no relatório de performance.
  • A página exibe uma tela em branco por um instante perceptível antes de qualquer conteúdo aparecer.
  • O waterfall da aba Network mostra vários CSS e JS sendo baixados no head antes da primeira pintura.

Como prevenir

  • Mantenha o adiamento de JavaScript e a geração de CSS crítico ativos no plugin de performance
  • Evite plugins que enfileiram CSS e JS em todas as páginas e limite cada recurso à página que o usa
  • Sempre que adicionar fontes ou bibliotecas, carregue-as sem bloquear o render (preload, async, font-display)

Causa

  • Folhas de estilo de tema e plugins enfileiradas no head, que bloqueiam o render até serem totalmente baixadas.
  • Arquivos JavaScript sem o atributo defer ou async carregados no topo do documento.
  • Fontes de ícones e bibliotecas de CSS completas (como frameworks inteiros) carregadas mesmo quando só uma fração é usada.
  • Plugins que injetam seu próprio CSS e JS em todas as páginas, inclusive onde o recurso não é necessário.
  • CSS crítico não separado, obrigando o navegador a baixar toda a folha de estilos antes de pintar o topo da página.

Como resolver

  1. Liste os recursos bloqueadores: rode o PageSpeed Insights e abra "Eliminar recursos que impedem a renderização" para ver exatamente quais arquivos de CSS e JavaScript travam o primeiro render.
  2. Adie o JavaScript não crítico: no plugin de performance, aplique o adiamento (defer) aos scripts que não são necessários para o conteúdo acima da dobra, para eles não bloquearem a pintura.
  3. Gere e injete o CSS crítico: extraia o CSS necessário para o topo da página, coloque-o de forma embutida no início do documento e carregue o restante da folha de estilos de forma assíncrona.
  4. Minifique e reduza CSS e JS: minifique os arquivos e remova CSS e scripts não usados por página, diminuindo o número e o peso dos recursos que carregam antes do render.
  5. Carregue fontes sem bloquear: faça preload da fonte principal e use font-display: swap para o texto aparecer com uma fonte de fallback enquanto a definitiva carrega.
  6. Meça de novo no PageSpeed: rode o teste outra vez e confirme que a oportunidade de render-blocking diminuiu e que o FCP e o LCP melhoraram.
HTML
<!-- 1) CSS critico embutido: pinta o topo sem esperar download externo -->
<style>
  /* so o essencial do above-the-fold (header, hero, tipografia base) */
  header{display:flex;align-items:center}
  .hero{min-height:60vh}
  body{margin:0;font-family:system-ui,sans-serif}
</style>

<!-- 2) Folha completa carregada de forma assincrona (nao bloqueia o render) -->
<link rel="preload" as="style"
      href="/wp-content/themes/tema/style.css"
      onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="/wp-content/themes/tema/style.css"></noscript>

<!-- 3) JS nao critico adiado: executa so apos a analise do HTML -->
<script src="/wp-content/themes/tema/main.js" defer></script>

Perguntas frequentes

O que são render-blocking resources no WordPress?
São os arquivos de CSS e JavaScript que o navegador precisa baixar e processar antes de pintar a página. Folhas de estilo no head e scripts sem defer bloqueiam a primeira pintura, deixando a tela em branco por mais tempo e piorando o FCP e o LCP.
Como eliminar recursos que bloqueiam a renderização?
Adie o JavaScript não crítico com defer, separe e embuta o CSS crítico do topo, carregue o restante da folha de estilos de forma assíncrona e minifique tudo. Plugins de performance fazem boa parte disso, mas exigem teste para não quebrar o layout.
O que é CSS crítico e por que ele ajuda?
CSS crítico é o conjunto mínimo de estilos necessários para renderizar o conteúdo acima da dobra. Embutido no início do documento, ele permite pintar o topo da página de imediato, enquanto o resto da folha de estilos carrega de forma assíncrona, sem bloquear o render.
Qual a diferença entre defer e async no JavaScript?
Tanto defer quanto async baixam o script sem bloquear a análise do HTML. O defer executa em ordem, só após o HTML ser analisado, ideal para a maioria dos scripts. O async executa assim que baixa, em ordem imprevisível, adequado a scripts independentes como analytics.
Adiar CSS e JavaScript pode quebrar o site?
Pode. Se um script depender de outro ainda não executado ou se o CSS crítico estiver incompleto, o layout pode aparecer quebrado por um instante (FOUC). Por isso, teste o site após cada otimização e exclua do adiamento os recursos que apresentarem problema.
Plugins de cache resolvem o render-blocking sozinhos?
Ajudam bastante, porque trazem recursos de adiar JS, gerar CSS crítico e minificar. Mas não são automáticos: é preciso ativar e calibrar cada opção e testar o resultado, já que configurações agressivas podem combinar mal scripts essenciais.

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