Оптимизируем картинки

194
Алексей,

Как уменьшить размеры слишком больших картинок и сжимать остальные без потерь? Нам понадобятся плагины: imagemagick, jpegoptim и optipng

Устанавливаем плагины (centos)
yum -y install jpegoptim optipng ImageMagick

Далее переходим в папку с картинками (например upload) и выполняем команды:

Уменьшаем слишком большие файлы (больше 2000px) Осторожно! Перезаписывает существующие файлы.

find -name *.jpg -exec mogrify -resize '2000x>' '{}' \;

Сжатие без потерь:

find -name *.jpg -exec jpegoptim --all-progressive --strip-all -t '{}' \;
find -name *.png -exec optipng -o3 '{}' \;

Автоматизируем оптимизацию, повесив скрипт на cron. Создаем файлик img-optim.sh в /home/bitrix и кладем в него наши команды с небольшим изменением. Команда find будет искать только те файлы которые были созданы/изменены в течение дня. Т.ч. заранее необходимо запустить вручную команду для оптимизации всех картинок, а дальше уже добавлять обработчик на крон.

#!/bin/bash

find /home/bitrix -name *.jpg -ctime -1 -exec jpegoptim --all-progressive --strip-all -t '{}' \;
find /home/bitrix -name *.png -ctime -1 -exec optipng -o3 '{}' \;

Добавляем в крон crontab -e

0 0 * * * /home/bitrix/img-optim.sh >/dev/null 2>&1
Опубликовано 20 Декабря 2016 | Обновлено 25 Февраля 2017
разработчику, производительность

Возврат к списку

Похожие статьи
Оптимизация сайта для google pagespeed, 100 из 100 0
Собрал все посты в одном для получения максимального балла в Google PageSpeed Insights.
Читать дальше »
Алексей,
Конвертация картинок в webp на битриксе 0
Картинки в формате WebP "весят" значительно меньше, а сам формат уже поддерживается многим...
Читать дальше »
Алексей,
Комментарии