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

Como corrigir o CDN Rewrite que não altera URLs no Perfmatters no WordPress

Time Full Services Time Full Services
Tipo Performance & Velocidade
Nome do erro CDN Rewrite nao altera as URLs no Perfmatters EN: Perfmatters CDN Rewrite not rewriting URLs
Severidade Atenção
Descrição O Perfmatters CDN Rewrite não funciona quando a opção Enable CDN Rewrite esta desligada, a CDN URL esta preenchida errada, ou os assets ficam fora das Included Directories, fazendo o HTML continuar servindo arquivos do domínio original em vez do CDN.

O que é CDN Rewrite que não funciona no Perfmatters?

O Perfmatters CDN Rewrite e a função que reescreve, no HTML da página, os enderecos dos arquivos estáticos (CSS, JavaScript, imagens e fontes) do domínio do site para a CDN URL configurada. Ele não cria nem hospeda um CDN: assume que você já tem uma zona de CDN apontando para o seu site (um pull zone do BunnyCDN, KeyCDN, Cloudflare ou similar) e apenas troca o prefixo das URLs em tempo de saida, em Perfmatters -> CDN. O recurso e desligado por padrão e so passa a reescrever depois de marcado e salvo.

Quando a configuração não casa, as URLs simplesmente não mudam: você inspeciona o código-fonte da página e os assets continuam saindo de https://seusite.com/wp-content/… em vez de https://cdn.seusite.com/wp-content/…. O Perfmatters reescreve por prefixo de caminho com base nas Included Directories (padrão wp-content e wp-includes) e respeita os Excluded Strings, entao arquivos fora desses diretorios, URLs já absolutas para outro host, ou caminhos casados por uma exclusão permanecem no domínio original.

Como identificar

  • No código-fonte da página (Ctrl+U), os assets continuam com a URL do domínio do site, como https://seusite.com/wp-content/uploads/imagem.jpg, em vez do prefixo do CDN.
  • Na aba Network do navegador (F12 -> Network), os arquivos CSS, JS e imagens são baixados do seu domínio e não do host do CDN configurado.
  • A opção Enable CDN Rewrite aparece marcada, mas nenhuma URL muda após limpar o cache do site e do navegador.
  • Apenas parte dos assets aponta para o CDN: as imagens da pasta uploads mudam, mas scripts ou fontes de outras pastas seguem no domínio original.
  • Ao abrir a CDN URL de um arquivo manualmente no navegador, o arquivo carrega, provando que a zona do CDN funciona e que o problema esta na reescrita do Perfmatters.
Antes de começar: Antes de mexer nas configurações de CDN ou adicionar código ao site, faça um backup completo dos arquivos e do banco de dados ou teste primeiro em um ambiente de staging, para reverter rápido caso algum asset deixe de carregar e a página quebre o layout.

Como prevenir

  • Sempre confirme a reescrita no código-fonte da página logo após ativar ou alterar o CDN Rewrite, em vez de assumir que a opção marcada já resolveu.
  • Mantenha as Included Directories alinhadas com as pastas reais dos seus assets e revise o campo quando adicionar plugins que sirvam arquivos de pastas proprias.
  • Use Excluded Strings apenas para caminhos especificos e documentados, evitando trechos genericos que possam bloquear assets que deveriam ir para o CDN.
  • Padronize a limpeza do cache de página e do CDN como último passo de qualquer mudanca na configuração de CDN, para não servir HTML antigo com URLs do domínio.
  • Evite rodar mais de um recurso de reescrita de CDN ao mesmo tempo (Perfmatters e outro plugin de cache), para não gerar conflito de substituicao de URLs.

Causa

  • A opção Enable CDN Rewrite em Perfmatters -> CDN esta desmarcada ou as alterações não foram salvas, entao o plugin não reescreve nenhuma URL no HTML de saida.
  • O campo CDN URL esta vazio, com erro de digitacao, sem https, ou com barra final sobrando, fazendo o Perfmatters não montar um prefixo valido para substituir o domínio do site.
  • Os arquivos que você espera ver no CDN estão fora das Included Directories: o padrão reescreve apenas wp-content e wp-includes, entao assets servidos de outras pastas não são tocados.
  • Um valor em Excluded Strings esta casando com os caminhos dos assets (por exemplo um nome de pasta ou extensão amplo demais), forçando o Perfmatters a deixar essas URLs no domínio original.
  • Um plugin de cache de página serviu uma versão do HTML gerada antes de ativar o CDN Rewrite, devolvendo a página antiga com as URLs do domínio até o cache ser limpo.
  • O tema ou outro plugin imprime URLs de assets já absolutas apontando para um host diferente do domínio do site, que o Perfmatters não reconhece como caminho local para reescrever.

