jpegoptim ve optipng İle Görselleri Optimize Etmek

SIPS (Scriptable Image Processing System)1 ile macOS ortamında nasıl imajlarımızı düzenleyebileceğimizden şu yazıda bahsetmiştim.

AA

DigitalOcean üzerinde SSH bağlantısıyla WordPress işlemlerine giriş yapmışken sunucuda yer alan görselleri nasıl optimize edebileceğimize de artık değinmemin zamanı geldi2.

jpegoptim ve optipng İle Sunucudaki Görsellerin Optimize Edilmesi

Başlıkta sunucu ifadesini kullanmış olmam sizi sınırlamasın. Linux dağıtımları, macOS ve hatta Termux ile Android ortamında da ilgili paketleri kullanmanız mümkün3. Ancak, yazı serisinin bir uzantısı olarak sunucu düzenleme bağlamında devam etmekteyim. Yine ilgili bir konu olarak görsel kontrolünü Cloudinary üzerinden de yapmanızı tavsiye ederim4. Transformation kullanımı ile hem görsellerin sunum performanslarını geliştirebilir hem de bir çok siteye ait görselleri bir arada, bir kütüphane dahilinde tutabilirsiniz. Özellikle çoklu wordpress kurulumlarında (multi) çok işlevsel olduğunu söyleyebilirim. Gelelim yazının konusu olan jpegoptim ve optipng yardımcı programlarına.

jpegoptim

jpegoptim JPEG dosyaların kayıpsız bir şekilde (Huffman tables temelli) maksimum kalite bağlamında optimize edilmesini sağlayan bir yardımcı program. Bir çok platform desteği sunan jpegoptim’i macOS’a Homebrew ile indirmek için kodumuz şu şekilde5:

brew install jpegoptim

Sunucuda yükleme işlemi gerçekleştirmek için ise komutumuz:

apt-get install jpegoptim

Peki, nasıl uygulayacağız?

jpegoptim [gorseladi.jpg]

Ön tanımlı olarak kayıpsız bir şekilde optimize edilecek olan görsellerinizi argümanlarla komutu geliştirerek kayıp sınırlandırmalarınız (Örn. -m<0-100 arası kalite oranı>, –max=<0-100 arası kalite oranı>) çerçevesinde daha fazla sıkıştırabilirsiniz. Örneğin aşağıdaki komut ile bulunduğunuz dizindeki JPEG görsellerin tamamı %90 kalite sınırlandırması kuralına bağlı olarak optimize edilecektir.

jpegoptim -m 90 *.jpg
find . -type f -name "*.jpg" -exec jpegoptim {} \;

Örneğin, DigitalOcean Droplet WordPress (One-click apps) Kurulumu başlıklı yazıdaki yönergelerle WordPress kurduğunuzu varsayalım. Görsellerinizin yer aldığı klasör yolu /var/www/html/wp-content/uploads/ şeklinde olacaktır. O halde, dizin ve isim bağlamlarında %90 oranında optimizasyon işlemi yürütmek için ise şu şekilde bir komut uygulayabiliriz:

jpegoptim /var/www/html/wp-content/uploads/*.jpg -m 90

Daha detaylı bilgi için jpegoptim -help komutunu kullanabilirsiniz.

optipng

optipng ise PNG (Portable Network Graphics) dökümanların kayıpsız sıkıştırılmasının yanı sıra BMP, GIF, PNM ve TIFF formatlarındaki görsellerin PNG formatına dönüştürülmesi6 işlemlerini de gerçekleştirmektedir7. Bilgisayarımızdaki görsellerde işlemler yürütmek için yine Homebrew üzerinden indirme işlemini gerçekleştirebiliriz.

brew install optipng

Sunucuda yükleme işlemi gerçekleştirmek için ise komutumuz:

apt-get install optipng

Kullanmaya başlayalım o halde. Standart optimizasyon amacıyla kullanımı şu şekilde:

optipng [gorseladi.jpg]

optipng optimizasyon işlemini 1-9 arası option -o argümanı üzerinden yürütmekte. -o7 (-zc1-9 -zm8-9 -zs0-3 -f0-5) çok yavaş, -o0 (-o1 -nx -nz) ise çok hızlı şekilde işlem gerçekleştirmekte ve haliyle optimizasyon süreçleri ve sıkıştırma oranları bundan etkilenmekte. Örneğin aşağıdaki kod bulunulan dizindeki text.gif uzantılı dökümanı hızlı bir şekilde optimize ederek test.png olarak kayıt edecektir.

optipng -snip -o2 test.gif -out test.png

Yine One-click apps olarak kurulumunu yaptığımız wordpress uploads klasörü içerisindeki png uzantılı dökümanları optimize etmek istersek;

optipng -o7 -strip all /var/www/html/wp-content/uploads/*.png

Daha detaylı bilgi için optipng -help komutunu kullanabilirsiniz.

Dikkat Edilmesi Gerekenler

Bu iki kod sonucunda otomatik herhangi bir yedekleme söz konusu olmamakta ve siz belirtmediğiniz sürece işlemler var olan görseller üzerinde gerçekleştirilmekte. Bu nedenle yedekleme alarak çalışmak veya komut içerisinde bunu belirtmek daha sağlıklı olacaktır.