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

Como corrigir o erro de Preload no WP Rocket

Time Full Services Time Full Services
Tipo Performance & Velocidade
Nome do erro Erro de Preload no WP Rocket EN: WP Rocket preload error
Severidade Atenção
Descrição O erro de Preload no WP Rocket acontece quando o robo que gera o cache antecipado não consegue percorrer as URLs do site: a fila nunca esvazia ou nem comeca. O resultado e um site com cache vazio, que so fica rápido para o segundo visitante de cada página, anulando o ganho do preload.

O que é o erro de Preload no WP Rocket?

O Preload e a feature do WP Rocket que gera os arquivos de cache antecipadamente, simulando uma visita a cada página antes de qualquer visitante real chegar. Por padrão ele le os sitemaps dos plugins de SEO (Yoast, Rank Math, All in One SEO, SEOPress, The SEO Framework) ou o sitemap nativo do WordPress, descobre as URLs e vai preenchendo o cache uma a uma, registrando o progresso na tabela wp_wpr_rocket_cache do banco. O robo processa até 45 URLs por minuto e reduz o ritmo sozinho se o servidor ficar sob carga. O disparo da fila depende do WP-Cron: e ele que chama o processamento em segundo plano. O erro de Preload e justamente quando essa engrenagem para: a fila fica parada, as URLs nunca saem do estado pendente e o cache não e preenchido. Como o WP Rocket não para o site nem mostra erro fatal, o sintoma costuma passar despercebido até alguem notar que a primeira visita de cada página continua lenta.

Como identificar

  • No painel, em WP Rocket -> Dashboard, a barra de progresso do Preload nunca chega a 100 por cento ou fica parada no mesmo número por muito tempo
  • A pasta de cache em wp-content/cache/wp-rocket fica vazia ou com pouquissimos arquivos, mesmo depois de clicar em Clear and preload cache
  • Na tabela wp_wpr_rocket_cache as linhas das URLs continuam com status pendente e nunca passam para concluido
  • O PageSpeed Insights e o teste de TTFB mostram a primeira visita de cada página lenta, e so a segunda visita (já em cache) fica rápida
  • Em sites com Yoast ou Rank Math, o WP Rocket não encontra URLs para preload porque o sitemap retorna vazio ou da erro ao ser aberto
Antes de começar: Ao liberar o user-agent do preload na allowlist, restrinja a liberacao apenas a esse user-agent. Não desative o firewall por completo nem libere acesso irrestrito ao servidor so para destravar o preload.

Como prevenir

  • Configure um cron real no servidor em vez de confiar no WP-Cron: assim a fila de preload anda mesmo em sites de baixo tráfego, que quase nunca disparam o cron padrão.
  • Mantenha o sitemap do plugin de SEO sempre gerado e acessivel, já que e a fonte de URLs do preload; um sitemap quebrado deixa a fila vazia.
  • Deixe o user-agent do preload do WP Rocket na allowlist do firewall e do Cloudflare desde o inicio, evitando que o robo seja barrado quando novas páginas forem publicadas.
  • Antes de publicar, tire o site de modo de manutenção e de proteção por senha, porque o robo de preload enxerga a página como um visitante anonimo qualquer.

Causa

  • O WP-Cron não roda (a constante DISABLE_WP_CRON esta como true ou o site tem tráfego baixo demais para disparar o cron), entao a fila de preload nunca e processada.
  • O sitemap não esta acessivel ou retorna vazio: o WP Rocket le o sitemap do plugin de SEO para descobrir as URLs, e sem ele a fila de preload não tem o que percorrer.
  • Falta a extensão SimpleXML no PHP, necessaria para o WP Rocket ler o XML do sitemap; sem ela o parse do sitemap falha e nenhuma URL entra na fila.
  • Um plugin de segurança (Wordfence, AIOS, iThemes) ou o firewall do servidor bloqueia o user-agent WP Rocket/Preload, e o robo e barrado antes de carregar a página.
  • A hospedagem proibe o site de fazer requisicoes a si mesmo via cURL (loopback bloqueado), entao o robo de preload não consegue abrir as proprias URLs.
  • As URLs alvo tem query string na ponta (parametros depois do ponto de interrogacao) ou estão na lista de exclusão, e o WP Rocket não faz preload de páginas com query string nem das excluidas.
  • O site não esta publicamente acessivel: esta em modo de manutenção, protegido por senha (HTTP Auth) ou ainda em staging, e o robo de preload enxerga a barreira em vez da página.

