Найти тему
SСhaos

Оптимизация картинок для Google PageSpeed

Оглавление

Картинки на сайте могут занимать до 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.

З.Ы. А еще мы пишем много полезной информации в блоге Стократ. Добро пожаловать.

З.З.Ы. Не забывайте ставить лайки и писать комментарии если тема Вам интересна, и вы хотите продолжения