IMG OPTIMIZATION GUIDE

Примечание

Google PageSpeed в своих рекомендациях ужимает картинки до 72 ppi

  • для jpegoptim необходимо использовать ключ -pm85:
    jpegoptim --strip-all --all-progressive -pm85 "file.png"
  • для optipng необходимо использовать ключ -o4:
    optipng -strip all -o4 "file.png"

Внимание! Данные утилиты оптимизируют изображения, но если оригинальный размер картинки отличается от того который отображается на сайте google pagespeed insights будет требовать дополнительно уменьшения размера этих картинок, что обычно не входит в задание "Исправление ошибок"!

JPEGoptim оптимизация JPG изображений

Устанавливаем JPEGoptim

sudo apt-get install jpegoptim

JPEGoptim будем использовать со следующими ключами:

  • --strip-all удаляет комментарии, Exif, IPTC, ICC, XMP
  • --all-progressive преобразует в прогрессивный jpeg
  • -p сохранит время создания такими же как у исходного файла
  • -t покажет итоговый результат оптимизации для нескольких изображений
  • -pm85 устанавливает максимальное сжатие jpeg в 85. Этот параметр влияет на качество изображения!JPG файлы будем оптимизировать и преобразовывать в прогрессивный вид при помощи JPEGoptim. Прогрессивный jpeg, это когда при загрузке сначала появляется размытый контур изображения и по мере загрузки обретается четкость. Jpg в прогрессивном режиме позволяет получить представление обо всём изображении уже после передачи незначительной части JPEG-файла. В обычном режиме jpeg загружается последовательно, с верху в низ.

В итоге для оптимизации jpeg файлов в текущей папке надо запустить

jpegoptim --strip-all --all-progressive *.jpg

Для рекурсивного (во всех вложенных подкаталогах) преобразования запускаем

find -type f -iname "*.jpg" -exec jpegoptim --strip-all --all-progressive "{}" \;

Обратите внимание права на файлы могут быть изменены на чтение и запись только для владельца файла (-rw-------). Для решения этой проблемы добавим -exec chmod 644 "{}" что будет менять права на -rw-r--r--. В более новых версиях этой проблемы нет и добавлен новый ключ -P который сохраняет права такими же как у исходного файла.

Для запуска на сервере от имени www-data и сохранением прав доступа используем

sudo -u www-data find -type f -iname "*.jpg" -exec jpegoptim --strip-all --all-progressive "{}" \;

OptiPNG оптимизация PNG изображений

OptiPNG уменьшает размер файла путем удаления ненужных для изображения функций таких как, например, полноцветность для черно-белых изображений.

Устанавливаем OptiPNG

sudo apt-get install optipng

Устанавливаем OptiPNG

sudo apt-add-repository ppa:optipng/stable
sudo apt-get update
sudo apt-get upgrade

OptiPNG будем использовать с ключами:

  • -strip all удалит всю "лишнюю" информацию из файла
  • -o4 указывает степень сжатия, от 1 до 7. По умолчанию 2.
  • Так же, по умолчанию OptiPNG преобразует входные файлы с чередованием строк (interlaced). Это похоже на прогрессивный jpg, когда изначально загружаются контуры изображения и по мере загрузки появляется четкость. Это позволяет на начальном этапе загрузки получить представление о загружаемом изображении. В обычном режиме изображения загружается сверху вниз. Эту опцию можно отключить, используя ключ -i0. -i1 включает преобразование в interlaced (по умолчанию).

За подробностями

man optipng

Для рекурсивной оптимизации запускаем

find -type f -iname "*.png" -exec optipng -strip all -o4 "{}" \;

Подписаться Подписаться Подписаться