Петр Сальников › spbcod Сбер ID
Fullstack-разработчик (Symfony / Битрикс) с опытом DevOps.
Рейтинг
332
№ 3 337 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Санкт-Петербург
Опыт работы
28 лет
На сайте с
2023 года
Юридический статус
ИП

Система автоматической оптимизации изображений с конвертацией в WebP для 1С-Битрикс

Описание

Интернет-магазин с большим каталогом товаров (тысячи позиций) столкнулся с проблемой:
- сайт загружался медленно из-за тяжелых изображений в форматах JPG, PNG, GIF,
- Google PageSpeed и другие сервисы требовали перевести изображения в современный формат WebP,
- вручную конвертировать тысячи картинок и обновлять ссылки в базе данных невозможно,
- нужно было автоматическое решение, которое работает без участия человека.

Требовалось разработать систему, которая:
- Автоматически находит все изображения товаров в старых форматах
- Конвертирует их в современный формат WebP с сохранением качества
- Обновляет записи в базе данных, чтобы сайт обращался к новым файлам
- Работает по расписанию (например, 15 числа каждого месяца)
- Не ломает сайт, если что-то пошло не так (оставляет оригиналы)

Решение

Создал комплексное решение, которое включает:

/local/php_interface/include/image_optimizer/
├── ImageOptimizer.php # Основной класс оптимизации
├── WebpConverter.php # Конвертер в WebP
├── DatabaseUpdater.php # Обновление записей в БД
├── ImageFinder.php # Поиск изображений по всему сайту
├── Logger.php # Логирование результатов
└── cron_optimize.php # Скрипт для запуска по CRON

После конвертации нужно обновить все ссылки в базе данных, чтобы сайт использовал WebP.

Результат

Для сайта и бизнеса
✅ Ускорение загрузки — WebP легче оригиналов на 30-50%
✅ Улучшение SEO — Google PageSpeed больше не ругается на форматы изображений
✅ Экономия трафика — посетители скачивают меньше данных
✅ Без потери качества — конвертация с оптимальными настройками (80% качества)

Для администратора
✅ Полная автоматизация — раз в месяц всё делается само
✅ Удобный интерфейс — можно запустить вручную одной кнопкой
✅ Прозрачность — подробные логи всех операций
✅ Безопасность — оригиналы сохраняются, всегда можно откатить

Технические результаты
✅ Конвертация JPG, PNG, GIF в WebP
✅ Обновление ссылок в инфоблоках (элементы и разделы)
✅ Обновление записей в таблице b_file
✅ Работа с изображениями в файловой системе
✅ Пошаговая обработка (чтобы не перегружать сервер)
✅ Запуск по CRON (15 число каждого месяца)
✅ Подробное логирование с ротацией

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Разработка мультиязычного API для получения названий месяцев на разных языках мира (Symfony)»
Разработка мультиязычного API для получения названий месяцев на разных языках мира (Symfony)»
68
Веб-разработка и IT Разработка кастомного компонента для 1С-Битрикс, отправляющего мгновенные уведомления о новых заказах оператору в Telegram
Разработка кастомного компонента для 1С-Битрикс, отправляющего мгновенные уведомления о новых заказах оператору в Telegram
67
Веб-разработка и IT Компонент автоматического расчета оптимальной упаковки заказа для разных служб доставки в 1С-Битрикс
Компонент автоматического расчета оптимальной упаковки заказа для разных служб доставки в 1С-Битрикс
82
Веб-разработка и IT Разработка универсального API времени Events in Time — от Большого взрыва до далекого будущего (Symfony)
Разработка универсального API времени Events in Time — от Большого взрыва до далекого будущего (Symfony)
79