Como resolver

  1. Confirme que o WP-Cron esta ativo: A fila de preload so anda quando o cron consegue rodar. Abra o arquivo de configuração do WordPress e verifique se a constante de desativar o cron não esta ligada. Se estiver como true, troque para false. Em sites de baixo tráfego o WP-Cron quase não e chamado, entao prefira configurar um cron real no painel da hospedagem chamando o arquivo de cron do WordPress a cada poucos minutos.
    define( 'DISABLE_WP_CRON', false );
    */5 * * * * wget -q -O - https://seusite.com.br/wp-cron.php?doing_wp_cron
  2. Verifique se o sitemap abre e tem URLs: O preload descobre as páginas pelo sitemap do seu plugin de SEO. Abra a URL do sitemap em uma janela anonima e confirme que ela carrega e lista páginas de verdade. Se der erro, voltar em branco ou não existir, gere o sitemap no plugin de SEO antes de seguir, porque sem ele a fila de preload nunca recebe URLs.
    https://seusite.com.br/sitemap_index.xml
    https://seusite.com.br/sitemap.xml
  3. Garanta a extensão SimpleXML no PHP: O WP Rocket precisa da extensão SimpleXML para ler o XML do sitemap. Em WP Rocket -> Tools, ou na Saude do Site do WordPress, confira se a extensão esta carregada. Se faltar, peca a hospedagem para habilitar a extensão na versão de PHP do site e reinicie o serviço. Sem ela, o parse do sitemap falha em silencio e nenhuma URL entra na fila.
    php -m | grep -i simplexml
    WordPress -> Ferramentas -> Saude do Site -> Informações -> Servidor
  4. Libere o user-agent do robo de preload no firewall: Se um plugin de segurança ou o firewall do servidor barra o robo, as URLs nunca carregam para o robo e a fila trava. Adicione o user-agent do preload do WP Rocket a allowlist do plugin de segurança ou do firewall, e no Cloudflare desligue o Bot Fight Mode, que costuma tratar o robo como bot malicioso.
    WP Rocket/Preload
    Cloudflare -> Security -> Bots -> Bot Fight Mode: Off
  5. Tire query strings e exclusoes do caminho do preload: O WP Rocket não faz preload de páginas com query string nem das que estão na lista de exclusão. Revise o campo de URLs excluidas e remova as páginas que deveriam ser preloadadas. Para links com parametro, ative a remoção de query strings ou ajuste a origem dos links, para que a URL canonica entre na fila limpa.
    WP Rocket -> Cache -> Never Cache URL(s)
    WP Rocket -> File Optimization -> Remove query strings
  6. Limpe o estado e force um novo preload: Com os bloqueios removidos, recomece a fila do zero. No painel, em WP Rocket -> Dashboard, clique em Clear and preload cache para descartar o estado antigo e recolocar todas as URLs na fila. Acompanhe a barra de progresso e confira na pasta de cache se os arquivos comecam a aparecer. Em poucos minutos a fila deve avancar e o cache se preencher.
    WP Rocket -> Dashboard -> Clear and preload cache
    wp-content/cache/wp-rocket/seusite.com.br/
PHP
<?php
// wp-config.php
// O Preload do WP Rocket so processa a fila quando o WP-Cron roda.

// Errado (a fila de preload nunca e disparada):
// define( 'DISABLE_WP_CRON', true );

// Certo: mantenha o WP-Cron ativo...
define( 'DISABLE_WP_CRON', false );

// ...e, em sites de baixo trafego, configure um cron REAL no servidor
// chamando wp-cron.php a cada 5 minutos (crontab do servidor),
// para a fila de preload andar sem depender de visitas:
// */5 * * * * wget -q -O - https://seusite.com.br/wp-cron.php?doing_wp_cron

Perguntas frequentes

O que significa o erro de Preload no WP Rocket?
Significa que o robo de preload do WP Rocket não consegue percorrer as URLs do site para gerar o cache antecipado. A fila fica parada ou nem comeca, as páginas seguem com status pendente e o cache não e preenchido. Na prática, a primeira visita de cada página continua lenta, que e justamente o que o preload deveria evitar.
Por que a fila de preload do WP Rocket nunca termina?
Quase sempre porque o WP-Cron não esta rodando: e ele que dispara o processamento em segundo plano. Se a constante de desativar o cron estiver ligada, ou se o site tiver tráfego baixo demais para o cron ser chamado, a fila não anda. A solução e garantir o cron ativo e, em sites pequenos, configurar um cron real no servidor.
O preload precisa do sitemap para funcionar?
Sim. Por padrão o WP Rocket le o sitemap do plugin de SEO (Yoast, Rank Math, All in One SEO, SEOPress ou The SEO Framework) para descobrir quais URLs preencher. Se o sitemap não abre, volta vazio ou não existe, a fila de preload fica sem URLs para percorrer. Gere e teste o sitemap antes de investigar outras causas.
Um plugin de segurança pode travar o preload?
Pode. Plugins como Wordfence, AIOS e iThemes, além do firewall do servidor e do Bot Fight Mode do Cloudflare, podem bloquear o user-agent WP Rocket/Preload, tratando o robo como bot. Quando isso acontece, o robo e barrado antes de carregar a página e a fila trava. Libere o user-agent do preload na allowlist para resolver.
Por que páginas com query string não recebem preload?
O WP Rocket não faz preload de URLs que tenham parametros de query string na ponta, nem das páginas que estão na lista de exclusão. Esse e um comportamento esperado. Para que essas páginas entrem na fila, use a URL canonica sem parametros e revise o campo de URLs excluidas para tirar de la o que deveria ser preloadado.
O que e a tabela wp_wpr_rocket_cache?
E a tabela do banco onde o WP Rocket registra o estado de cada URL do preload, da mais antiga para a mais recente. Quando o preload trava, as linhas dessa tabela ficam com status pendente e nunca passam para concluido. Olhar essa tabela ajuda a confirmar se a fila esta parada ou apenas lenta.
Falta a extensão SimpleXML pode causar o erro de preload?
Sim. O WP Rocket usa a extensão SimpleXML do PHP para ler o XML do sitemap. Se essa extensão não estiver habilitada na versão de PHP do site, o parse do sitemap falha em silencio e nenhuma URL entra na fila de preload. Peca a hospedagem para habilitar a SimpleXML e force um novo preload depois.
O preload funciona em site protegido por senha ou em staging?
Não de forma confiavel. O robo de preload enxerga a página como um visitante anonimo, entao modo de manutenção, proteção por senha (HTTP Auth) e ambientes de staging fechados barram o acesso e travam a fila. Tire essas barreiras no ambiente de producao antes de esperar que o preload preencha o cache.

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