Como Desativar as Imagens -scaled do WordPress (big_image_size_threshold)
Corrija imagens sem nitidez no WordPress aumentando ou removendo o limite de 2560px com o filtro big_image_size_threshold, e entenda por que reenviar o arquivo é a etapa que quase todo mundo pula.
Publicado
Adicione um filtro em big_image_size_threshold que retorne false e o WordPress para de criar cópias -scaled no upload. Retorne um número no lugar disso e você apenas aumenta o limite em vez de removê-lo. Os dois vão no functions.php ou em um mu-plugin pequeno, e os dois só valem para uploads feitos depois que o filtro estiver ativo.
// Disable the cap entirely — no -scaled copies at all.
add_filter( 'big_image_size_threshold', '__return_false' );
// Or just raise it. Longest edge, in pixels.
add_filter( 'big_image_size_threshold', function () {
return 3840;
} );
O que o WordPress está fazendo de verdade
Desde o WordPress 5.3, todo upload é medido pelo lado mais longo. Se esse lado for maior que o big_image_size_threshold — 2560px por padrão — o WordPress recodifica a imagem até esse limite, salva como sua-foto-scaled.jpg e reescreve os metadados do anexo, de modo que o tamanho full passa a apontar para a cópia reduzida.
O seu original não é apagado. Ele continua no disco com o nome de arquivo original, registrado nos metadados do anexo e acessível no PHP através de wp_get_original_image_path(). Mas nada no front-end entrega esse arquivo. Nem o editor de blocos, nem o srcset, nem a prévia da biblioteca de mídia. Ele fica ali como cópia de arquivo morto.
Tudo o que vem depois é gerado a partir do arquivo reduzido, não do que você enviou:
| Tamanho | Origem usada para gerar |
|---|---|
full | a cópia -scaled |
large, medium_large, medium, thumbnail | a cópia -scaled |
Tamanhos personalizados via add_image_size | a cópia -scaled |
Tamanhos de tema e plugin, por exemplo woocommerce_thumbnail | a cópia -scaled |
Candidatos de srcset | a cópia -scaled |
É esse detalhe que pega tanta gente de surpresa.
Por que essa é a causa mais comum de “minha imagem nítida ficou sem definição”
Duas coisas acontecem ao mesmo tempo, e só uma delas é óbvia.
A óbvia é a resolução. Você envia uma foto de 4000px para um hero de largura total. O WordPress entrega 2560px ao navegador. Em uma tela comum preenchendo um contêiner de 1600px, ninguém percebe. Em uma tela retina 2x, esse contêiner quer cerca de 3200 pixels reais, recebe 2560, e o navegador amplia a diferença. Bordas suaves, detalhes empastados, texto dentro da imagem ficando ilegível.
A menos óbvia é a recodificação. A cópia -scaled não é um recorte sem perdas do seu arquivo. O WordPress decodifica o upload, redimensiona e recomprime com a própria configuração de qualidade JPEG. Se o seu original já era um JPEG comprimido saído do Lightroom ou de um celular, isso é uma codificação de segunda geração: artefatos de compressão em cima de artefatos de compressão. Detalhes finos, granulação e gradientes suaves sofrem mais. Dá para perceber isso mesmo quando as dimensões em pixels parecem suficientes.
Confirme antes de mudar qualquer coisa. Abra a imagem em uma nova aba e leia o nome do arquivo na URL. -scaled.jpg significa que o limite entrou em ação. Um sufixo de dimensão como -1536x1024.jpg significa outra coisa — o srcset escolheu um tamanho intermediário pequeno demais, e o filtro de limite não vai te ajudar nesse caso.
No servidor:
find wp-content/uploads -name '*-scaled.*' | wc -l
Se esse número for alto, o limite vem moldando a sua biblioteca inteira.
Você também pode jogar um arquivo na ferramenta de desativar imagens scaled para ver se uma determinada origem ultrapassaria o limite e em que dimensões a cópia reduzida ficaria, antes de fechar questão sobre a configuração.
O custo real, sem enrolação
A maioria dos artigos diz que desativar o limite custa espaço em disco. Isso está invertido, e vale ser preciso aqui.
O uso de disco por imagem cai um pouco. Com o limite ligado, o WordPress guarda o seu original e uma cópia grande reduzida. Com ele desligado, você fica só com o original. Um arquivo em vez de dois.
Banda e peso de página sobem, às vezes muito. Com o limite desligado, full é o seu upload intocado. Qualquer coisa que aponte ou renderize o tamanho full — um lightbox, um plugin de galeria, um link “ver original”, um tema que pede full para imagens de hero — passa a entregar um arquivo que pode ter 6MB em vez de 900KB. No celular isso vira um problema real de Largest Contentful Paint, e CDNs de imagem nem sempre salvam você, porque algumas delas simplesmente repassam o arquivo acima de certo tamanho.
O consumo de memória durante o upload sobe. Redimensionar uma imagem de 6000px no PHP exige bem mais memória do que uma de 2560px. Em hospedagem compartilhada barata com um memory_limit baixo, desativar o limite é um jeito plausível de começar a ter uploads falhando ou miniaturas geradas pela metade. Aumentar o limite para 3840 em vez de removê-lo é a versão mais segura da mesma mudança.
Por isso o padrão sensato para a maioria dos sites é aumentar o número, não removê-lo. Remover faz sentido quando você entrega imagens que realmente precisam de resolução total: galerias com qualidade de impressão, zoom de produto, fotografia de arquitetura, qualquer situação em que o usuário vai inspecionar o original.
Aplicando a mudança do jeito certo
1. Coloque o filtro em um lugar que sobreviva. O functions.php de um tema filho funciona. Um mu-plugin de um arquivo só é melhor, porque uma troca de tema não consegue desfazer isso em silêncio.
<?php
/**
* Plugin Name: Raise big image threshold
*/
add_filter( 'big_image_size_threshold', function () {
return 3840;
} );
2. Reenvie as imagens afetadas. Essa é a etapa que as pessoas pulam para depois concluir que o filtro não funcionou. O limite é avaliado uma única vez, no upload. Os anexos existentes mantêm os metadados antigos para sempre. Exclua o anexo, envie de novo e depois corrija as referências nos seus posts.
3. Não espere que regenerar miniaturas salve alguma coisa. O wp media regenerate via WP-CLI reconstrói os tamanhos intermediários a partir do que os metadados chamam de arquivo full — que, para uma imagem já limitada, é a cópia -scaled. Ele não consegue devolver detalhes que foram descartados. É útil como limpeza depois do reenvio. Inútil como solução isolada.
4. Verifique o resultado, não presuma. Depois de reenviar, abra a imagem no front-end e leia o nome do arquivo de novo. Sem -scaled, o filtro está ativo.
Quando desativar é a decisão errada
Se as suas imagens de origem já estão abaixo de 2560px e mesmo assim parecem sem nitidez, o limite nunca esteve envolvido. O problema é que a área de exibição é maior que os pixels disponíveis, e a resposta é um arquivo de origem maior ou um contêiner menor — não esse filtro.
Se o nome do arquivo entregue traz um sufixo de dimensão em vez de -scaled, o srcset escolheu um candidato pequeno. Isso geralmente é um descompasso entre a largura de conteúdo declarada pelo seu tema e a caixa em que a imagem realmente é renderizada. Desligar o limite não muda nada nesse cenário.
E se algum plugin estiver reescrevendo o seu src para um otimizador ou proxy de CDN, nada disso se aplica até você conferir o que esse proxy está entregando. Compare o que o WordPress deveria estar gerando com o que o navegador realmente carrega; quando os dois divergem, olhe para o que está no meio do caminho.
FAQ
Perguntas
Como desativo as imagens scaled no WordPress?
Adicione um filtro em big_image_size_threshold que retorne false. Coloque no functions.php ou em um mu-plugin pequeno. Retornar false desliga o limite por completo, então os uploads mantêm as dimensões originais e nenhuma cópia -scaled é criada. Já retornar um número, como 3840, apenas aumenta o limite em vez de removê-lo.
O que significa o sufixo -scaled no nome do arquivo?
Ele marca uma cópia recodificada que o WordPress criou porque o seu upload passou de 2560px no lado mais longo. Essa cópia passa a ser o tamanho full em todo o site. O arquivo original continua no disco com o nome normal, mas nada no front-end aponta para ele, e todas as miniaturas e candidatos de srcset são gerados a partir da cópia reduzida.
Desativar as imagens scaled consome mais espaço em disco?
Por imagem, normalmente consome um pouco menos, porque o WordPress deixa de gravar um segundo arquivo grande ao lado do original. O custo real é banda, não armazenamento. Com o limite desligado, qualquer coisa que aponte para o tamanho full entrega o seu upload intocado, o que pode significar vários megabytes numa conexão de celular.
Desativar o limite conserta as imagens que já estão borradas?
Não. O filtro só afeta uploads novos. As imagens que já estão na biblioteca mantêm metadados apontando para a cópia reduzida, e regenerar miniaturas reconstrói os tamanhos a partir desse mesmo arquivo limitado. Para recuperar a resolução você precisa excluir o anexo e enviá-lo de novo com o filtro já ativo.
Vale a pena manter o limite em 2560px?
Para a maioria dos sites de conteúdo, vale. Uma origem de 2560px cobre uma área de exibição de 1280px em densidade 2x, que é o caso mais comum. Aumente para 3840 se você usa heros de largura total, zoom de produto ou galerias de fotografia. Desligue por completo apenas quando você realmente precisa entregar os originais intocados.