Como corrigir o conflito de cache entre WP-Optimize e WP Rocket
O que é o conflito de cache entre WP-Optimize e WP Rocket?
O conflito de cache entre WP-Optimize e WP Rocket ocorre porque ambos são plugins de cache de página completos: cada um gera sua própria copia estática do HTML e tenta minificar e combinar CSS e JavaScript. Quando os dois rodam ativos no mesmo site, eles disputam a entrega da página e a otimização dos arquivos, e a documentação oficial do WP-Optimize afirma que apenas um page cache consegue operar de forma efetiva por vez.
Na prática, o navegador recebe uma camada de cache servida por cima de outra (double caching), o CSS minificado por um plugin e reprocessado pelo outro e as duas filas de limpeza nunca ficam sincronizadas. O resultado tipico e tela em branco, estilos que somem, scripts que param de rodar e alterações no site que demoram a aparecer mesmo depois de salvar.
Como identificar
- Página abre em branco ou so com texto sem estilo (CSS sumiu) logo após ativar o segundo plugin de cache
- Console do navegador mostra ‘Uncaught SyntaxError’ ou ‘Unexpected token’ em arquivos JS combinados
- Alterações salvas no editor não aparecem no site mesmo após limpar o cache de um dos plugins
- Mensagem ‘Another caching plugin was detected’ ou aviso de page cache duplicado no painel do WP-Optimize ou do WP Rocket
- Arquivos servidos com dois cabeçalhos de cache diferentes ao inspecionar a aba Rede (ex.: x-cache do WP Rocket e do WP-Optimize na mesma resposta)
- Botão de limpar cache de um plugin não remove a copia gerada pelo outro, e o conteúdo antigo persiste
Como prevenir
- Rode apenas um plugin de cache de página por site, defina o responsável logo na ativacao e nunca ligue o page cache do segundo
- Centralize a minificacao de CSS/JS em um único plugin e deixe a do outro desligada
- Ao instalar um novo plugin de otimização, verifique antes se ele tras page cache embutido para não duplicar a função
- Documente qual plugin cuida do cache no site para que a equipe não reative a função concorrente em manutencoes futuras
Causa
- Page cache ativo simultaneamente nos dois plugins: WP Rocket liga o cache de página ao ser ativado e o WP-Optimize tem o cache de página ligado em WP-Optimize -> Cache -> aba Page cache, fazendo o site servir dois HTML estáticos sobrepostos.
- Minificacao e combinacao de CSS/JS duplicada: a Minify do WP-Optimize e as opções Minify CSS/JS e Combine do WP Rocket reprocessam o mesmo arquivo, gerando JavaScript quebrado e CSS fora de ordem.
- Filas de limpeza independentes: cada plugin guarda o cache em sua própria pasta (wp-content/cache/wpo-cache para o WP-Optimize e wp-content/cache/wp-rocket para o WP Rocket) e o clear de um não invalida o do outro, deixando conteúdo desatualizado.
- Preload e Critical CSS concorrentes: o preload do WP Rocket e o pre-load do cache do WP-Optimize regeneram páginas ao mesmo tempo e disputam o mesmo arquivo, sobrecarregando o servidor e travando a geração do cache.
- Regras de gzip e cabeçalhos de expiracao escritas no mesmo .htaccess pelos dois plugins, criando diretivas mod_expires e mod_deflate duplicadas que o Apache rejeita.
Como resolver
- Escolha um único plugin para o page cache: A regra da documentação oficial do WP-Optimize e direta, apenas um cache de página pode operar por vez. Decida qual plugin fica responsável pelo cache de página do site (o padrão recomendado e manter o WP Rocket no page cache, por ser o cache de página dedicado) e desative essa função no outro.
- Desative o page cache do WP-Optimize: No painel, abra o caminho de menu indicado, va até a aba do cache de página e desligue a opção de cache. Mantenha o WP-Optimize so para banco de dados e (se quiser) minificacao, nunca para page cache junto com o WP Rocket.
WP-Optimize -> Cache -> Page cache -> desmarcar 'Enable page caching' - Desligue a minificacao em um dos plugins: Para não reprocessar CSS/JS duas vezes, deixe a minificacao ativa em apenas um plugin. Se o WP Rocket vai minificar, desligue a Minify do WP-Optimize.
WP-Optimize -> Minify -> aba CSS -> desativar 'Enable minify' WP-Optimize -> Minify -> aba JavaScript -> desativar 'Enable minify' - Limpe as duas pastas de cache via FTP: Como cada plugin guarda o cache em pasta própria, esvazie as duas para o site voltar a servir HTML novo. Apague o conteúdo de dentro das pastas (não as pastas em si) por FTP ou gerenciador de arquivos.
wp-content/cache/wpo-cache/ wp-content/cache/wp-rocket/ wp-content/cache/min/ - Force a regeneracao e valide o frontend: Salve as permalinks para o WordPress reescrever o .htaccess sem diretivas duplicadas, limpe o cache pelo plugin que ficou responsável e abra o site numa janela anonima. Confira se o CSS e o JS carregam e se o console fica sem erro.
Configurações -> Links permanentes -> Salvar alterações WP Rocket -> Limpar cache
# Remova blocos mod_expires/mod_deflate DUPLICADOS no .htaccess.
# Mantenha apenas UM (o do plugin que ficou no page cache) e apague o outro.
# BEGIN WP-Optimize <-- se o WP-Optimize NAO e mais o page cache, apague este bloco inteiro
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>
# END WP-Optimize
# BEGIN WP Rocket <-- bloco que PERMANECE quando o WP Rocket cuida do page cache
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/css text/javascript application/javascript
</IfModule>
# END WP Rocket














