Por que a pasta de uploads do seu WordPress está tão grande
A pasta de uploads do seu WordPress fica grande porque o WordPress nunca armazena um único arquivo por imagem. Cada upload gera um conjunto fixo de cópias redimensionadas junto com o
Publicado
A pasta de uploads do seu WordPress está grande porque o WordPress nunca armazena um único arquivo por imagem. Cada upload dispara um conjunto fixo de cópias redimensionadas junto com o original — sete delas para uma foto de câmera de tamanho comum, antes de qualquer tema ou plugin adicionar mais. Não há nada corrompido; você está apenas vendo a multiplicação que acontece em cada upload. A solução é parar de gerar os tamanhos que você nunca serve e depois regenerar, para que as cópias antigas sejam apagadas do disco.
Faça as contas
Envie um JPEG de 4000×3000 e olhe dentro de /wp-content/uploads/2026/07/. Você não vai encontrar um único arquivo. Vai encontrar estes:
photo.jpg— o original, intactophoto-scaled.jpg— uma cópia de 2560px que o WordPress serve no lugar do originalphoto-150x150.jpg—thumbnailphoto-300x225.jpg—mediumphoto-768x576.jpg—medium_largephoto-1024x768.jpg—largephoto-1536x1152.jpg— omedium_largeem 2×photo-2048x1536.jpg— olargeem 2×
Isso é o original mais sete derivados, só do core. Um upload de 3 MB pode acabar ocupando 5–6 MB no disco antes de um único plugin rodar. Agora acrescente um tema que registra quatro tamanhos próprios e o WooCommerce (mais três), e um upload vira catorze ou quinze arquivos. Multiplique por uma biblioteca de alguns milhares de imagens e o tamanho da pasta deixa de ser um mistério.
Se você quer o número exato para as suas próprias dimensões e tamanhos registrados, a calculadora de armazenamento de imagens faz a multiplicação para você.
Por que isso acontece
Quando você faz o upload, wp_generate_attachment_metadata() chama wp_create_image_subsizes(), que percorre cada tamanho retornado por get_intermediate_image_sizes() e grava um arquivo para cada um que o original seja grande o suficiente para produzir. O core registra thumbnail, medium, medium_large, large, além dos tamanhos retina 1536x1536 e 2048x2048 adicionados no WP 5.3. Qualquer tema ou plugin que chame add_image_size() acrescenta a esse mesmo loop — de forma permanente, para todos os uploads futuros.
O arquivo -scaled vem de um mecanismo separado: o filtro big_image_size_threshold, com padrão de 2560px. Qualquer imagem mais larga que isso ganha uma cópia redimensionada que passa a ser a imagem “full” servida, enquanto o original permanece no disco. Ou seja, um upload grande mantém tanto o original gigante quanto a versão de 2560px.
Você pode ver exatamente o que a sua configuração gera para uma imagem específica com o inspetor de tamanhos de imagem.
Como resolver, na ordem
1. Meça antes de mexer em qualquer coisa. Chutar desperdiça tempo. A partir da raiz do site:
du -sh wp-content/uploads
find wp-content/uploads -type f \( -name '*.jpg' -o -name '*.webp' -o -name '*.png' \) | wc -l
du -ah wp-content/uploads | sort -rh | head -20
2. Cancele o registro dos tamanhos que você não serve. A maioria dos temas nunca exibe os tamanhos 1536 e 2048, e muitos nunca usam o medium_large. Remova-os:
// functions.php — stop generating sizes this site never outputs
add_action( 'init', function () {
remove_image_size( '1536x1536' );
remove_image_size( '2048x2048' );
} );
// Drop medium_large too, if your theme doesn't use the 768px size
add_filter( 'intermediate_image_sizes_advanced', function ( $sizes ) {
unset( $sizes['medium_large'] );
return $sizes;
} );
3. Regenere para apagar as cópias antigas. Cancelar o registro só impede a geração futura — os arquivos que já estão no disco permanecem até você regenerar:
wp media regenerate --yes
As versões recentes do WP-CLI apagam os arquivos dos tamanhos que não estão mais registrados à medida que avançam. Se você usa o plugin Regenerate Thumbnails, marque a opção “delete unregistered sizes” — sem essa caixa marcada, os arquivos antigos permanecem.
4. Cace arquivos órfãos. Trocar de tema nunca limpa os tamanhos que o tema antigo registrou. Apagar posts nem sempre remove os derivados deles também. Depois do passo 3, se o du -sh ainda estiver bem acima do que a calculadora prevê, você tem órfãos — arquivos no disco que nenhum anexo referencia.
O que não fazer
Não desative as imagens scaled para “economizar espaço”. O arquivo -scaled é menor que o seu original. Desligar o big_image_size_threshold não apaga nada — só faz o WordPress servir o original de vários megabytes inteiro para cada visitante. Isso é uma decisão de banda e qualidade, não uma limpeza de armazenamento, e normalmente piora o peso da página. A ferramenta disable-scaled-images explica quando essa é de fato a escolha certa; encolher a sua pasta de uploads não é um desses casos.
Não apague arquivos direto da pasta uploads pelo SFTP. A lista de subtamanhos de cada anexo fica no seu _wp_attachment_metadata. Apagar arquivos na mão deixa referências quebradas, e a regeneração não consegue reconstruir um tamanho se você removeu o original do qual ele deriva. Apague o original e aquela imagem se foi para sempre.
Não defina thumbnail/medium/large como 0 em Configurações → Mídia esperando que a pasta encolha. Zerar um tamanho impede a geração futura, mas não toca em nada que já está no disco, e a interface não alcança medium_large, 1536, 2048 ou qualquer tamanho de tema/plugin — esses não estão lá.
Não culpe o banco de dados. Uma pasta uploads pesada é composta de arquivos de imagem, praticamente nunca do banco. Otimizar tabelas não vai mudar o número.
Ainda travado?
Se a pasta continua maior do que o esperado depois de regenerar, passe as dimensões reais das suas imagens e os tamanhos registrados pela calculadora de armazenamento e compare o valor dela com o du -sh wp-content/uploads. Uma diferença grande significa arquivos órfãos de um tema antigo ou de posts apagados — não é o core, e não é algo que mais uma regeneração vá resolver. Uma diferença pequena significa que a matemática é simplesmente essa: mais de sete arquivos por upload, funcionando exatamente como foi projetado.
FAQ
Perguntas
Por que o WordPress cria tantas cópias de cada imagem que eu subo?
O WordPress gera um conjunto fixo de cópias redimensionadas a cada upload. Um JPEG de 4000x3000 chega como o original mais sete arquivos só do core: -scaled, thumbnail, medium, medium_large, large e os dois tamanhos retina. Acrescente um tema e o WooCommerce e um upload vira catorze ou quinze arquivos.
O que é a versão -scaled da minha imagem no WordPress?
O arquivo -scaled é uma cópia de 2560px que o WordPress entrega no lugar do seu original, criada pelo filtro big_image_size_threshold sempre que um upload é mais largo que isso. O seu original intacto também continua no disco, então um upload grande guarda os dois arquivos.
Como impeço o WordPress de gerar tamanhos de imagem que eu nunca uso?
Cancele o registro deles no functions.php usando remove_image_size para 1536x1536 e 2048x2048, e remova o medium_large pelo filtro intermediate_image_sizes_advanced. Isso só vale para uploads futuros, então rode wp media regenerate --yes depois para apagar as cópias que já estão no disco.
Posso apagar arquivos de wp-content/uploads por FTP para liberar espaço?
Não. A lista de subtamanhos de cada anexo vive no _wp_attachment_metadata dele, então apagar arquivos na mão deixa referências quebradas. A regeneração não consegue reconstruir um tamanho depois que você removeu o original do qual ele deriva, e apagar um original perde aquela imagem de vez.
Definir os tamanhos de imagem como 0 em Configurações → Mídia diminui a pasta de uploads?
Não. Zerar thumbnail, medium ou large impede a geração futura, mas não toca em nada que já está no disco. A tela Configurações → Mídia também não alcança medium_large, 1536, 2048 nem qualquer tamanho registrado por um tema ou plugin, então a maioria dos arquivos fica exatamente onde está.