Включаем сжатие изображений через tinypng или аналоги — до 50% экономии веса
Хочу себе такие же кнопкиЧто вы получите и почему это важно
Сокращая вес изображений на Битриксе, вы ускоряете загрузку страниц, повышаете позиции в поиске и экономите трафик — это как заменить тяжёлый чемодан на лёгкую сумку: всё помещается, но везётся легче. В этом уроке вы узнаете, как достичь до 50 % экономии за счёт сжатия через TinyPNG и аналогичные сервисы, и как внедрить процесс в ваш сайт без потери качества.
1. Почему вес изображений тормозит сайт
| Проблема | Последствия | Как выглядит в реальном времени |
|---|---|---|
| Большие файлы (PNG > 300 KB) | Долгая загрузка, высокий bounce‑rate | Пользователь ждёт 5 сек +, пока откроется товар |
| Неоптимизированные форматы | Неправильное кэширование, лишний трафик | Сервер отсылает 10 МБ вместо 5 МБ |
| Отсутствие WebP/AVIF | Браузеры используют старый PNG/JPEG | Тот же файл занимает в 2‑3 раза больше места |
Ключевой термин: вес — размер файла в килобайтах/мегабайтах, который браузер скачивает.
2. Основы сжатия изображений
| Тип сжатия | Как работает | Пример |
|---|---|---|
| Lossless (без потерь) | Удаляет избыточные данные, сохраняет всё визуальное | PNG‑optimizers (optipng, pngcrush) |
| Lossy (с потерями) | Уменьшает детали, которые человеческий глаз не различает | JPEG‑optimizers, TinyPNG, WebP‑converter |
Аналогия: представьте, что вы упаковываете чемодан. Lossless — вы аккуратно складываете вещи, не бросая ничего. Lossy — вы решаете, что некоторые мелочи (пары носков) можно оставить дома, чтобы чемодан стал легче, но всё равно в нём будет всё необходимое.
3. TinyPNG и его аналоги
- TinyPNG – онлайн‑сервис, который использует smart lossy‑алгоритм для PNG и JPEG.
- CompressPNG, Kraken.io, ImageOptim, Squoosh – бесплатные/платные альтернативы с похожими результатами.
Важно: большинство сервисов позволяют обрабатывать до 20 изображений за раз бесплатно; для автоматизации нужен API‑ключ.
Пример сравнения (по среднему сжатию)
| Формат | Исходный размер | После TinyPNG | Экономия |
|---|---|---|---|
| PNG 800 × 600 | 350 KB | 180 KB | 49 % |
| JPEG 1200 × 800 | 500 KB | 260 KB | 48 % |
| WebP (через TinyPNG) | 300 KB | 150 KB | 50 % |
4. Как подключить автоматическое сжатие в Битриксе
4.1. Установка модуля‑плагина
- Скачайте модуль «Image Optimizer» из маркетплейса Битрикса.
- Загрузите его через админку → «Marketplace» → «Установить».
- В настройках укажите API‑ключ TinyPNG (получить на странице TinyPNG API).
4.2. Принцип работы
- При загрузке нового изображения скрипт отправляет файл на сервер TinyPNG.
- Сервис возвращает сжатый вариант, который сохраняется в
/upload/optim/. - Оригинал сохраняется в резервной папке (на случай отката).
4.3. Пример кода (php)
function compressImage($filePath) {
$apiKey = 'YOUR_TINYPNG_KEY';
$data = file_get_contents($filePath);
$ch = curl_init('https://api.tinypng.com/shrink');
curl_setopt($ch, CURLOPT_USERPWD, "api:$apiKey");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if ($info['http_code'] == 201) {
$json = json_decode($result, true);
$compressed = file_get_contents($json['output']['url']);
file_put_contents($filePath, $compressed);
}
}
Совет: оборачивайте функцию в
try/catch, чтобы при ошибке сохранять оригинал.
4.4. Интеграция с компонентом «catalog.item»
AddEventHandler('main', 'OnAfterFileSave', function($arFile){
if (in_array($arFile['CONTENT_TYPE'], ['image/png','image/jpeg'])) {
compressImage($_SERVER['DOCUMENT_ROOT'].$arFile['SRC']);
}
});
Эта обработка гарантирует, что каждое загруженное изображение будет автоматически оптимизировано.
5. Автоматизация на уровне сервера (cron)
Если у вас уже есть готовый контент, запустите cron‑задачу:
0 2 * * * php /path/to/bitrix/modules/image_optimizer/cron.php
cron.php проходит по папке /upload/, проверяет файлы без суффикса -opt и отправляет их в TinyPNG.
Плюс: можно задать порог — сжатие только файлов > 150 KB, чтобы не тратить ресурсы на уже лёгкие изображения.
6. Лучшие практики и подводные камни
| Практика | Почему важна | Как реализовать |
|---|---|---|
| Сохраняйте оригиналы | На случай отката и необходимости в разных размерах | Делайте резерв в /upload/orig/ |
| Используйте WebP | Современные браузеры показывают его в 2‑3 раза быстрее | Включите конвертацию в модуле «Image Optimizer» |
| Не сжимайте SVG | SVG уже векторный, сжатие может разрушить структуру | Исключайте их из обработки |
| Проверяйте визуальное качество | Потери могут быть заметны на деталях | Сравните до/после в графическом редакторе |
| Контролируйте количество запросов к API | Бесплатный тариф ограничен 500 запросами в месяц | Ставьте кэш и проверяйте размер перед отправкой |
7. Как измерять эффект
- Google PageSpeed Insights – сравните показатели First Contentful Paint до и после.
- WebPageTest – обратите внимание на Weight (общий размер).
- Лог‑анализ – в
access_logищите запросы к/upload/и вычисляйте средний размер.
Пример: после внедрения TinyPNG ваш средний вес изображений упал с 350 KB до 170 KB → 48 % экономии, а время загрузки главной страницы сократилось с 4,2 сек до 2,3 сек.
8. Быстрый чек‑лист
- [ ] Получить API‑ключ TinyPNG (или аналог).
- [ ] Установить модуль‑плагин в Битрикс.
- [ ] Настроить обработчик
OnAfterFileSave. - [ ] Добавить cron‑задачу для уже существующих файлов.
- [ ] Включить конвертацию в WebP и исключения SVG.
- [ ] Проверить результаты в PageSpeed и WebPageTest.
Практика для закрепления
-
Расчёт экономии
У вас есть 12 изображений PNG, каждый весит 400 KB. После обработки в TinyPNG они стали 210 KB. Какой процент экономии в среднем? -
Код‑задача
Напишите функциюshouldCompress($size)``, возвращаетtrue, если размер файла превышает 150 KB, иначеfalse. Приведите пример её использования в обработчикеOnAfterFileSave`. -
Сценарий интеграции
Опишите, какие шаги вы предпримете, если после внедрения сжатия на сайте возникли артефакты (пиксели, искажения) только у JPEG‑изображений. -
Сравнение сервисов
Выберите два бесплатных аналога TinyPNG (например, Kraken.io и Squoosh) и сравните их по показателям: средний процент сжатия, время обработки, наличие API. Сформулируйте вывод, какой сервис лучше подходит для автоматизации в Битриксе. -
Оптимизация под мобильные устройства
Как вы будете настроить автоматическое создание ретина‑изображений (2×) и их последующее сжатие, чтобы не перегружать мобильных пользователей? Опишите последовательность действий в админке Битрикса.
Готово! Теперь вы знаете, как сократить вес изображений в два раза, ускорить ваш сайт на Битриксе и улучшить пользовательский опыт. Применяйте полученные навыки, проверяйте результаты и держите ваш онлайн‑магазин в форме.
Если нужен быстрый старт на VDS‑хостинге, обратите внимание на предложения VDSina – они поддерживают все необходимые PHP‑расширения и позволяют масштабировать ресурсы под растущий трафик.
CamZamZam - онлайн фото с вебкамеры с эффектами
Cartoon Network: игры с персонажами
Чат рулетка в 2026: будущие функции
Эксперт по доменным стратегическим решениям
Хостинг для e-commerce проектов
Как играть в слоты
Как настроить CDN для сайта на хостинге Host.bg
Как настроить SSL-сертификат для сайта на Host.bg
Как оптимизировать производительность сайта с хостингом Host.bg
Как выбрать правильный хостинг для вашего сайта
Какие бывают ЛОР болезни у детей
Кассовые терминалы с оплатой картами
LOL куклы витрина детская
Лучшие видеорегистраторы для водителей
Онлайн QR-код сканер
Онлайн-связь
Оптимизация производительности баз данных на хостинге Host.bg
Основы настройки веб-хостинга: что вам нужно знать
Партнёрская программа без блога: как получать трафик из Telegram
Профессиональные хитрости для пользователей хостинга Host.bg
Регистрация ИП в Москве для иностранных граждан
Сравнение хостинга Host.bg с другими провайдерами
Субтитры — нет, уши — включены: погружение в английский за 5 минут
Сумки с бусинами
Техника для строительства загородных трасс
ТОП-10 VPS для разработчика: рейтинг серверов под рабочие задачи
WordPress блог для бизнеса