Como corrigir erros de integração entre WP Rocket e Cloudflare
O que é o erro de integração entre WP Rocket e Cloudflare?
A integração entre WP Rocket e Cloudflare conecta o plugin de cache do WordPress à CDN do Cloudflare por meio do add-on nativo do WP Rocket. Quando configurada errada, as duas camadas competem: o Cloudflare reotimiza arquivos que o WP Rocket já minificou e combinou, ou o add-on não consegue limpar o cache da CDN ao publicar uma alteração. O usuário percebe o site quebrado no frontend mesmo depois de limpar o cache do plugin.
O ponto-chave é que WP Rocket e Cloudflare não são concorrentes: o WP Rocket cuida da otimização de página (minificação, combinação, lazy load) e o Cloudflare cuida da entrega global e do cache de borda. O conflito nasce quando recursos como Rocket Loader, Auto Minify e Rocket Loader ficam ativos nos dois lados ao mesmo tempo.
Como identificar
- JavaScript do site para de funcionar (menu, slider, formulário) com o erro ‘Uncaught SyntaxError’ no console do navegador, sintoma típico do Rocket Loader do Cloudflare reordenando scripts já tratados pelo WP Rocket.
- O CSS aparece sem estilo (FOUC) ou um arquivo combinado retorna em branco, indicando minificação dupla: o WP Rocket minifica e o Auto Minify do Cloudflare minifica de novo o mesmo arquivo.
- Você pública uma alteração, limpa o cache do WP Rocket, mas a versão antiga continua no ar, pois o cache de borda do Cloudflare não foi purgado.
- O painel do WP Rocket mostra a mensagem ‘Cloudflare cache cleared’ falhando ou um aviso de credenciais inválidas ao salvar o add-on.
- Erro 502 Bad Gateway ou tela em branco ao limpar o cache quando o plugin Query Monitor está ativo junto com o Cloudflare, comportamento documentado pela WP Rocket.
Como prevenir
- Mantenha cada otimização em uma só camada: minificação e combinação no WP Rocket, entrega e cache de borda no Cloudflare. Nunca ative o Auto Minify do Cloudflare com a minificação do WP Rocket ligada.
- Deixe o Rocket Loader do Cloudflare sempre desligado em sites que usam o WP Rocket, já que o plugin já gerencia o carregamento dos scripts.
- Sempre que publicar uma alteração visual grande, ative o Development Mode do Cloudflare por alguns minutos para servir conteúdo sem cache de borda enquanto valida o resultado.
- Guarde a Global API Key e o Zone ID em um gerenciador de senhas, porque o add-on perde a conexão se a chave for rotacionada no Cloudflare e ninguém atualizar o WP Rocket.
Causa
- O recurso Rocket Loader do Cloudflare está ativo no painel da CDN. Ele reordena e adia a execução de scripts que o WP Rocket já combinou, quebrando bibliotecas como jQuery e gerando 'Uncaught SyntaxError' no console.
- O Auto Minify (HTML, CSS, JS) do Cloudflare está ligado ao mesmo tempo em que a minificação do WP Rocket está ativa, então o mesmo arquivo é minificado duas vezes e o segundo passe corrompe o arquivo já combinado.
- O add-on Cloudflare do WP Rocket foi salvo com um API token em vez da Global API Key. A documentação da WP Rocket aceita apenas a Global API Key, então o token falha na autenticação e o cache da CDN nunca é limpo pelo plugin.
- O Zone ID informado no add-on é de outro domínio (ou está em branco), então o WP Rocket envia o pedido de limpeza para a zona errada e a borda do Cloudflare mantém o arquivo antigo.
- A feature Remove Unused CSS do WP Rocket está ligada junto com o HTTP/2 Server Push do Cloudflare, combinação que a WP Rocket documenta como incompatível e que resulta em CSS faltando no carregamento.
Como resolver
- Desative o Rocket Loader no Cloudflare: No painel do Cloudflare, abra Speed e depois Optimization, e desligue o Rocket Loader. Ele é a causa mais comum de JavaScript quebrado segundo a própria WP Rocket, porque interfere na ordem dos scripts já tratada pelo plugin.
Cloudflare -> Speed -> Optimization -> Rocket Loader: Off - Desligue o Auto Minify do Cloudflare: Deixe a minificação só no WP Rocket. No Cloudflare, desmarque as três caixas de Auto Minify para evitar a minificação dupla que corrompe arquivos combinados.
Cloudflare -> Speed -> Optimization -> Auto Minify: desmarcar JavaScript, CSS e HTML - Aplique os ajustes recomendados pelo add-on: No WP Rocket, abra a aba do add-on Cloudflare e ative os ajustes ideais. A documentação chama esse botão de Optimal settings, que define o caching como Standard, desativa o Rocket Loader e ajusta o browser cache para 1 ano.
WP Rocket -> Add-ons -> Cloudflare -> Optimal settings: On - Conecte o add-on com a Global API Key e o Zone ID corretos: Pegue a Global API Key no perfil do Cloudflare e o Zone ID na página Overview do domínio. A WP Rocket aceita apenas a Global API Key, não um API token. Você também pode fixar a chave no wp-config.php.
Cloudflare -> My Profile -> API Tokens -> Global API Key -> View Cloudflare -> Overview -> API -> Zone ID -> Click to copy define( 'WP_ROCKET_CF_API_KEY', 'sua-global-api-key' ); - Purgue os dois caches na ordem certa e valide: Limpe primeiro o cache de borda do Cloudflare e depois o cache do WP Rocket, então recarregue a página com o cache do navegador desativado para confirmar que o JavaScript voltou a rodar.
Cloudflare -> Caching -> Configuration -> Purge Everything WP Rocket -> Dashboard -> Clear and preload cache Ctrl + Shift + R no navegador para forçar recarga sem cache
<?php
// wp-config.php — fixa a Global API Key do Cloudflare para o add-on do WP Rocket
// (cole acima da linha /* That's all, stop editing! */)
define( 'WP_ROCKET_CF_API_KEY', 'sua-global-api-key' );
define( 'WP_ROCKET_CF_EMAIL', '[email protected]' );
define( 'WP_ROCKET_CF_ZONE_ID', 'seu-zone-id' );
// Evita o conflito documentado entre Remove Unused CSS e HTTP/2 Server Push do Cloudflare
define( 'CLOUDFLARE_HTTP2_SERVER_PUSH_ACTIVE', false );














