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

Como corrigir o erro de Lazy Load no Perfmatters

Time Full Services Time Full Services
Tipo Performance & Velocidade
Nome do erro Lazy Load não funciona no Perfmatters EN: Perfmatters Lazy Load not working
Severidade Atenção
Descrição O lazy load do Perfmatters falha quando as imagens travam num placeholder, quebram ou não carregam até o usuário rolar. As causas mais comuns são o script lazyload.min.js ser adiado por outro plugin, dois lazy loaders ativos ao mesmo tempo ou imagens acima da dobra não excluidas.

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

  1. 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)
  2. 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
  3. 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
  4. 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
  5. 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
<?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');

Perguntas frequentes

Por que as imagens ficam em branco depois que ligo o lazy load do Perfmatters?
Quase sempre porque o script de lazy load esta sendo adiado por outro plugin. Quando a imagem aparece como data:image/svg+xml no código-fonte, exclua o arquivo perfmatters/js/lazyload.min.js do Delay ou Defer JavaScript desse plugin e as imagens voltam a carregar.
Como corrijo o aviso Largest Contentful Paint image was lazily loaded?
Esse aviso aparece quando a imagem principal acima da dobra foi adiada. Use a opção Exclude Leading Images do Perfmatters para excluir as primeiras imagens do topo, ou exclua a imagem de LCP pela classe ou por um trecho do atributo no campo de exclusão do lazy load.
Posso usar o lazy load do Perfmatters junto com o de outro plugin de cache?
Não. Dois lazy loaders ativos ao mesmo tempo entram em conflito e quebram o carregamento das imagens. Escolha um: ao ligar o do Perfmatters, desligue o lazy load do outro plugin de otimização, do Cloudflare Mirage e do tema ou page builder.
Como excluo uma imagem específica do lazy load no Perfmatters?
Você pode adicionar a classe no-lazy diretamente na imagem, informar a URL do arquivo ou um trecho único do atributo no campo de exclusão do Perfmatters, ou usar o seletor do container pai quando a imagem não tem uma classe única própria.
Por que minhas imagens de fundo via CSS não recebem lazy load?
O Perfmatters so adia fundos inline automaticamente. Para fundos definidos no CSS de um page builder, ligue a opção CSS Background Images e informe a classe ou o ID do container. Se houver !important na regra do fundo, o plugin não consegue controlar esse background.
O lazy load do Perfmatters funciona em galerias e scroll infinito?
Sim, mas você precisa ligar a opção DOM Monitoring. Sem ela, imagens adicionadas depois pelo JavaScript de carrosseis, galerias e scroll infinito não são detectadas e podem ficar em branco. Com o DOM Monitoring ligado, o Perfmatters aplica lazy load nesses elementos dinâmicos.
Preciso testar deslogado depois de ajustar o lazy load?
Sim. A quantidade de imagens e o comportamento do lazy load mudam quando você esta logado no admin. Limpe o cache e abra a página numa aba anonima ou deslogado para conferir de verdade quantas imagens carregam e se o LCP melhorou.

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