С этим модулем ваши картинки будут оптимизироваться и/или конвертироваться в webp/avif автоматически.
С этим модулем поисковые системы будут ещё сильней любить ваш сайт

Модуль также доступен на GitHub
Что оптимизирует модуль:
- картинки jpeg
- картинки png
- файлы pdf
- картинки gif
- картинки svg
- картинки jpeg
- картинки png
- поддержка мультисайтовости
- модуль использует рекомендуемые google: jpegoptim, optipng, gs, svgo, gifsicle, cwebp, imagick
- сжатие картинок в 5-10 раз
- автоматическая конвертация картинок в webp/avif
- конвертация в webp/avif "на лету"
- пройдете анализ PageSpeed Insights
- автоматическая оптимизация (на лету)
- оптимизация картинок при ресайзе (на лету)
- не использует сторонние сервисы
- не использует curl
- почти не нагружает сервер
- оптимизирует без грязи
- освободится значительное кол-во места на диске (в 5-10 раз!)
- progressive jpeg
- возможность оптимизации через консоль (в фоне)
- гибкие настройки
- поддержка битрикс24
- вкл/выкл автоматического уменьшение размера картинок. Можно задать максимальный размер и все картинки которые больше будут автоматически уменьшаться до этого размера.
- hitConvert - Конвертация на хитах. При обращении к картинке. Может работать совместно с режимом postConvert. Создает нагрузку при первом обращении к картинке.
- postConvert - Конвертация в самом конце формирования страницы. Конвертирует все подходящие под условия картинки. Может работать совместно с режимом hitConvert. Создает нагрузку при первом обращении к странице.
- lazyConvert (рекомендуем) - Отложенная конвертация картинок. В фоне конвертирует все найденные картинки по посещаемым страницам. Работает отдельно от всех режимов. Не создает нагрузку при заходе на страницу.
- загрузки картинки превью и детальной у элементов
- загрузки картинки в свойство FILE Image у элементов
- загрузки картинки в разделы элементов
- загрузки картинки в модуль main
- ресайзе картинки (в т.ч. кэшируемой)
- вкл/выкл оптимизация у элементов/разделов/ресайза
- можно установить качество файлов при сжатии
- можно установить степень сжатия у файлов
- вкл/выкл progressive jpeg
- можно сжать все имеющиеся картинки прям из админки
- настройки для конвертации в webp/avif
/bitrix/modules/dev2fun.imagecompress/console/optimize.php |
/bitrix/modules/dev2fun.imagecompress/console/convert.php
Консольный скрипт для очистки кэша страниц конвертаций:
/bitrix/modules/dev2fun.imagecompress/console/cache-delayed-delete.php
Как отключить модуль во время обмена и синхронизаций:
\Bitrix\Main\Loader::includeModule('dev2fun.imagecompress'); \Dev2fun\ImageCompress\Compress::setEnable(false); // отключить \Dev2fun\ImageCompress\Compress::getEnable(); // получить состояние |
Решение частых вопросов
Вопрос: Как очистить сконвертированные картинки.
Ответ: Вам нужно сделать следующие действия:
1. Очистить таблицы:
DELETE FROM b_d2f_imagecompress_images_to_converted;
DELETE FROM b_d2f_imagecompress_images_converted;
(запросы можно выполнить на странице /bitrix/admin/sql.php?lang=ru&del_query=Y)
2. Удалить файлы webp через админку или консоль: rm -rf <path_to_site>/upload/resize_cache/webp
3. Очистить кеш полностью (через админку) или только html в консоле: rm -rf <path_to_site>/bitrix/html_pages
Вопрос: Можно ли восстановить исходные картинки при их оптимизации?
Ответ: В бесплатной версии модуля, при оптимизации, исходная картинка заменяется на оптимизированную версию. Тем самым восстановить исходную картинку не возможно.
Вам следует сделать бэкап папки upload перед началом оптимизаций.
Вопрос: Можно ли восстановить исходные картинки при их конвертации в webp/avif?
Ответ: При конвертации восстановить исходные картинки можно. Для этого необходимо отключить конвертацию в настройках модуля и сбросить кэш.
Вопрос: Что делать, если возникли проблемы?
Ответ: При любых проблемах следует писать на почту support@dev2fun.com или https://t.me/dev2fun_support
Поблагодарить автора |
Коллеги, просим вас сообщать если у вас при работе с модулем возникнут баги/неудобства/идеи или что-то ещё. Сделаем модуль лучше все вместе. Спасибо. |
- Установить модуль в административной панели
- Установить через консоль jpegoptim, optipng, gs, svgo, gifsicle
- Перейти в настройки модуля
- Указать пути до: jpegoptim, optipng, ps2pdf, svgo, gifsicle и сохранить
- Активировать нужные модули
- Поблагодарить автора
- Использовать.
- Ubuntu/Debian: sudo apt-get install jpegoptim
- Centos/BitrixVM: sudo yum install jpegoptim
- Ubuntu/Debian: sudo apt-get install optipng
- Centos/BitrixVM: sudo yum install optipng
- Centos/BitrixVM: sudo yum install ghostscript
- Debian/Ubuntu: sudo apt-get install ghostscript
- Alpine: sudo apk add ghostscript
- Arch Linux: sudo pacman -S ghostscript
- Kali Linux: sudo apt-get install ghostscript
- Fedora: sudo dnf install ghostscript
- OS X: sudo brew install ghostscript
- Raspbian: sudo apt-get install ghostscript
- установить node.js 20+
- npm install -g svgo
- переместить svgo в /usr/lib/node_modules
- для svgo сделать симлинк: ln -s /usr/lib/node_modules/svgo/bin/svgo /usr/bin/svgo
- для node.js тоже сделать симлинк в папку /usr/bin
- Centos/BitrixVM: sudo yum install gifsicle
- Debian/Ubuntu: sudo apt-get install gifsicle
- Centos/BitrixVM: sudo yum install libwebp-tools
- Debian/Ubuntu: sudo apt-get install webp
- поставить галку на активности
- выбрать нужный алгоритм из phpWebp и cwebp (мы рекомендуем phpWebp, он сжимает в 10-15 раз лучше, но чуть дольше)
- указать качество, мы рекомендуем ставить 80 (+/-10)
- конвертер не удаляет исходные файлы, а создает новые (папка: /upload/resize_cache/webp)
- указанную выше папку можно спокойно удалить, тогда модуль пересоздаст webp-файлы
- алгоритм phpWebp использует расширение GD
- алгоритм cwebp использует расширение CWebP (https://developers.google.com/speed/webp/docs/using)
- при конвертации вызываются события: OnBeforeConvertImage, OnBeforeConvertImageWebp и OnAfterResize
Важно: модуль использует серверные утилиты. Необходимо, чтоб на сервере они были установлены. |
Если у вас возникли сложности, пишите нам в техподдержку, постараемся вам помочь. |
Поблагодарить автора
Коллеги, в связи с кризисом, с 23 апреля 2020 года для всех бесплатных модулей, бесплатная техническая поддержка упразднена. Если ваше обращение не об ошибке в модуле или ошибке из-за модуля, необходимо сделать донат от 1000 руб. Вам нужно понимать, что каждое ваше обращение занимает время специалиста. Просим проявить понимание и не нагружать службу просто так. На многие ваши вопросы может ответить любой другой специалист по битриксу. После того как вы сделали донат в заголовке письма укажите 4 последние цифры кошелька или карты с которой донатили. Одно обращение один донат. Если вопрос в обращении закрылся, то для нового вопроса необходимо сделать донат. Как сделать SUPER-обращение. Делаете донат на 4000 руб и в заголовке к номеру (последние 4 цифры кошелька или карты) укажите слово SUPER. Такие обращения мы обработаем вне очереди. |
Мы оказываем техническую поддержку по email и в телеграм.
Контакты: support@dev2fun.com или https://t.me/dev2fun_support
Правила для письма:
- В теме письма необходимо указать ID модуля
- В теле письма необходимо указать суть проблемы и описать ваши действия, которые к ней привели.
- Приложить скриншоты.
- Прислать доступы до админки и фтп (желательно)
В рабочие дни, со вторника по четверг.
С 11 до 16 (по мск)
Для покупки товара в нашем интернет-магазине выберите понравившийся товар и добавьте его в корзину. Далее перейдите в Корзину и нажмите на «Оформить заказ» или «Быстрый заказ».
Если оформляете быстрый заказ: напишите ФИО, телефон и e-mail. Вам перезвонит менеджер и уточнит условия заказа. По результатам разговора вам придет подтверждение оформления товара на почту или через СМС. Теперь останется только ждать доставки и радоваться новой покупке.
Оформление заказа в стандартном режиме выглядит следующим образом. Заполняете полностью форму по последовательным этапам: адрес, способ доставки, оплаты, данные о себе. Советуем в комментарии к заказу написать информацию, которая поможет курьеру вас найти. Нажмите кнопку «Оформить заказ».
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР. Чтобы оплатить покупку на сайте, система перенаправит вас на сервер платежной системы. Здесь нужно ввести номер карты, срок действия и имя держателя.
- Электронные системы при онлайн-заказе: ЮMoney. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
- Безналичная оплата на наш расчетный счет по выставленному счету.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Электронная поставка - все необходимые сведения о лицензии, праве пользования, кодах, ключах и др. высылаются покупателю на его e-mail.
- Курьерская доставка. Когда товар будет отправлен с нашего склада, Вам придет уведомление. В день доставки с Вами заблаговременно свяжется курьер для уточнения времени и деталей доставки. Доставка производится "до двери". Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Постамат. Когда заказ поступит на точку, на Ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Доставка Почтой России. Когда заказ придет в отделение, на Ваш адрес придет извещение о посылке. Перед оплатой Вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно Вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.
Дополнительная информация.