Como corrigir a integração de CDN do WP Rocket que não funciona
O que é o WP Rocket CDN que não funciona?
A opção Content Delivery Network do WP Rocket reescreve as URLs dos arquivos estáticos (imagens, CSS e JS) presentes no HTML da página, trocando o domínio do site pelo CNAME da CDN, e ainda adiciona resource hints como preconnect e dns-prefetch para o domínio da CDN. Quando a integração funciona, o navegador baixa esses arquivos da rede de distribuição, mais perto do visitante, aliviando o servidor de origem.
Quando a integração não funciona, a opção aparece ligada mas as URLs no HTML continuam apontando para o domínio do site, ou apontam para o CNAME mas a CDN devolve erro. O resultado é que os arquivos não são entregues pela CDN: o ganho de latência some, e em alguns casos surgem imagens quebradas, CSS sem estilo ou avisos de mixed content. A causa quase nunca é um bug do plugin, e sim uma configuração que não casa entre o WP Rocket e o provedor da CDN.
Como identificar
- No código-fonte da página (Ctrl+U), as URLs de imagens, .css e .js continuam apontando para o domínio do site, e não para o CNAME informado na aba Content Delivery Network.
- O painel do provedor de CDN registra zero requisições ou bandwidth muito baixo, mesmo com visitas chegando ao site.
- O navegador exibe aviso de mixed content e bloqueia arquivos servidos via http quando o site roda em https.
- Imagens não carregam ou a página perde o estilo (CSS sem efeito) logo após ativar a opção Content Delivery Network.
- Arquivos injetados via AJAX ou inseridos por JavaScript depois que a página carrega continuam saindo pelo domínio de origem, nunca pela CDN.
Como prevenir
- Ao criar a zona na CDN, copie o CNAME direto do painel do provedor e cole no campo CDN CNAME(s) para evitar erro de digitação
- Mantenha o SSL/HTTPS habilitado na zona da CDN sempre que o site rodar em https, evitando mixed content
- Use a opção Exclude files from CDN apenas para arquivos específicos que realmente precisam sair pelo domínio de origem, nunca padrões amplos
- Limpe o cache do WP Rocket e purgue o cache da CDN após cada mudança de configuração ou de URL de assets
- Não combine o WP Rocket com a reescrita de URLs do WP Offload Media para não disputar o controle dos endereços dos arquivos
Causa
- CNAME divergente: o valor informado em CDN CNAME(s) na aba Content Delivery Network não é exatamente o domínio que o provedor de CDN entregou (erro de digitação, falta de subdomínio ou domínio sem o zone correto).
- CDN não configurada no provedor: a zona de pull não foi criada apontando para o domínio de origem, então o CNAME existe no WP Rocket mas não resolve nada do lado da CDN.
- Incompatibilidade de HTTPS: o site roda em https mas a CDN não serve via SSL/HTTPS, gerando mixed content e bloqueio dos arquivos pelo navegador.
- Arquivos carregados via AJAX ou inseridos por JavaScript após a montagem da página: o WP Rocket só reescreve o que está no HTML inicial, então esses assets nunca passam pela CDN.
- Regras de exclusão na opção Exclude files from CDN removendo tipos de arquivo que deveriam ser servidos (por exemplo um padrão /(.*).css excluindo todo o CSS).
- Conflito com o WP Offload Media (opção Rewrite Asset URLs ligada), que reescreve as URLs antes do WP Rocket e impede a reescrita da CDN e a minificação.
Como resolver
- Confirme se as URLs estão mesmo saindo pela CDN: Abra a página numa janela anônima, deslogado, e veja o código-fonte. Localize o endereço de uma imagem e de um arquivo de CSS e confira se eles começam pelo CNAME da CDN ou ainda pelo domínio do site. Se continuam no domínio do site, a reescrita não está acontecendo e o diagnóstico segue.
https://cdn.seudominio.com/wp-content/uploads/2026/01/imagem.jpg https://www.seudominio.com/wp-content/uploads/2026/01/imagem.jpg - Cheque o CNAME na aba Content Delivery Network: Vá em WP Rocket -> Content Delivery Network, marque a opção Enable Content Delivery Network e confirme que o campo CDN CNAME(s) traz exatamente o domínio que o provedor de CDN entregou, sem espaços e sem barra final. O endereço precisa bater caractere por caractere com a zona criada na CDN.
cdn.seudominio.com - Garanta que a zona existe e responde no provedor: No painel da sua CDN (BunnyCDN, KeyCDN, StackPath e similares), confirme que existe uma pull zone apontando para o domínio de origem do site e que o CNAME está propagado no DNS. Teste abrir o arquivo direto pela CDN no navegador: se o endereço da CDN devolver 404 ou erro, o problema está na configuração do provedor, não no WP Rocket.
https://cdn.seudominio.com/wp-includes/js/jquery/jquery.min.js - Force HTTPS na CDN e resolva o mixed content: Se o site usa https, a CDN também precisa servir via https com certificado válido para o CNAME. Habilite o SSL da zona no provedor e garanta que o CNAME usa o esquema seguro. Sem isso, o navegador bloqueia os arquivos como mixed content e a página perde imagens e estilos.
https://cdn.seudominio.com/ - Revise as exclusões e o conflito com WP Offload Media: Ainda na aba Content Delivery Network, abra Exclude files from CDN e remova qualquer padrão amplo demais que esteja tirando arquivos válidos da CDN. Se você usa o WP Offload Media, desligue a opção Rewrite Asset URLs dele, porque ela reescreve as URLs antes e impede a reescrita do WP Rocket.
/(.*).css /(.*).js - Limpe o cache e teste novamente: Depois de qualquer ajuste, limpe o cache do WP Rocket para que as páginas sejam regeradas com as novas URLs e purgue o cache da própria CDN para descartar versões antigas dos arquivos. Em seguida repita o passo 1 numa janela anônima para confirmar que os assets agora saem pelo CNAME. Lembre que arquivos carregados via AJAX continuam fora da CDN por design.
# Diagnostico de CDN do WP Rocket pela linha de comando.
# Troque cdn.seudominio.com e www.seudominio.com pelos seus dominios.
# 1. O CNAME da CDN resolve no DNS?
# Deve devolver um registro CNAME ou os IPs da rede da CDN.
dig +short cdn.seudominio.com
# 2. A CDN entrega um asset real via HTTPS, com status 200?
# Use um arquivo que voce viu no codigo-fonte. Status 404 = zona mal configurada.
curl -I https://cdn.seudominio.com/wp-includes/js/jquery/jquery.min.js
# 3. As paginas ja estao reescrevendo para o CNAME?
# Conta quantas URLs apontam para a CDN no HTML da home.
curl -s https://www.seudominio.com/ | grep -o 'cdn.seudominio.com' | wc -l
# 4. Existe header de cache da CDN na resposta do asset?
# Procure por X-Cache, CF-Cache-Status ou similar conforme o provedor.
curl -sI https://cdn.seudominio.com/wp-includes/js/jquery/jquery.min.js | grep -i cache














