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

3k
Алексей,
Оптимизируем картинки

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

Как уменьшить размеры слишком больших картинок и сжимать остальные без потерь? Нам понадобятся плагины: 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
разработчику, производительность
Поделиться
Похожие статьи
Делаю ИМ, часть 0. Выбор и настройка сервера.
Небольшой цикл статей о том как я делаю интернет-магазин для себя. Начну с настройки web-сервера.
Читать дальше » 0
Алексей,
Свойство списком или справочником
Сравнил производительность 2-х типов свойств. Результаты в таблице:
Читать дальше » 0
Алексей,
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
Как уменьшить размеры слишком больших картинок и сжимать остальные без потерь? Нам понадобятся плагины: imagemagick, jpegoptim и optipng