# Como corrigir o aviso de formatos de imagem (WebP/AVIF) no WordPress

Servir cada imagem WebP no WordPress significa entregar versões WebP ou AVIF ao navegador no lugar de JPEG e PNG. O aviso aparece quando o site não gera nem entrega esses formatos, porque o nucleo do WordPress aceita upload de WebP mas não converte as imagens JPEG e PNG já existentes nem decide a entrega por navegador.

## O que é aviso de formatos de imagem WebP no WordPress?

O aviso de imagem WebP no WordPress e o item Serve images in next-gen formats do PageSpeed Insights e do Lighthouse. Ele sinaliza que as imagens estão sendo entregues em JPEG ou PNG quando poderiam ir em WebP ou AVIF, formatos mais leves que reduzem o peso da página e melhoram a métrica LCP. O aviso e classificado como oportunidade de baixa severidade, e não um erro que quebra o site, mas pesa na nota de performance.

A fonte da confusao e o limite do nucleo do WordPress. Desde a versão 5.8 o WordPress aceita o upload de arquivos WebP e gera as miniaturas em WebP quando você sobe um WebP, e a versão 6.5 adicionou suporte ao AVIF. Mas o nucleo não converte as imagens JPEG e PNG que já estão na biblioteca, nem serve um formato diferente conforme o navegador suporta. Quem faz a conversao em massa e a entrega condicional e um plugin de otimização de imagem ou uma camada como o WebP Compatibility do WP Rocket, que cria um arquivo de cache WebP separado para os navegadores compativeis.

## Como identificar

- O PageSpeed Insights ou o Lighthouse lista 'Serve images in next-gen formats' (Veicule imagens em formatos de próxima geração) com uma estimativa de KB economizados.
- As imagens da Biblioteca de Mídia continuam todas em .jpg ou .png mesmo após instalar um plugin de WebP, sem nenhum arquivo .webp gerado na pasta uploads.
- O navegador baixa a versão JPEG da imagem mesmo suportando WebP, visivel na aba Network do DevTools pela coluna Type marcada como jpeg em vez de webp.
- A nota de performance do PageSpeed não sobe depois de ativar o cache, porque o peso das imagens continua alto.
- Ao subir um arquivo .webp ou .avif direto na Biblioteca de Mídia aparece o erro 'Sorry, this file type is not permitted for security reasons' ou 'O tipo de arquivo não e permitido'.

**Antes de começar:** Antes de ativar add-ons do WP Rocket ou adicionar regras de reescrita no .htaccess, faça um backup completo do site (arquivos e banco de dados) ou teste primeiro em staging. Uma regra de entrega WebP mal configurada pode servir imagens quebradas para parte dos visitantes até o cache ser limpo.

## Como prevenir

- Padronize um único plugin de imagem por site para converter e gerar WebP em todo upload novo, evitando voltar a acumular JPEG sem versão WebP.
- Escolha um único mecanismo de entrega WebP (plugin com picture/.htaccess OU WebP Compatibility do WP Rocket), nunca os dois ligados ao mesmo tempo.
- Rode a otimização em massa sempre que migrar imagens em lote ou importar uma biblioteca antiga, para não deixar arquivos sem o par .webp.
- Confirme o suporte a WebP e AVIF do GD ou Imagick na Saude do Site após qualquer troca de hospedagem ou de versão do PHP.

## Causa

- O nucleo do WordPress não converte imagens existentes: desde a versão 5.8 ele gera miniaturas WebP apenas quando você sobe um arquivo WebP, mas não toca nas imagens JPEG e PNG que já estão na biblioteca, entao elas continuam servidas no formato antigo.
- Nenhum plugin de otimização de imagem (Imagify, ShortPixel, EWWW, Optimus) esta instalado, logo não existe quem converta os JPEG e PNG em WebP em lote nem gere os arquivos .webp na pasta uploads.
- Os arquivos .webp existem na pasta uploads, mas a entrega condicional por navegador esta desligada: o WebP Compatibility do WP Rocket (aba Add-ons) precisa estar ativo para criar o arquivo de cache com sufixo -webp e servir WebP ao navegador compativel.
- Dois mecanismos de entrega WebP estão ativos ao mesmo tempo: o plugin de imagem já serve via elemento picture ou regra no .htaccess e o WebP Compatibility do WP Rocket também esta ligado, gerando conflito de reescrita e imagens que não carregam.
- A biblioteca de imagem do servidor (GD ou Imagick) foi compilada sem suporte a WebP ou AVIF, entao o PHP não consegue gerar os arquivos no formato de próxima geração mesmo com o plugin instalado.

## Como resolver

1. Confirme o suporte a WebP no servidor: Antes de converter, verifique se o servidor consegue gerar WebP. Em Ferramentas, Saude do Site, na aba Informações, abra a seção Manipulacao de Mídia e confira se a biblioteca GD ou Imagick lista o suporte a WebP. Sem esse suporte, nenhum plugin consegue gerar os arquivos.

```
Painel WP -> Ferramentas -> Saude do Site -> Informações
Abra a seção 'Manipulacao de Mídia'
Confirme que GD ou Imagick lista 'WebP' (e 'AVIF' no WordPress 6.5+) entre os formatos suportados
```

2. Instale e configure um plugin de conversao de imagem: O nucleo não converte imagens antigas, entao instale um plugin de otimização como o Imagify, ShortPixel ou EWWW. Ele converte os JPEG e PNG já existentes em WebP e gera o WebP automaticamente nos novos uploads.

```
Painel WP -> Plugins -> Adicionar novo -> busque por 'Imagify' (ou ShortPixel, EWWW)
Instale, ative e conclua a configuração com a chave de API do plugin
Nas opções do plugin, ative a geração de WebP (e AVIF, se disponível)
```

