🎉 USE O CUPOM FIM.DE.SEMANA.FULL | 20% OFF acima de R$ 100,00

Como corrigir a exclusão de páginas do cache no WP Rocket no WordPress

Time Full Services Time Full Services
Tipo Performance & Velocidade
Nome do erro Página não é excluída do cache do WP Rocket EN: Page not excluded from WP Rocket cache
Severidade Atenção
Descrição A exclusão de uma página do cache no WP Rocket não funciona quando o padrão de URL no campo Never Cache URL(s) está mal formatado, quando um cache de servidor ou CDN fica acima do plugin, ou quando o Preload recacheia a página logo após a limpeza.

O que é exclusão de página do cache no WP Rocket?

A exclusão de uma página do cache no WP Rocket significa dizer ao plugin para nunca servir aquela URL a partir do HTML estático em cache, entregando sempre a versão dinâmica gerada pelo PHP. Isso é necessário em páginas que mudam por visitante ou por sessão, como carrinho, checkout, área de membros, painéis logados e páginas com conteúdo personalizado. O WP Rocket faz essa exclusão pelo campo Never Cache URL(s), dentro da aba Advanced Rules (Regras Avançadas) das configurações do plugin.

A falha aparece quando, mesmo com a URL listada para nunca cachear, a página continua sendo servida do cache: o conteúdo fica congelado, o carrinho mostra itens de outro visitante ou dados logados aparecem para quem não deveria ver. Na prática, a exclusão não pega por três motivos recorrentes: o padrão de URL digitado não casa com o caminho real (barra final, subpasta ou curinga errado), existe um cache acima do WP Rocket (cache de servidor como Varnish, ou Cloudflare com Cache Everything) que serve a página antes do plugin, ou o Preload do WP Rocket recacheia a URL logo após qualquer limpeza. O comportamento de cada um desses pontos está documentado na base de conhecimento oficial do WP Rocket.

Como identificar

  • Uma página listada em Never Cache URL(s) continua mostrando conteúdo antigo ou congelado, como se nunca tivesse sido excluída do cache.
  • O comentário de rodapé do HTML ainda exibe a linha ‘This website is like a rocket, isn’t it? Performance optimized by WP Rocket’ em uma página que deveria estar fora do cache.
  • O carrinho ou a área de membros mostra dados de outro visitante, sinal de que a página dinâmica está sendo servida do cache estático.
  • A página volta a ser cacheada poucos minutos depois de você limpar o cache, mesmo sem ninguém editar nada.
  • A exclusão funciona para a URL exata digitada, mas não pega as variações com paginação, parâmetros de query ou subpáginas.
Antes de começar: Antes de editar o functions.php ou alterar regras de cache no Cloudflare e no servidor, faça um backup do site (arquivos e banco de dados) ou teste primeiro em um ambiente de staging. Um erro no functions.php pode derrubar o site, então mantenha acesso por FTP para reverter.

Como prevenir

  • Sempre digite os caminhos no Never Cache URL(s) como caminho relativo com barra inicial e use o curinga (.*) quando precisar cobrir subpáginas e parâmetros.
  • Mantenha o WooCommerce e o EDD com as integrações nativas do WP Rocket ativas, pois carrinho, checkout e minha-conta já são excluídos automaticamente quando o plugin reconhece a loja.
  • Documente, em cada projeto, qual cache fica acima do WP Rocket (host ou Cloudflare) e replique as exclusões nessas camadas para evitar páginas dinâmicas congeladas.
  • Depois de cada alteração nas regras, limpe o cache e valide a página excluída pelos cabeçalhos da resposta antes de considerar o ajuste concluído.

Causa

  • O padrão digitado no campo Never Cache URL(s) usa a URL completa com https://domínio em vez do caminho relativo a partir da raiz começando com barra, então o WP Rocket não casa o padrão com a requisição e cacheia a página mesmo assim.
  • A barra final do caminho não bate: você excluiu /minha-página mas o site responde em /minha-página/ (ou o contrário), e como o WP Rocket compara o caminho exato, a página fora do padrão continua sendo cacheada.
  • Falta o curinga (.*) para cobrir subpáginas, paginação ou parâmetros: excluir só /loja deixa /loja/page/2 e /loja/?orderby=price ainda no cache.
  • Existe um cache de página acima do WP Rocket, como Varnish ou cache do próprio servidor de hospedagem, que serve a resposta antes do PHP rodar, então a regra de exclusão do plugin nunca é avaliada.
  • O Cloudflare está com a opção Cache Everything (ou APO) ativa e guarda o HTML na borda, devolvendo a página em cache independentemente do que o WP Rocket decide no servidor de origem.
  • O Preload do WP Rocket revisita e recacheia a URL logo após cada limpeza de cache, então a página excluída por engano (padrão que não casou) volta ao cache em minutos e parece que a exclusão nunca funcionou.

