Картинки на сайте могут занимать до 70% места, а если к исходным изображениям добавить ресайз изображения, то и все 90%. При оптимизации можно не только сократить объем занимаемого места, но и существенно повысить скорость отдачи страницы сайта.
Оптимизация jpg изображений
Для оптимизации jpg и jpeg изображений используется утилита Jpegoptim.
Основные параметры Jpegoptim:
- -f, --force (принудительная оптимизация, даже если результат увеличит размер изображения)
- -m качество, --max=качество (уровень сжатия, 0 — 100)
- --all-progressive (принудительно все выходные файлы будут progressive)
- --strip-all (убрать все маркеры и комментарии на изображениях)
Для ее установки на операционные системы семейства Debian, используем следующую команду:
apt-get install jpegoptim
Для оптимизации всех jpg и jpeg файлов и удалении из них всех маркеров и комментариев, в текущей папке и всех ее подпапках используется следующая команда:
find . -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -exec jpegoptim -f --strip-all {} \;
Оптимизация png изображений
Для оптимизации png изображений используется утилита OptiPNG.
Команда для установки OptiPNG
apt-get install optipng
Для оптимизации всех png файлов и удалении из них всех маркеров и комментариев, в текущей папке и всех ее подпапках используется следующая команда:
find . -type f -iname "*.png" -exec optipng -o4 {} \;
Степень сжатия регулируется параметром -oX, где X - число от 0 до 7. Соответственно чем выше число тем дольше происходит процесс сжатия. Причем не всегда самая высокая степень сжатие соответствует меньшему размеру файла после оптимизации. Степень сжатия от 3х до 5 будет оптимально по соотношению скорость - замер оптимизированного файла.
Что такое WebP
WebP формат изображения предложенный Google. Размер изображения в формате webp на 30% меньше по сравнению с png и jpg.
Для установке программы конвертирования jpg и png в webp используется следующая команда:
apt-get install webp
Для конвертирования всех изображений в папке /home/image используем следующий скрипт:
Скрипт создаст файл с расширением webp рядом с исходным файлом.
Чтобы отдавать файл webp вместо исходного изображения следует узнать поддерживает ли браузер отображение webp изображений. Для этого будет использовать следующие настройки виртуального хоста в nginx:
Не забываем перезапустить nginx.
З.Ы. А еще мы пишем много полезной информации в блоге Стократ. Добро пожаловать.
З.З.Ы. Не забывайте ставить лайки и писать комментарии если тема Вам интересна, и вы хотите продолжения