Como resolver

  1. Ative o CDN Rewrite e confirme a CDN URL: Em Perfmatters, abra a aba CDN, marque a opção Enable CDN Rewrite e preencha o campo CDN URL com o endereco completo da sua zona de CDN, sem barra no final. Salve as alterações ao terminar, pois o recurso fica desligado por padrão e não reescreve nada sem ser salvo.
    Painel WP -> Perfmatters -> aba CDN
    Marque Enable CDN Rewrite
    CDN URL: https://cdn.seusite.com
    Clique em Save Changes
  2. Valide as Included Directories: Ainda na aba CDN, confira o campo Included Directories. O padrão reescreve apenas wp-content e wp-includes. Se os assets que ficaram de fora vem de outra pasta, acrescente o nome dela separado por virgula para que o Perfmatters passe a reescrever esses caminhos também.
    Painel WP -> Perfmatters -> aba CDN -> Included Directories
    Padrão: wp-content,wp-includes
    Adicione a pasta faltante separada por virgula, sem espacos extras
    Clique em Save Changes
  3. Revise os Excluded Strings: No campo Excluded Strings, remova qualquer valor amplo demais que esteja casando com os caminhos dos assets que deveriam ir para o CDN. Um trecho genérico como um nome de pasta comum ou uma extensão pode bloquear a reescrita de arquivos que você quer no CDN.
    Painel WP -> Perfmatters -> aba CDN -> Excluded Strings
    Remova trechos genericos que casam com os assets desejados
    Mantenha apenas exclusoes especificas e necessarias
    Clique em Save Changes
  4. Limpe os caches e teste no código-fonte: Limpe o cache de página do seu plugin de cache e o cache do navegador, depois recarregue uma página e abra o código-fonte. As URLs dos assets nas Included Directories devem agora comecar pela CDN URL. Se ainda aparecerem no domínio, o HTML antigo ainda esta sendo servido de algum cache.
    Limpe o cache do seu plugin de cache de página
    Navegador: recarregue com Ctrl+F5 (hard refresh)
    Abra o código-fonte com Ctrl+U e procure por wp-content
    Confirme que a URL comeca por https://cdn.seusite.com/wp-content/
  5. Teste a zona do CDN e isole conflitos: Abra direto no navegador a CDN URL de um arquivo que existe no site (por exemplo a CDN URL de um arquivo CSS do tema). Se o arquivo carregar, a zona esta correta e o problema e so a reescrita. Se não carregar, ajuste o pull zone no painel do seu provedor de CDN antes de seguir.
    Abra no navegador: https://cdn.seusite.com/wp-content/themes/seu-tema/style.css
    Se carregar: a zona esta ok, foque na reescrita do Perfmatters
    Se der erro: revise o origin/pull zone no painel do provedor de CDN
    Desative outros plugins de otimização temporariamente para descartar conflito de reescrita
PHP
<?php
// Verifica no rodape se as URLs estao realmente apontando para o CDN.
// Use temporariamente para depurar a reescrita do Perfmatters CDN Rewrite.
add_action( 'wp_footer', 'full_debug_cdn_rewrite', 99 );
function full_debug_cdn_rewrite() {
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    $cdn_host = 'cdn.seusite.com'; // troque pelo host da sua CDN URL
    $sample   = includes_url( 'js/jquery/jquery.min.js' );
    $usa_cdn  = ( false !== strpos( $sample, $cdn_host ) ) ? 'SIM' : 'NAO';
    echo "<!-- CDN Rewrite ativo: {$usa_cdn} | exemplo: {$sample} -->";
}

Perguntas frequentes

Por que o Perfmatters CDN Rewrite não muda as URLs dos meus assets
Na maioria dos casos a opção Enable CDN Rewrite esta desmarcada, a CDN URL esta preenchida errada, ou os assets estão fora das Included Directories. Em Perfmatters -> CDN, ative o recurso, confira a CDN URL e ajuste as pastas incluidas, depois salve e limpe o cache.
O Perfmatters cria um CDN para mim
Não. O Perfmatters apenas reescreve as URLs dos assets do domínio do site para a CDN URL que você informar. Você precisa ter uma zona de CDN já configurada no seu provedor, como BunnyCDN ou KeyCDN, com um pull zone apontando para o seu site antes de ativar a reescrita.
Quais arquivos o Perfmatters reescreve para o CDN
Por padrão ele reescreve os assets dentro das pastas wp-content e wp-includes, definidas no campo Included Directories. Arquivos servidos de outras pastas so passam a ser reescritos depois que você adicionar essas pastas a lista separadas por virgula.
Ativei o CDN Rewrite mas so parte dos assets foi para o CDN
Isso costuma indicar assets fora das Included Directories ou um valor em Excluded Strings casando com esses caminhos. Confira as pastas incluidas e remova exclusoes amplas demais, depois limpe o cache e cheque novamente o código-fonte da página.
Como confirmo que o CDN Rewrite esta funcionando
Recarregue uma página com hard refresh e abra o código-fonte com Ctrl+U. As URLs dos assets nas pastas incluidas devem comecar pela sua CDN URL, e na aba Network do navegador os arquivos devem ser baixados do host do CDN, não do seu domínio.
Preciso limpar o cache depois de configurar o CDN no Perfmatters
Sim. Um plugin de cache de página pode estar servindo o HTML gerado antes de ativar o CDN Rewrite, com as URLs do domínio. Limpe o cache de página e o cache do navegador após salvar as configurações para ver a reescrita aplicada.
Por que a CDN URL carrega no navegador mas o site não usa o CDN
Se o arquivo abre direto pela CDN URL, a zona esta correta e o problema esta na reescrita do Perfmatters. Reveja se o CDN Rewrite esta ativo, se a CDN URL bate com o host que funcionou e se as pastas dos assets estão nas Included Directories.

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