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

Como corrigir o conflito de cache entre All in One Security e WP Rocket

Time Full Services Time Full Services
Tipo Seguranca
Nome do erro Conflito de cache entre All in One Security e WP Rocket EN: All in One Security and WP Rocket cache conflict
Severidade Atenção
Descrição O conflito de cache entre AIOS e WP Rocket aparece quando os dois plugins gerenciam o mesmo arquivo .htaccess e a tela de login protegida pelo AIOS acaba sendo armazenada em cache, derrubando o acesso ao wp-admin. A correção isola a área de login do cache e ordena os blocos no .htaccess.

O que é conflito AIOS WP Rocket?

O conflito AIOS WP Rocket ocorre porque os dois plugins disputam o mesmo arquivo .htaccess e a mesma camada de requisicao. O All in One Security grava regras de firewall e de Cookie Based Brute Force Prevention no .htaccess, e o WP Rocket grava o próprio bloco de cache e compressao no mesmo arquivo. Quando o WP Rocket cacheia a página de login que o AIOS protege com cookie, o visitante recebe uma versão estática sem o cookie de autorizacao e e redirecionado, ou a área administrativa para de responder.

Como identificar

  • Mensagem ‘Error: cookies are blocked or not supported by your browser’ ao tentar entrar no wp-admin depois de ativar o WP Rocket
  • A página de login protegida pelo AIOS abre em loop de redirecionamento ou retorna a home em vez do formulário
  • WP Rocket exibe ‘This page is not cached’ ou não gera cache em páginas do front-end, porque o AIOS define a constante DONOTCACHEPAGE
  • Erro 500 Internal Server Error logo após salvar configurações do firewall do AIOS, com dois blocos concorrentes visiveis no .htaccess
  • Aviso no painel do WP Rocket informando que o arquivo .htaccess não pode ser gravado quando o AIOS marca a permissão do arquivo como somente leitura
Antes de começar: Editar o .htaccess errado derruba o site inteiro com erro 500. Mantenha o backup .htaccess.bak ao alcance e tenha acesso por FTP aberto em outra aba para restaurar caso o login pare de responder.

Como prevenir

  • Defina sempre a tela de login e o wp-admin como Never Cache URL no WP Rocket logo após instalar qualquer plugin de segurança que proteja o login
  • Ative um plugin de cache de cada vez e revise o .htaccess depois de cada salvamento de configuração do AIOS para confirmar a ordem dos blocos
  • Use o recurso de exportar configurações do AIOS antes de ativar a Cookie Based Brute Force Prevention, para reverter rápido se o conflito reaparecer
  • Evite combinar o Rename Login Page do AIOS com cache agressivo sem registrar o slug customizado na lista de URLs nunca cacheadas

Causa

  • A opção Cookie Based Brute Force Prevention do AIOS, em WP Security -> Firewall -> Brute Force Prevention, exige um cookie de secret word para liberar a tela de login, e o WP Rocket serve uma copia em cache dessa tela sem o cookie, redirecionando o usuário.
  • O AIOS escreve o próprio bloco de regras de firewall no inicio do arquivo .htaccess da raiz e o WP Rocket escreve o bloco BEGIN WP Rocket no mesmo arquivo; quando a ordem se inverte após um salvamento, o servidor retorna erro 500.
  • O módulo de firewall do AIOS define a constante DONOTCACHEPAGE em requisicoes que considera sensiveis, e o WP Rocket respeita essa constante e deixa de gerar o cache da página.
  • O recurso Rename Login Page do AIOS, em WP Security -> Brute Force -> Rename Login Page, muda a URL de login para um slug customizado que não esta na lista de URLs nunca cacheadas do WP Rocket, fazendo o WP Rocket entregar a versão estática errada.
  • O AIOS marca o arquivo .htaccess como somente leitura na opção de proteção de arquivos do sistema, impedindo que o WP Rocket atualize o próprio bloco de regras durante a limpeza de cache.

