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

Como corrigir o conflito de otimização entre Perfmatters e WP Rocket

Time Full Services Time Full Services
Tipo Performance & Velocidade
Nome do erro Conflito entre Perfmatters e WP Rocket EN: Perfmatters and WP Rocket optimization conflict
Severidade Grave
Descrição O conflito entre Perfmatters e WP Rocket ocorre quando a mesma otimização (Remove Unused CSS, Delay JavaScript ou combinar arquivos) fica ligada nos dois plugins ao mesmo tempo, processando o asset em duplicidade e quebrando layout ou scripts. A regra e: cada otimização mora em um plugin so.

O que é conflito entre Perfmatters e WP Rocket?

Perfmatters e WP Rocket são plugins de performance que tem recursos sobrepostos: ambos fazem Remove Unused CSS, Delay JavaScript, lazy load de imagens, host local de Google Fonts e controle da Heartbeat API. O conflito de otimização entre Perfmatters e WP Rocket não e um bug, e o resultado de aplicar a mesma transformacao no mesmo arquivo duas vezes. Quando os dois plugins reescrevem o mesmo CSS ou adiam o mesmo JavaScript, o segundo processa a saida já modificada do primeiro, gerando CSS crítico incompleto, scripts que nunca executam e elementos que so aparecem após interacao.

Como identificar

  • Layout quebra so com cache e otimização ligados: limpar o cache ou desativar um dos plugins restaura o visual, o que indica processamento duplicado de CSS.
  • Mensagem ‘Uncaught ReferenceError’ ou ‘is not defined’ no Console do navegador (F12 -> Console), apontando um script que foi adiado por Delay JavaScript nos dois plugins.
  • A própria interface do WP Rocket avisa que o Remove Unused CSS foi desativado automaticamente porque o recurso equivalente esta ativo no Perfmatters.
  • Sliders, menus, abas e formulários so funcionam depois que o visitante clica ou rola a página, sintoma classico de Delay JavaScript aplicado em dobro.
  • O score do PageSpeed oscila ou piora após ligar o segundo plugin, em vez de melhorar, porque o CSS crítico sai incompleto.

Como prevenir

  • Mantenha uma planilha simples anotando qual plugin e dono de cada otimização (Remove Unused CSS, Delay JS, lazy load, fontes locais), para não reativar um recurso já coberto pelo outro.
  • Ao instalar um segundo plugin de performance, revise primeiro os recursos sobrepostos antes de ligar qualquer toggle novo.
  • Após cada mudanca de otimização, teste o site em uma aba anonima e olhe o Console do navegador antes de considerar a alteração concluida.
  • Prefira usar o Script Manager do Perfmatters para desligar scripts por página em vez de empilhar mais combinacao e adiamento global.

Causa

  • Remove Unused CSS ligado nos dois plugins ao mesmo tempo: o WP Rocket desativa o próprio recurso quando detecta o do Perfmatters, mas se você forcar os dois o CSS crítico sai truncado.
  • Delay JavaScript execution ativo em ambos: o mesmo script e adiado duas vezes e perde a dependencia de quem deveria carregar antes, quebrando jQuery e plugins que dependem dele.
  • Combinar CSS ou combinar JavaScript ligado nos dois: a combinacao do segundo plugin empacota arquivos já combinados pelo primeiro, gerando ordem de carregamento errada.
  • Lazy load de imagens ativo no Perfmatters e no WP Rocket: a imagem recebe o atributo loading e o data-src duas vezes e algumas nunca trocam o placeholder pelo arquivo real.
  • Host local de Google Fonts marcado nos dois: cada plugin tenta baixar e reescrever a URL da fonte, e a segunda reescrita aponta para um arquivo que o primeiro já moveu, resultando em fonte que não carrega.