Como resolver

  1. Abra o campo Never Cache URL(s) nas Regras Avançadas: Vá às configurações do WP Rocket e abra a aba de Regras Avançadas. O campo Never Cache URL(s) é onde você lista os caminhos que nunca devem ser servidos do cache estático, um por linha.
    Painel WP -> Configurações -> WP Rocket -> Advanced Rules (Regras Avançadas)
    Localize o campo Never Cache URL(s)
  2. Use o caminho relativo a partir da raiz, não a URL completa: Digite o caminho começando com barra a partir da raiz do domínio, sem o https nem o nome do site. Uma entrada por linha. Esse é o formato que o WP Rocket compara com a requisição.
    /minha-página/
    /área-de-membros/
    Evite colar a URL completa com https://seudominio.com no campo
  3. Adicione o curinga (.*) para cobrir subpáginas e parâmetros: Para excluir uma seção inteira, incluindo paginação, parâmetros de query e subpáginas, acrescente o curinga (.*) ao final do caminho. Sem ele, só a URL exata é excluída.
    /loja(.*)
    /minha-conta(.*)
    Salve as alterações e limpe o cache em WP Rocket -> Dashboard -> Limpar cache
  4. Confirme se há cache acima do WP Rocket: Verifique no host se existe Varnish ou cache de página no servidor, e no Cloudflare se Cache Everything ou APO está ativo. Esses caches ficam acima do plugin e precisam da própria regra de bypass para a URL excluída.
    Inspecione os cabeçalhos da resposta da página (F12 -> Network) procurando x-cache, cf-cache-status ou age
    No Cloudflare, crie uma Cache Rule de Bypass cache para o caminho excluído se Cache Everything estiver ativo
    No painel do host, exclua o mesmo caminho do cache de servidor (Varnish/Nginx) ou peça ao suporte
  5. Force a exclusão por código quando o painel não basta: Para URLs geradas dinamicamente ou condições que o campo do painel não cobre, registre a exclusão pelo filtro oficial rocket_cache_reject_uri no functions.php do tema filho. Esse caminho exige editar arquivo do tema.
    Acesse o tema filho via FTP ou Aparência -> Editor de Arquivos do Tema
    Edite o functions.php do tema filho
    Adicione o filtro rocket_cache_reject_uri (veja o bloco de código abaixo) e salve
PHP
<?php
// functions.php do tema filho — exclui caminhos do cache do WP Rocket por filtro.
add_filter( 'rocket_cache_reject_uri', 'full_wp_rocket_never_cache' );
function full_wp_rocket_never_cache( $uris ) {
    // Cada entrada e um caminho relativo (regex). (.*) cobre subpaginas e parametros.
    $uris[] = '/area-de-membros(.*)';
    $uris[] = '/minha-pagina-dinamica/';
    return $uris;
}

Perguntas frequentes

Onde fica o campo para excluir páginas do cache no WP Rocket
O campo Never Cache URL(s) fica nas configurações do WP Rocket, dentro da aba Advanced Rules (Regras Avançadas). Você lista um caminho por linha e clica em salvar para que o plugin nunca sirva aquelas URLs a partir do cache estático.
Por que minha página continua cacheada mesmo no Never Cache URL(s)
Na maioria dos casos o padrão de URL não casa com o caminho real do site, por causa de barra final ausente, URL completa em vez do caminho relativo ou falta do curinga. Reescreva a entrada como caminho relativo com barra inicial e adicione (.*) para cobrir variações.
Como excluir uma seção inteira do site, e não só uma URL
Acrescente o curinga (.*) ao final do caminho da seção, como /loja(.*). Assim o WP Rocket exclui a página principal, as subpáginas, a paginação e as URLs com parâmetros de query daquela seção de uma vez.
O WP Rocket exclui carrinho e checkout sozinho
Sim, quando reconhece WooCommerce ou Easy Digital Downloads, o WP Rocket já exclui automaticamente carrinho, checkout e minha-conta do cache. Você só precisa adicionar manualmente páginas dinâmicas próprias que o plugin não reconhece.
Por que a página volta a ser cacheada logo depois que eu limpo o cache
Isso costuma indicar que o padrão de exclusão não pegou e o Preload do WP Rocket recacheou a URL na próxima visita ou rastreamento. Corrija o padrão no Never Cache URL(s) e, se preciso, force a exclusão pelo filtro rocket_cache_reject_uri.
Cloudflare pode servir a página em cache mesmo com a exclusão do WP Rocket
Pode. Se o Cloudflare estiver com Cache Everything ou APO ativo, ele guarda o HTML na borda e devolve a versão em cache antes de chegar ao servidor de origem. Crie uma regra de Bypass cache no Cloudflare para o mesmo caminho excluído no WP Rocket.
Como sei se a página está realmente fora do cache
Abra a página em uma aba anônima e inspecione o HTML: se o comentário do WP Rocket no rodapé sumiu, a página não está sendo servida do cache do plugin. Confira também os cabeçalhos da resposta, como cf-cache-status e x-cache, para descartar cache de CDN ou servidor.
Preciso editar código para excluir uma página do cache
Não para a maioria dos casos, que se resolvem no campo Never Cache URL(s). O filtro rocket_cache_reject_uri no functions.php só é necessário para URLs dinâmicas ou condições que o painel não cobre, como excluir por parâmetro ou por regra programática.

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