Оптимизация изображений на сайте

При открытии сайта основной объем передаваемых данных занимают изображения, поэтому есть необходимо оптимизировать их размер.
Для того что бы не выполнять работы по оптимизации размера изображений вручную я написал небольшой скрипт. Он ищет изображения в папке и пытается выполнить их сжатие.

Скрипт проверил на своем сайте и еще парочке проектов, ошибок в его работе не было замечено.
Для корректной работы скрипта необходимо что бы на сервере было установлено следующее ПО: ImageMagick gifsicle pngcrush optipng advpng trimage
В Ubuntu оно ставится одной командой — aptitude install ImageMagick gifsicle pngcrush optipng advpng trimage . Если у вас другой дистрибутив, тогда возможно придется подключить дополнительные дистрибутивы.
Код скрипта:
#!/bin/bash +x
#install ImageMagick gifsicle pngcrush optipng advpng trimage
find . -regextype posix-extended -iregex '.*\.(jp?g|png|PNG|gif|JP?G|GIF)$' -type f | while read fname;
do
TYPE=`identify "$fname" | grep -E -o 'JPEG|GIF|PNG'`
case "$TYPE" in
JPEG)
convert -quality 75 "${fname}" "${fname}_conv";
jpegtran -copy none -optimize -progressive "${fname}_conv" > "${fname}";
rm -f "${fname}_conv" ;
;;
GIF)
gifsicle -O2 -b "$fname"
;;
PNG)
pngcrush -q -rem alla -fix "$fname" "$fname.tmp"
if [ -f "$fname.tmp" ]; then
mv -f "$fname.tmp" "$fname"
fi;
optipng -zc6-9 -zm1-9 -zs0-3 -f0-5 -q -fix "$1"
advpng -z -4 -q "$fname"
;;
esac
done

Готовый скрипт можно скачать здесь

P.S. Скрипт используйте на свой страх и риск, перед запуском сделайте бэкап проекта.
P.P.S. При написании скрипта часть идей была взята blog.sjinks.pro и книги «Реактивные веб-сайты»

Вы можете оставить комментарий, или ссылку на Ваш сайт.
ondevices.ru - найти телефон по номеру телефона.

Оставить комментарий