Como corrigir o erro Critical CSS Not Generated no WP Rocket
O que é erro Critical CSS Not Generated no WP Rocket?
Critical CSS Not Generated e o estado em que o WP Rocket falha ao produzir o CSS crítico (Critical Path CSS) ou o Used CSS de uma ou mais páginas. As features Remove Unused CSS e Load CSS Asynchronously, ambas dentro de Optimize CSS Delivery, não geram esse CSS no próprio servidor: elas enviam a URL da página para um serviço externo da WP Rocket, em nuvem, que visita a página, calcula apenas o CSS de fato usado e devolve o resultado. Esse processamento e assincrono e disparado pelo cron do WordPress, em fila.
Como identificar
- No painel, em WP Rocket -> File Optimization, aparece o aviso de que o CSS não foi gerado, com mensagem do tipo ‘We could not generate the used CSS’ para uma ou mais URLs
- O WP Rocket exibe o aviso ‘It seems a security plugin or the server’s firewall prevents WP Rocket from accessing the SaaS features’, indicando bloqueio do serviço em nuvem
- A opção Remove Unused CSS ou Load CSS Asynchronously fica marcada, mas o site continua carregando a folha de estilo completa, sem o ganho de velocidade esperado
- No teste do PageSpeed Insights a recomendacao ‘Eliminate render-blocking resources’ continua aparecendo mesmo com a feature ativada
- A fila de geração de Used CSS nunca esvazia: as páginas seguem marcadas como pendentes mesmo após vários minutos
Como prevenir
- Mantenha a licenca do WP Rocket sempre ativa: o serviço de geração de CSS depende de licenca valida e para de funcionar assim que ela expira.
- Antes de ativar Optimize CSS Delivery, confirme que o site esta público, sem modo de manutenção nem proteção por senha, para o serviço externo conseguir visitar as páginas.
- Se usa Cloudflare ou plugin de segurança, já deixe o user-agent do WP Rocket na allowlist, evitando que novas páginas falhem na geração.
- Em sites de baixo tráfego, configure um cron real no servidor em vez de confiar no WP-Cron, que so dispara quando alguem visita o site, para a fila de Used CSS nunca travar.
Causa
- Um plugin de segurança (Wordfence, AIOS, iThemes) ou o firewall do servidor bloqueia o user-agent do serviço SaaS da WP Rocket, impedindo o acesso externo a página.
- O Bot Fight Mode da Cloudflare esta ativo e barra o robo da WP Rocket como se fosse um bot malicioso antes de chegar a página.
- O site não esta publicamente acessivel: esta em modo de manutenção, protegido por senha (HTTP Auth) ou bloqueado por regra no arquivo .htaccess.
- A licenca do WP Rocket esta expirada ou invalida, e o acesso ao serviço em nuvem so funciona com licenca ativa.
- O WP-Cron não esta rodando (cron desativado por DISABLE_WP_CRON ou sem cron real no servidor), entao a fila de geração de Used CSS nunca e processada.
- A página demora mais de 45 segundos para carregar, limite acima do qual o serviço SaaS desiste de gerar o CSS daquela URL.
Como resolver
- Confirme que a página esta acessivel publicamente: Abra a URL afetada em uma janela anonima do navegador, sem estar logado. A página precisa carregar normalmente, sem tela de login, sem aviso de modo de manutenção e sem caixa de senha do servidor. Se aparecer qualquer barreira, desative o modo de manutenção e a proteção por senha antes de seguir, porque o serviço externo enxerga a página do mesmo jeito que um visitante anonimo.
https://seusite.com.br/página-afetada/ - Valide a licenca do WP Rocket: No painel, abra WP Rocket -> Dashboard e confira se a licenca aparece como valida e dentro da validade. O acesso ao serviço em nuvem que gera o CSS so e liberado com licenca ativa. Se estiver expirada, renove e clique para revalidar antes de continuar.
WP Rocket -> Dashboard -> Validate License - Libere o firewall e o plugin de segurança para o serviço SaaS: Se o aviso de firewall aparece, o robo do WP Rocket esta sendo barrado antes de ler a página. No Wordfence, ative o Learning Mode por alguns minutos ou adicione o user-agent do WP Rocket a allowlist. No plugin de segurança ou no firewall do servidor, libere o user-agent abaixo para que o serviço externo consiga visitar a página.
WP Rocket/Detect Critical CSS WP-Rocket-Used-CSS - Desligue o Bot Fight Mode da Cloudflare: Se o site usa Cloudflare, entre no painel da Cloudflare e desative o Bot Fight Mode, que costuma bloquear o robo da WP Rocket como bot. Em planos pagos, prefira criar uma regra de WAF que permita o user-agent do serviço em vez de deixar o Super Bot Fight Mode genérico ligado.
Cloudflare -> Security -> Bots -> Bot Fight Mode: Off - Garanta que o cron esta processando a fila: A geração do Used CSS roda em fila pelo cron. Se o WP-Cron estiver desativado, a fila nunca anda. Cheque se a constante de desativar o cron não esta definida no arquivo de configuração e, em servidores com pouco tráfego, configure um cron real no painel de 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 - Regenere o CSS e limpe o cache: Com os bloqueios removidos, force uma nova geração. No painel, em WP Rocket -> Dashboard, clique em Clear Used CSS para descartar o estado antigo e recolocar as páginas na fila. Em seguida limpe o cache e visite as URLs afetadas para disparar o processamento. Aguarde alguns minutos e confirme em File Optimization que o aviso de CSS não gerado desapareceu.
WP Rocket -> Dashboard -> Clear Used CSS WP Rocket -> Dashboard -> Clear and preload cache
<?php
// wp-config.php
// Garanta que o WP-Cron nao esteja desativado: a fila de Used CSS
// do WP Rocket so e processada quando o cron consegue rodar.
// Errado (impede o WP Rocket de processar a fila de geracao):
// define( 'DISABLE_WP_CRON', true );
// Certo: deixe 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):
// */5 * * * * wget -q -O - https://seusite.com.br/wp-cron.php?doing_wp_cron