Como resolver

  1. Faca backup do .htaccess antes de mexer: Baixe o arquivo .htaccess da raiz por FTP ou pelo gerenciador de arquivos da hospedagem e guarde uma copia local. Os dois plugins reescrevem esse arquivo, entao um backup garante o retorno rápido caso o servidor pare de responder.
    cp /public_html/.htaccess /public_html/.htaccess.bak
  2. Exclua a área de login e admin do cache do WP Rocket: No WP Rocket abra a aba Advanced Rules e adicione a tela de login e o wp-admin a lista Never Cache URL(s). Isso impede que a página protegida pelo cookie do AIOS seja servida estática sem o cookie de autorizacao.
    /wp-login.php
    /wp-admin/(.*)
    /seu-slug-de-login-renomeado/(.*)
  3. Exclua o cookie do AIOS para impedir cache da sessao protegida: Ainda na aba Advanced Rules do WP Rocket, no campo Never Cache Cookies, informe o nome do cookie que o AIOS cria com o secret word. Com isso o WP Rocket nunca cacheia a resposta de quem tem o cookie de acesso ao login.
    aiowps_login_secret
  4. Ordene os blocos no .htaccess colocando o AIOS antes do WP Rocket: Abra o .htaccess da raiz e garanta que o bloco do AIOS fique acima do bloco BEGIN WP Rocket. As regras de segurança precisam ser avaliadas antes das regras de cache, o que elimina o erro 500 causado pela ordem invertida.
    # BEGIN All In One WP Security
  5. # ... regras de firewall do AIOS ...
    # END All In One WP Security
    # BEGIN WP Rocket v3
  6. # ... regras de cache e compressao ...
    # END WP Rocket
  7. Libere a permissão do .htaccess e limpe o cache: No AIOS, em WP Security -> Filesystem Security, desative a proteção que deixa o .htaccess somente leitura, depois limpe o cache do WP Rocket e teste o login em uma janela anonima. Sem a permissão de escrita o WP Rocket não consegue regravar o próprio bloco.
    chmod 644 /public_html/.htaccess
APACHE
# BEGIN All In One WP Security
# As regras de firewall do AIOS devem vir ANTES do bloco do WP Rocket
<Files ".htaccess">
  Require all denied
</Files>
# END All In One WP Security

# BEGIN WP Rocket v3
<IfModule mod_setenvif.c>
  # Nao serve cache para sessao com o cookie de login do AIOS
  SetEnvIf Cookie "aiowps_login_secret" DONOTCACHE=1
</IfModule>
# END WP Rocket

Perguntas frequentes

Por que o WP Rocket para de gerar cache depois que ativo o AIOS?
Porque o módulo de firewall do AIOS define a constante DONOTCACHEPAGE em requisicoes que considera sensiveis, e o WP Rocket respeita essa constante e não cria o arquivo de cache. Exclua a área de login do cache e o front-end volta a ser cacheado normalmente.
O conflito entre AIOS e WP Rocket pode quebrar meu login?
Sim. Se o WP Rocket cacheia a tela de login protegida pela Cookie Based Brute Force Prevention do AIOS, o visitante recebe a versão estática sem o cookie de secret word e e redirecionado, ficando preso fora do wp-admin até a área de login ser excluida do cache.
Preciso desativar o AIOS para usar o WP Rocket?
Não. Os dois plugins convivem desde que a tela de login e o wp-admin estejam na lista Never Cache URL do WP Rocket e o cookie do AIOS esteja em Never Cache Cookies. A segurança do firewall continua ativa enquanto o cache atende apenas o conteúdo público.
Por que aparece erro 500 logo após salvar o firewall do AIOS?
O erro 500 surge quando o bloco de regras do AIOS fica abaixo do bloco BEGIN WP Rocket no .htaccess, criando diretivas concorrentes. Coloque o bloco do AIOS acima do bloco do WP Rocket e o servidor volta a responder.
O que e a Cookie Based Brute Force Prevention do AIOS?
E um recurso do All in One Security que esconde a tela de login atras de uma URL com uma secret word. Ao acessar essa URL, um cookie e gravado no navegador e libera o formulário de login; sem o cookie, o visitante e redirecionado para outra página.
O Rename Login Page do AIOS também entra em conflito com o cache?
Sim. Quando o AIOS renomeia a URL de login para um slug customizado, esse slug não esta na lista de URLs nunca cacheadas do WP Rocket, e o cache acaba servindo a versão errada. Adicione o slug renomeado as Never Cache URL para resolver.
Onde fica a opção de exclusão de cache no WP Rocket?
Na aba Advanced Rules do painel do WP Rocket, você encontra os campos Never Cache URL(s) e Never Cache Cookies. E ali que se isola a área de login protegida pelo AIOS do cache de páginas.
Como reverter o conflito sem perder as duas configurações?
Restaure o backup .htaccess.bak que você salvou antes de editar, reative os plugins um de cada vez e aplique as exclusoes de cache. Assim você mantem o firewall do AIOS e o cache do WP Rocket sem precisar reconfigurar do zero.

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