Оптимизация картинок для Google Developers PageSpeed Insights
Одной из частных рекомендаций сервиса PageSpeed Insights является оптимизация изображений. В большинстве случаев на сайте используются изображения в форматах JPEG и PNG, размер которых, в зависимости от степени сжатия, может значительно различаться. Правильный формат и сжатие изображений позволяет сократить их объем.
Автоматически сжать изображения можно с помощью утилит jpegoptim и optipng, устанавливаемых на сервер:
# Пример установки на CentOS yum install jpegoptim optipng
# Пример установки на Debian apt-get install jpegoptim optipng
Поиск файлов будем осуществлять с помощью утилиты find, которая имеет дополнительные опции поиска файлов за определенный промежуток времени:
- -mtime — время последнего изменения файла (в днях).
- -mmin — время последнего изменения файла (в минутах).
Поиск файлов, измененных более 10 дней назад:
find ./upload/ -mtime +10 -type f -name "*.jpg" ...
Поиск файлов, измененных менее 10 дней назад:
find ./upload/ -mtime -10 -type f -name "*.jpg" ...
Перейдите в корневую директорию сайта, затем выполните соответствующую инструкцию:
Без потерь оптимизировать все JPG в каталоге upload (рекурсивно)
find ./upload/ -type f -name "*.jpg" -exec jpegoptim -P --strip-all {} \;
Используем -m[0..100] для оптимизации JPG с потерей качества и увеличения сжатия
Опции:
- -m — показатель качества, отменяет сжатие без потерь и устанавливает уровень качества от 0 до 100 (0 — наихудшее качество, 100 — наилучшее качество);
- -n — не выполнять реальную оптимизацию, а только показать результат;
- -p — сохранить временные метки;
- -P — сохранить права файла.
find ./upload/ -type f -name "*.jpg" -exec jpegoptim -m70 -P --strip-all {} \;
Оптимизировать с обычным сжатием все PNG в каталоге upload (рекурсивно)
Опции:
- -simulate — не выполнять никаких действий, а только показать результат;
- -o — установить уровень сжатия от 0 до 7, где 0 — без сжатия, 7 — максимальное сжатие.
find ./upload/ -type f -name "*.png" -exec optipng -o2 {} \;
Оптимизировать с сильным сжатием все PNG в каталоге upload (рекурсивно)
find ./upload/ -type f -name "*.png" -exec optipng -o7 -strip all {} \;
Комментарии
-
Без темы
Почему не встроите этот функционал в CMS? Чтобы при загрузке изображений они оптимизировались автоматом.
Без темы
Приведенные на данной странице утилиты являются серверными и на большинстве хостингов будут недоступны. Хорошо оптимизирует imagick, если он доступен на хостинге, то просто переключитесь на него и выставите опции, см. https://www.hostcms.ru/documentation/modules/core/images/