Imagens pesadas podem aumentar o espaço utilizado na hospedagem e deixar o carregamento de um site mais lento.
Quando existem muitas imagens, otimizar uma por uma pode ser trabalhoso. Para facilitar esse processo, é possível utilizar comandos no Linux para otimizar centenas ou milhares de imagens de uma só vez.
Neste tutorial, vamos mostrar como utilizar:
- jpegoptim, para imagens JPG e JPEG
- OptiPNG, para imagens PNG
Os comandos podem ser executados pelo Terminal do cPanel ou através de um acesso SSH externo, utilizando programas como PuTTY ou Bitvise.
Os exemplos abaixo são baseados no funcionamento das ferramentas jpegoptim e OptiPNG, que permitem otimizar imagens individualmente ou em lote.
Índice
⚠️ Aviso importante antes de começar
Este tutorial modifica arquivos diretamente.
Os comandos apresentados podem otimizar imagens em massa e, dependendo dos parâmetros utilizados, substituir os arquivos existentes.
Por isso:
Faça um backup completo antes de executar qualquer comando em uma grande quantidade de imagens.
Também recomendamos que você:
- Faça backup dos arquivos antes da otimização
- Teste primeiro em uma ou poucas imagens
- Confirme se está no diretório correto
- Tenha conhecimento básico sobre navegação pelo terminal Linux
- Evite executar comandos em diretórios sem saber exatamente quais arquivos serão encontrados
Um comando executado no diretório errado pode modificar imagens que você não pretendia alterar.
Para sites importantes, a recomendação é realizar um backup e testar os comandos em um ambiente controlado antes de aplicar a otimização em toda a estrutura do site.
O que é o jpegoptim?
O jpegoptim é uma ferramenta de linha de comando utilizada para otimizar imagens nos formatos:
- JPG
- JPEG
- JFIF
Ele pode realizar otimizações sem perda de qualidade e também permite utilizar parâmetros para reduzir ainda mais o tamanho dos arquivos.
O que é o OptiPNG?
O optipng é uma ferramenta de linha de comando utilizada para otimizar imagens no formato PNG.
Ele analisa diferentes métodos de compressão para tentar reduzir o tamanho final do arquivo sem alterar visualmente a imagem.
Onde executar os comandos?
Você pode executar os comandos de duas formas.
Opção 1: Terminal do cPanel
Se sua conta possui acesso ao Terminal do cPanel, basta:
- Acessar o cPanel
- Procurar por Terminal
- Abrir o terminal
- Navegar até o diretório onde estão as imagens
- Executar os comandos
Essa é uma opção prática para quem possui hospedagem com acesso ao Terminal.
Opção 2: Acesso SSH externo
Também é possível acessar o servidor através de SSH utilizando programas como:
- PuTTY
- Bitvise SSH Client
- Outros clientes SSH
Após realizar a conexão, os comandos funcionam da mesma forma.
O importante é garantir que o usuário SSH tenha permissão para acessar e modificar os arquivos.
Antes de otimizar: navegue até o diretório correto
Antes de executar qualquer comando, navegue até a pasta onde estão as imagens.
Por exemplo:
cd public_html/wp-content/uploads
Para verificar em qual diretório você está:
pwd
Para listar os arquivos:
ls -lah
Antes de continuar, confira cuidadosamente se o diretório exibido é realmente o local que você deseja otimizar.
Conheça em nosso blog os comandos básicos Linux
Como otimizar imagens JPG e JPEG com jpegoptim
Otimizar uma única imagem
Para testar o funcionamento em uma imagem:
jpegoptim imagem.jpg
Também pode ser utilizado com JPEG:
jpegoptim imagem.jpeg
A ferramenta exibirá informações sobre o arquivo e a redução obtida.
Esse é o melhor primeiro teste antes de executar uma otimização em massa.
Otimizar todas as imagens JPG de uma pasta
Se você deseja otimizar todos os arquivos .jpg presentes no diretório atual:
jpegoptim *.jpg
Para imagens .jpeg:
jpegoptim *.jpeg
Caso existam extensões em maiúsculas:
jpegoptim *.JPG
ou:
jpegoptim *.JPEG
A ferramenta pode processar várias imagens de uma única vez.
Otimizar JPG e JPEG em massa, incluindo subdiretórios
Em muitos sites WordPress, por exemplo, as imagens ficam distribuídas em diversas pastas e subpastas.
Para localizar imagens recursivamente, podemos utilizar o comando find.
Exemplo com JPG
find . -type f -iname "*.jpg" -exec jpegoptim --all-progress --strip-all -m85 {} \;
O que esse comando faz?
find .
Procura arquivos a partir do diretório atual.
-type f
Limita a busca apenas a arquivos.
-iname "*.jpg"
Localiza arquivos com extensão .jpg, sem diferenciar letras maiúsculas e minúsculas.
Isso significa que pode localizar, por exemplo:
- imagem.jpg
- imagem.JPG
- IMAGEM.JPG
O restante do comando:
-exec jpegoptim --all-progress --strip-all -m85 {} \;
Executa o jpegoptim para cada arquivo encontrado.
Entendendo os parâmetros do jpegoptim
No exemplo:
jpegoptim --all-progress --strip-all -m85
temos:
--all-progress
Exibe informações sobre o progresso e os arquivos processados.
--strip-all
Remove informações adicionais presentes no arquivo, como determinados metadados.
Isso pode ajudar a reduzir o tamanho da imagem, mas é importante entender que os metadados serão removidos.
Por isso, reforçamos novamente a importância do backup.
-m85
Define uma qualidade máxima de 85.
Esse parâmetro permite compressão com perda e pode reduzir mais o tamanho dos arquivos.
Atenção: ao utilizar
-m85, a imagem pode ser recomprimida. Teste primeiro em algumas imagens antes de utilizar esse parâmetro em toda a biblioteca.
Exemplo recomendado para testar primeiro
Antes de processar milhares de imagens, teste com um arquivo:
jpegoptim --all-progress --strip-all -m85 imagem.jpg
Depois abra a imagem e confira o resultado.
Se estiver satisfeito, avance para a otimização em massa.
Como otimizar PNG com OptiPNG
Para otimizar uma única imagem PNG:
optipng imagem.png
A ferramenta exibirá as tentativas de otimização e o tamanho final do arquivo. O OptiPNG pode reduzir o tamanho dos PNG sem perda das informações da imagem.
Otimizar todos os PNG de uma pasta
Se os arquivos estiverem no diretório atual:
optipng *.png
Otimizar PNG em massa, incluindo subdiretórios
Para localizar todos os arquivos PNG a partir do diretório atual:
find . -type f -iname "*.png" -print0 | xargs -I {} -0 optipng -o6 --strip all --preserve "{}"
Esse comando é útil para otimizar uma grande quantidade de arquivos PNG distribuídos em várias subpastas.
Entendendo o comando OptiPNG
Vamos dividir o comando:
find .
Procura arquivos a partir do diretório atual.
-type f
Localiza apenas arquivos.
-iname "*.png"
Procura arquivos PNG sem diferenciar maiúsculas e minúsculas.
-print0
Utiliza um formato seguro para nomes de arquivos que possuem espaços ou caracteres especiais.
Depois:
xargs -I {} -0
Envia os arquivos encontrados para o comando seguinte.
Por fim:
optipng -o6 --strip all --preserve "{}"
executa a otimização.
Entendendo os parâmetros do OptiPNG
-o6
Define um nível maior de otimização.
Quanto maior o nível, maior pode ser o tempo necessário para processar as imagens.
--strip all
Remove informações adicionais que podem estar armazenadas no PNG.
Assim como no jpegoptim, isso pode reduzir o tamanho final, mas também remove metadados.
--preserve
Ajuda a preservar informações relacionadas ao arquivo durante o processamento.
Atenção: quanto maior a biblioteca, maior o tempo necessário
Se seu site possui:
- 100 imagens, o processo tende a ser rápido
- 10.000 imagens, pode levar bastante tempo
- 100.000 imagens, o processamento pode gerar uma carga considerável no servidor
Por isso, em bibliotecas muito grandes, considere executar o processo gradualmente.
Também evite iniciar uma otimização pesada durante períodos de alto tráfego, principalmente em sites movimentados.
Exemplo para WordPress
Uma instalação WordPress normalmente armazena uploads em:
public_html/wp-content/uploads
Você pode navegar até o diretório:
cd ~/public_html/wp-content/uploads
Depois, verificar a localização:
pwd
E listar algumas pastas:
ls -lah
Somente depois de confirmar que está no local correto, execute os comandos de otimização.
Para JPG:
find . -type f -iname "*.jpg" -exec jpegoptim --all-progress --strip-all -m85 {} \;
Para PNG:
find . -type f -iname "*.png" -print0 | xargs -I {} -0 optipng -o6 --strip all --preserve "{}"
Como otimizar JPG e PNG
Se você possui uma biblioteca com os dois formatos, execute os comandos separadamente.
Primeiro JPG:
find . -type f -iname "*.jpg" -exec jpegoptim --all-progress --strip-all -m85 {} \;
Depois PNG:
find . -type f -iname "*.png" -print0 | xargs -I {} -0 optipng -o6 --strip all --preserve "{}"
Isso facilita acompanhar o resultado de cada tipo de arquivo.
Como verificar o espaço utilizado antes e depois
Antes da otimização, você pode verificar o tamanho do diretório:
du -sh .
Anote o resultado.
Após finalizar a otimização:
du -sh .
Compare os valores.
Para verificar arquivos individuais:
ls -lh imagem.jpg
ou:
ls -lh imagem.png
Problemas comuns
O comando jpegoptim não foi encontrado
Se aparecer uma mensagem semelhante a:
jpegoptim: command not found
isso significa que a ferramenta não está disponível no ambiente.
Em hospedagens compartilhadas, normalmente o usuário não possui permissão para instalar pacotes diretamente.
Nesse caso, entre em contato com o suporte da hospedagem e verifique se o jpegoptim pode ser disponibilizado.
O comando optipng não foi encontrado
Da mesma forma:
optipng: command not found
significa que o OptiPNG não está instalado ou não está disponível no ambiente do usuário.
Em uma hospedagem gerenciada, a instalação normalmente precisa ser realizada pelo administrador do servidor.
Permission denied
Se aparecer:
Permission denied
verifique se o usuário possui permissão para modificar os arquivos.
Também confirme se os arquivos pertencem à conta utilizada no acesso SSH ou no Terminal do cPanel.
Conclusão
O jpegoptim e o OptiPNG são ferramentas úteis para otimizar grandes quantidades de imagens diretamente pelo terminal Linux.
Com poucos comandos, é possível processar arquivos JPG e PNG presentes em diversas pastas e subpastas, evitando a necessidade de otimizar cada imagem manualmente.
Entretanto, o principal cuidado é simples:
Não execute comandos de otimização em massa sem backup e sem entender exatamente o diretório e os parâmetros utilizados.
Os comandos podem ser muito úteis, mas também alteram arquivos reais da sua hospedagem.
Por isso, teste primeiro, confirme o resultado e somente depois aplique a otimização em toda a biblioteca.
📌 STOREHOSTING | Hospedagem de Sites
Precisa de uma hospedagem para seu site ou WordPress?
A StoreHosting oferece planos com:
- ✓ Servidores no Brasil
- ✓ LiteSpeed
- ✓ CloudLinux
- ✓ Armazenamento NVMe
- ✓ Backup diário
- ✓ Antivírus
- ✓ WAF
- ✓ SSL gratuito
- ✓ Suporte técnico especializado


