Como corrigir o erro 404 após ativar o WP Rocket
O que é erro 404 do WP Rocket?
O WP Rocket erro 404 é a resposta Não Encontrado que o servidor devolve quando uma URL referenciada pela página não existe mais no disco. Ao ativar o WP Rocket, ele passa a combinar e minificar arquivos CSS e JavaScript dentro de wp-content/cache/min e a reescrever caminhos de assets para a CDN, então qualquer referência antiga que continue em cache, em HTML preloadado ou no snapshot de um buscador aponta para um arquivo que foi regenerado com outro nome. O resultado é um 404 no asset (folha de estilo ou script some) ou, quando há conflito com permalinks e regras de reescrita, um 404 na página inteira.
Como identificar
- O console do navegador (aba Network) mostra status 404 (Not Found) para arquivos como /wp-content/cache/min/1/xxxx.css ou .js
- O site carrega sem estilos ou com layout quebrado porque a folha de estilo combinada retornou 404
- Mensagem 404 Not Found ou Página não encontrada em URLs que funcionavam antes de ativar o WP Rocket
- Imagens, fontes ou scripts servidos pela CDN retornam 404 e o domínio no caminho do asset está diferente do domínio do site
- O erro aparece logo após salvar uma alteração na aba Otimização de Arquivos ou após uma atualização de tema/plugin
Como prevenir
- Deixe Minificar JavaScript ligado e Combinar JavaScript desligado em sites que recebem atualizações frequentes de tema e plugins, para o nome do arquivo não mudar a cada deploy.
- Defina uma versão canônica de domínio (com ou sem www) com redirecionamento 301 e use o mesmo formato no painel, na CDN e nos permalinks.
- Sempre que ativar ou testar uma CDN, abra um arquivo de wp-content/cache/min direto pela URL da CDN para confirmar que a zona serve o asset antes de jogar tráfego real.
- Mantenha os permalinks em Nome do post e, em Nginx, documente a regra de reescrita no server block junto do deploy para ela não se perder em migrações.
Causa
- A opção Combinar arquivos JavaScript (Combine JavaScript files) está ligada: o WP Rocket gera um nome de arquivo novo a cada mudança e o HTML em cache, o preload ou o snapshot do Google ainda apontam para o nome antigo, que não existe mais.
- O domínio em Configurações -> Geral está em www e os assets em cache foram gerados para a versão sem www (ou o contrário), então o caminho do arquivo minificado resolve para um host que não serve aquele arquivo.
- O CNAME da CDN em Content Delivery -> Other CDN está incorreto ou aponta para uma zona que não tem os arquivos de wp-content/cache/min, e cada asset reescrito para a CDN volta como 404.
- Os permalinks estão na opção Padrão (Plain) em Configurações -> Links Permanentes: as regras de reescrita que o WP Rocket grava no .htaccess dependem de URLs amigáveis, e sem elas o servidor devolve 404 na página.
- O site roda em Nginx, onde o WP Rocket não consegue aplicar as regras do .htaccess, e a configuração de reescrita do servidor não foi adicionada manualmente, deixando páginas em cache retornando 404.
Como resolver
- Limpe o cache e confirme onde o 404 acontece: Antes de mexer em opções, force a regeneração dos arquivos. No menu superior do WordPress clique em WP Rocket e depois em Limpar e pré-carregar o cache, recarregue a página com cache desativado e veja na aba Network do navegador qual recurso retorna 404 (asset minificado, asset de CDN ou a própria página). Isso define qual passo abaixo aplicar.
Painel -> menu superior WP Rocket -> Limpar e pré-carregar o cache DevTools (F12) -> aba Network -> recarregar -> filtrar por status 404 - Desligue Combinar JavaScript e mantenha só Minificar: Se o 404 é em arquivos de wp-content/cache/min, a combinação é a causa mais comum porque renomeia o arquivo. Em WP Rocket -> Otimização de Arquivos, desmarque Combinar arquivos JavaScript e deixe ligada apenas Minificar arquivos JavaScript, que não altera o nome do arquivo. Salve e limpe o cache de novo.
WP Rocket -> Otimização de Arquivos -> CSS/JavaScript Desmarcar: Combinar arquivos JavaScript (Combine JavaScript files) Manter marcado: Minificar arquivos JavaScript (Minify JavaScript files) - Padronize www/não-www e verifique a CDN: Garanta que o Endereço do site em Configurações -> Geral usa exatamente o mesmo formato (com ou sem www) que o resto do site e que existe um redirecionamento 301 forçando essa versão. Se você usa CDN, confira o CNAME em WP Rocket -> CDN (Content Delivery) e teste abrir um arquivo de cache direto pela URL da CDN; se ele abrir 404, a zona não tem os arquivos minificados e o CNAME precisa ser corrigido com o provedor.
Configurações -> Geral -> Endereço do WordPress / Endereço do site WP Rocket -> CDN -> CNAME(s) (Content Delivery -> Other CDN) - Corrija permalinks e regras de reescrita do servidor: Se o 404 é na página inteira e não num asset, troque os permalinks de Padrão para Nome do post em Configurações -> Links Permanentes e salve para regravar o .htaccess. Em servidores Apache ou LiteSpeed isso recria o bloco BEGIN WP Rocket. Em Nginx não há .htaccess, então a regra de reescrita do cache precisa ser adicionada no arquivo de configuração do servidor (server block), conforme o guia oficial de Nginx do WP Rocket.
Configurações -> Links Permanentes -> Nome do post -> Salvar alterações chmod 644 .htaccess Apache/LiteSpeed: verificar bloco entre # BEGIN WP Rocket e # END WP Rocket no .htaccess Nginx: adicionar a regra de cache do WP Rocket no server block (config do servidor)
# Nginx: servir as paginas em cache do WP Rocket (no .htaccess nao existe no Nginx)
set $rocket_bypass 1;
if ($request_method = GET) { set $rocket_bypass 0; }
if ($args != "") { set $rocket_bypass 1; }
if ($http_cookie ~* "wordpress_logged_in_|wp-postpass_|woocommerce_items_in_cart") { set $rocket_bypass 1; }
set $rocket_file "/wp-content/cache/wp-rocket/$host/$request_uri/index.html";
if (-f $document_root$rocket_file) { set $rocket_bypass "${rocket_bypass}1"; }
if ($rocket_bypass = "01") { rewrite .* $rocket_file last; }














