Como corrigir o erro de Lazy Load no Perfmatters
O que é o erro de Lazy Load do Perfmatters?
Lazy Load no Perfmatters e o recurso que adia o carregamento de imagens, iframes e vídeos até que entrem na área visivel da tela, reduzindo requisicoes e peso inicial da página. O recurso usa o arquivo lazyload.min.js (cerca de 2,5 KB) e desativa o lazy load nativo do WordPress quando ligado. O erro acontece quando esse mecanismo entra em conflito com outra solução, e a imagem fica presa no placeholder, não aparece ou prejudica métricas como o LCP.
Como identificar
- Imagens ficam em branco ou presas num placeholder e so aparecem depois que o usuário rola a página manualmente.
- O código-fonte da imagem aparece como data:image/svg+xml em vez do arquivo real (sinal classico do script de lazy load adiado).
- O PageSpeed Insights acusa o aviso Largest Contentful Paint image was lazily loaded apontando a imagem principal acima da dobra.
- Galerias, sliders ou conteúdo de scroll infinito carregam imagens em branco que nunca trocam pela versão final.
- Imagens de fundo via CSS (hero do Elementor, Divi, Oxygen) não carregam ou carregam tarde demais.
- Logo ou imagem destacada do topo pisca ou demora a aparecer porque foi lazy-loaded indevidamente.
Como prevenir
- Mantenha apenas um lazy loader ativo: ao ligar o do Perfmatters, desative o lazy load de qualquer outro plugin, do tema e do page builder.
- Sempre que usar Delay JavaScript ou Defer JS, deixe o arquivo perfmatters/js/lazyload.min.js na lista de exclusão desses recursos.
- Exclua as imagens acima da dobra (logo, imagem destacada, hero) do lazy load com Exclude Leading Images ou a classe no-lazy para preservar o LCP.
- Após qualquer mudanca, limpe o cache e valide a página deslogado, já que a contagem de imagens e o comportamento mudam quando você esta logado no admin.
Causa
- O arquivo perfmatters/js/lazyload.min.js esta sendo adiado por outro otimizador (opção Delay JavaScript ou Defer JS do WP Rocket, por exemplo). Sem o script, a imagem fica travada no placeholder data:image/svg+xml.
- Existe mais de uma solução de lazy load ativa ao mesmo tempo: o lazy load de outro plugin de otimização, o Cloudflare Mirage ou o lazy load nativo de um page builder como o Bricks competindo com o do Perfmatters.
- A imagem principal acima da dobra não foi excluida do lazy load, entao o Perfmatters adia a imagem de LCP e o PageSpeed acusa o aviso Largest Contentful Paint image was lazily loaded.
- A opção CSS Background Images não foi habilitada ou o seletor do container do fundo não foi informado, deixando os fundos de page builder sem lazy load (ou com o fundo do hero indevidamente adiado).
- Uma regra CSS com !important na imagem de fundo impede o Perfmatters de controlar o carregamento do background, já que !important sobrescreve qualquer ajuste do plugin.
- A opção DOM Monitoring esta desligada num site com galeria, carrossel ou scroll infinito, entao imagens injetadas via JavaScript depois do carregamento nunca recebem o lazy load.
Como resolver
- Confirme que o lazy load do Perfmatters esta ativo e isolado: No painel, abra as configurações do Perfmatters e a submenu de lazy loading. Garanta que a opção de imagens esta ligada e desligue qualquer outro lazy loader (outro plugin de cache, Cloudflare Mirage ou lazy load do tema ou page builder) para não haver dois mecanismos competindo.
Perfmatters -> Lazy Loading -> Images (ligado) - Libere o script de lazy load do Delay e do Defer JavaScript: Se a imagem aparece como data:image/svg+xml no código-fonte, o script do Perfmatters esta sendo adiado. No plugin que faz o delay ou defer (WP Rocket, por exemplo), adicione o arquivo a lista de exclusão para que o script execute normalmente.
perfmatters/js/lazyload.min.js - Exclua as imagens acima da dobra para corrigir o LCP: Para o aviso de LCP image lazily loaded, use a opção Exclude Leading Images para excluir automaticamente as primeiras imagens do topo, ou exclua a imagem específica pela classe ou por um trecho do atributo no campo de exclusão. Faca a contagem deslogado, porque o número de imagens muda quando você esta logado.
Perfmatters -> Lazy Loading -> Exclude Leading Images class="attachment-full size-full no-lazy - Trate as imagens de fundo via CSS: Se o problema for em fundos de page builder, ligue a opção CSS Background Images e informe o ID ou a classe do container do fundo, um por linha e sem o prefixo de ponto ou cerquilha. Para o hero acima da dobra, adicione a classe de exclusão do Perfmatters no container em vez de lazy-loadar o fundo principal.
Perfmatters -> Lazy Loading -> CSS Background Images perfmatters-lazy-css-bg - Ligue o DOM Monitoring em sites dinâmicos e valide deslogado: Se as imagens em branco aparecem em galerias, carrosseis ou scroll infinito, ligue a opção DOM Monitoring para que o Perfmatters aplique lazy load nos elementos adicionados depois pelo JavaScript. Depois limpe o cache e teste a página numa aba anonima.
Perfmatters -> Lazy Loading -> DOM Monitoring
<?php
// Exclui imagens especificas do lazy load do Perfmatters por atributo.
// Util quando a imagem acima da dobra (LCP) nao tem classe unica no campo da UI.
function full_perfmatters_excluir_lazyload($attributes) {
$attributes[] = "class='size-full"; // imagem destacada do post
$attributes[] = 'src="/wp-content/uploads/logo.png"'; // logo do topo
return $attributes;
}
add_filter('perfmatters_lazyload_excluded_attributes', 'full_perfmatters_excluir_lazyload');