Como resolver

  1. Definir o plugin dono de cada otimização: Antes de mexer em qualquer toggle, decida em qual plugin cada recurso vai morar. A regra e simples: uma otimização, um plugin. Mantenha o cache de página, o cache de navegador e o Critical CSS no WP Rocket, e deixe o controle fino de assets (Script Manager) no Perfmatters.
  2. Desligar o Remove Unused CSS duplicado: Escolha UM plugin para remover CSS não utilizado e desligue o recurso no outro. Pelo painel do WordPress, abra as configurações e desmarque o recurso no plugin que você não escolheu.
    WP Rocket -> Arquivos CSS -> Optimize CSS delivery -> Remove Unused CSS
    Perfmatters -> Assets -> CSS -> Remove Unused CSS
  3. Manter o Delay JavaScript em um plugin so: Deixe o Delay JavaScript ligado em apenas um plugin. Também desligue qualquer recurso de combinar JavaScript no outro plugin, porque combinar arquivos junto com o delay e a causa mais comum de script que não executa.
    WP Rocket -> Arquivos JavaScript -> Delay JavaScript execution
    Perfmatters -> Assets -> JavaScript -> Delay JavaScript
    Perfmatters -> Assets -> JavaScript -> Combine JavaScript (desligar)
  4. Limpar o cache e validar no Console: Depois de tirar as duplicidades, limpe o cache do WP Rocket e recarregue a página sem cache do navegador. Abra o Console do navegador e confira se os erros de ReferenceError sumiram. Se um script específico ainda quebrar, adicione o arquivo na caixa de exclusão do Delay JavaScript do plugin que ficou responsável.
    WP Rocket -> Painel -> Limpar cache
    Ctrl + F5 (recarregar sem cache)
    F12 -> Console (verificar erros)
PHP
<?php
// functions.php do tema-filho: desliga o Remove Unused CSS do Perfmatters
// em uma URL especifica, deixando o WP Rocket cuidar do CSS so naquela pagina.
add_filter( 'perfmatters_remove_unused_css', function ( $enabled ) {
	if ( is_page( 'checkout' ) ) {
		return false; // entrega o CSS dessa pagina ao WP Rocket
	}
	return $enabled;
} );

Perguntas frequentes

Posso usar Perfmatters e WP Rocket juntos no mesmo site?
Sim, os dois são compativeis e até complementares. O segredo e não ligar a mesma otimização nos dois ao mesmo tempo: deixe cada recurso, como Remove Unused CSS ou Delay JavaScript, ativo em apenas um plugin.
Qual plugin deve fazer o Remove Unused CSS?
Tanto faz tecnicamente, mas escolha so um. O próprio WP Rocket desativa o recurso automaticamente quando detecta o Remove Unused CSS do Perfmatters ligado, justamente para evitar o CSS crítico sair truncado.
Por que meu site quebra so quando ligo os dois plugins?
Porque a mesma otimização roda em duplicidade. O segundo plugin processa o arquivo já modificado pelo primeiro, entao o CSS crítico sai incompleto e os scripts adiados duas vezes perdem suas dependencias e não executam.
O Delay JavaScript pode ficar ligado nos dois plugins?
Não. Adiar o mesmo script duas vezes quebra a ordem de carregamento e e a causa mais comum de menus e sliders que so funcionam após clique. Mantenha o Delay JavaScript ativo em apenas um dos plugins.
Como descubro qual script esta quebrando?
Abra o Console do navegador com F12 e procure por erros como ReferenceError ou is not defined. O erro aponta o arquivo problematico, que você coloca na caixa de exclusão do Delay JavaScript do plugin responsável.
Devo desativar um dos plugins para resolver o conflito?
Não precisa. A correção certa e manter os dois e desligar apenas os recursos sobrepostos no plugin que você não escolheu como dono daquela otimização. Desativar um plugin inteiro joga fora recursos úteis que não conflitam.
Combinar CSS e JavaScript ainda vale a pena com os dois plugins?
Em sites com HTTP/2 a combinacao costuma render pouco e atrapalha o Delay JavaScript. Se usar Delay JavaScript em qualquer plugin, desligue o Combine JavaScript do outro para evitar ordem de carregamento errada.

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