3. Converta as imagens já existentes em lote: As imagens antigas continuam em JPEG e PNG até serem reprocessadas. Use a acao de otimização em massa do plugin para gerar a versão WebP de toda a Biblioteca de Mídia de uma vez.

```
Painel WP -> Mídia -> Otimização em massa (Bulk Optimization) do plugin instalado
Inicie a otimização e aguarde a geração dos arquivos .webp na pasta wp-content/uploads
```

4. Decida quem serve o WebP para evitar conflito: Escolha um único mecanismo de entrega. Se o plugin de imagem já serve WebP pelo elemento picture ou por regra no .htaccess, deixe o WebP Compatibility do WP Rocket desligado. Ative o WebP Compatibility apenas quando o plugin gera os arquivos mas não faz a entrega condicional por navegador. O WP Rocket desativa o add-on automaticamente quando detecta Imagify, ShortPixel, EWWW ou Optimus servindo as imagens.

```
Painel WP -> WP Rocket -> aba Add-ons -> 'WebP Compatibility'
Ative SOMENTE se o seu plugin gera WebP mas não serve por picture ou .htaccess
Após a escolha, limpe o cache em WP Rocket -> Painel -> Limpar cache
```

5. Valide a entrega WebP no navegador: Confirme que o navegador esta recebendo o WebP. Abra a página, inspecione com o DevTools e veja se as imagens chegam com o tipo webp. Rode o PageSpeed de novo para confirmar que o aviso saiu.

```
Abra a página e pressione F12 -> aba Network -> filtro Img -> recarregue
Confira a coluna Type das imagens marcada como 'webp'
Rode novamente o PageSpeed Insights e verifique se o aviso 'next-gen formats' desapareceu
```


## Código

```apache
# Serve a versao .webp quando o navegador aceita e o arquivo existe.
# Adicione no .htaccess, acima das regras do WordPress.
# Use SOMENTE se nenhum plugin/CDN ja faz essa entrega (evita conflito).
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_ACCEPT} image/webp
  RewriteCond %{DOCUMENT_ROOT}/$1.webp -f
  RewriteRule ^(wp-content/uploads/.+).(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1,L]
</IfModule>

<IfModule mod_headers.c>
  Header append Vary Accept env=REDIRECT_accept
</IfModule>

<IfModule mod_mime.c>
  AddType image/webp .webp
</IfModule>
```

## Perguntas frequentes

### Por que o WordPress não converte minhas imagens JPEG em WebP sozinho

Porque o nucleo do WordPress, desde a versão 5.8, apenas gera miniaturas WebP quando você sobe um arquivo WebP. Ele não converte os JPEG e PNG que já estão na biblioteca nem decide a entrega por navegador. Essa conversao em massa precisa de um plugin de otimização de imagem como Imagify, ShortPixel ou EWWW.

### O WP Rocket converte minhas imagens para WebP

Não. O WP Rocket não converte imagens. O add-on WebP Compatibility, na aba Add-ons, apenas cria um arquivo de cache separado para servir os arquivos .webp já gerados por um plugin de imagem aos navegadores compativeis. A conversao em si continua sendo trabalho de um plugin como Imagify ou ShortPixel.

### Devo ativar o WebP Compatibility do WP Rocket

So ative se o seu plugin de imagem gera os arquivos WebP mas não faz a entrega condicional por navegador. Se o plugin já serve WebP pelo elemento picture ou por regra no .htaccess, ou se o seu CDN entrega WebP, deixe o add-on desligado para evitar conflito. O WP Rocket desativa a opção automaticamente quando detecta Imagify, ShortPixel, EWWW ou Optimus.

### Qual a diferenca entre WebP e AVIF no WordPress

Ambos são formatos de próxima geração mais leves que JPEG e PNG. O suporte a upload de WebP entrou no WordPress 5.8 e o de AVIF no WordPress 6.5. O AVIF costuma comprimir ainda mais, mas exige suporte do GD ou Imagick do servidor e de um navegador que aceite o formato, com o JPEG servindo de fallback.

### Preciso de um plugin pago para servir imagens em WebP

Não necessariamente. Plugins como EWWW e ShortPixel tem planos gratuitos para conversao, e ha plugins dedicados de conversao WebP gratuitos. A versão paga costuma liberar otimização em massa mais rápida, geração de AVIF e creditos maiores, mas o aviso pode ser resolvido sem custo na maioria dos sites.

### Por que o PageSpeed ainda acusa o aviso depois de instalar o plugin de WebP

Geralmente porque as imagens antigas não foram convertidas em lote, porque a entrega condicional esta desligada, ou porque o cache não foi limpo. Rode a otimização em massa, garanta um único mecanismo de entrega WebP ativo e limpe o cache do WP Rocket antes de testar de novo.

### Como sei se o meu servidor suporta WebP

Em Ferramentas, Saude do Site, aba Informações, abra a seção Manipulacao de Mídia e veja se a biblioteca GD ou Imagick lista o formato WebP. Se não listar, a extensão foi compilada sem suporte e você precisa pedir ao seu provedor de hospedagem para habilitar WebP no GD ou Imagick.

### Servir imagens em WebP melhora o LCP

Sim, na maioria dos casos. Como o WebP e o AVIF reduzem o peso dos arquivos sem perda visivel de qualidade, a imagem principal carrega mais rápido e isso ajuda a métrica LCP do Core Web Vitals, além de melhorar a nota geral de performance do PageSpeed.

**Fonte:** [WP Rocket Knowledge Base - WebP Compatibility](https://docs.wp-rocket.me/article/1282-webp)
