Sou grande fã de performance no geral, e no passado já partilhei contigo algumas dicas para aumentares a velocidade do teu site e optimizares imagens.
Recentemente visitei o PageSpeed Insights da Google para verificar se podia realizar mais optimizações a este blog WordPress. E, ao que parece, havia bastantes imagens que podiam estar mais leves.
Eu optimizo sempre as minhas imagens com o excelente ImageOptim para Mac, mas é importante ter em conta que sempre que carregas uma imagem para o WordPress, várias miniaturas de cada imagem são geradas – que são exibidas nas páginas de arquivo, por exemplo.
E essas imagens não são comprimidas – algumas miniaturas chegam até a pesar mais do que a imagem original!
Foi graças ao PageSpeed que me apercebi disso. Mas como resolver?
Plugins WordPress para comprimir imagens
Existem diversos plugins WordPress que prometem a compressão de todas as imagens do teu site, mas a maior parte tem um limite de compressões que podes realizar por mês (a não ser que pagues).
Outro problema é que alguns destes plugins são também bastante lentos – a compressão de imagens não é um processo particularmente rápido, especialmente se se tratarem de PNGs.
Se tiveres poucas imagens, ou não tiveres problemas em esperar, podes experimentar um destes plugins. O reSmush.it pareceu-me o melhor, permitindo a compressão de todas as imagens desde que sejam inferiores a 5 MB, mas deixo-te mais alternativas.
- reSmush.it Image Optimizer
- Compress JPEG & PNG images
- Smush Image Compression and Optimization
- EWWW Image Optimizer
- ShortPixel Image Optimizer
Como o meu blog está alojado no DigitalOcean (o meu serviço de alojamento favorito), decidi investigar que comandos se podem correr através do terminal.
Existe uma solução similar ao ImageOptim para Linux, o Trimage, mas que requer um interface gráfico – e eu só tenho acesso ao terminal.
Todos estes programas de compressão de imagens recorrem habitualmente ao OptiPNG e ao jpegoptim – que são open source. Como conheço alguns comandos de terminal, parti à descoberta!
Instalando o OptiPNG e o jpegoptim no Ubuntu
O primeiro passo será instalar ambos – se é que não estão já instalados na tua máquina.
Primeiro, actualizamos os repositórios: sudo apt-get update
Depois, instalamos os 2 programas:
sudo apt-get install jpegoptim optipng
Comprimindo imagens com o OptiPNG e o jpegoptim no Ubuntu
Ambos os programas têm vários parâmetros que podes precisar para definir a compressão.
Podes ver o que cada um pode fazer com o comando jpegoptim -h
ou optipng -h
respectivamente.
No meu caso, queria aplicar esta compressão a todas as imagens da pasta em que me encontro e de forma recursiva – ou seja, se existissem sub-pastas, as imagens que lá constassem deveriam ser também elas comprimidas.
O WordPress facilita-nos a vida neste aspecto, porque todas as imagens vão estar em wp-content/uploads/
, ficando depois em pastas de anos e dentro delas, os respectivos meses.
Para o OptiPNG, podes correr este comando para comprimir todos os ficheiros PNG: find -name '*.png' -print0 | xargs -0 optipng -o7
O OptiPNG tem vários níveis de compressão – podes ir de 1 a 7. A maior redução será se colocares 7, tendo o problema de demorar mais a comprimir cada imagem.
Para o jpegoptim, queres comprimir tanto JPEGs como JPGs, pelo que este deve ser o comando a utilizar: find -name '*.jp*g' | xargs jpegoptim -f --strip-all
Com a ajuda do &&
, podes combinar estes 2 comandos numa só linha – quando um processo terminar, o outro começa de imediato:
find -name '*.png' -print0 | xargs -0 optipng -o7 && find -name '*.jp*g' | xargs jpegoptim -f --strip-all
Agora é deixar o processo a correr e passar para outra coisa. É bem possível que fiques admirado com o espaço em disco que recuperaste quando a tarefa estiver concluída!