До 10%Рекомендуйте нас и получайте процент за каждого приведённого клиента

Форматы изображений WebP/AVIF: как внедрить без боли

Внедрение форматов WebP и AVIF на 1С-Битрикс: picture с fallback, ленивая загрузка, адаптивные размеры, Core Web Vitals

Откройте любую карточку товара и посмотрите, что грузится дольше всего. Почти всегда это изображения: галерея, превью, баннеры. На магазине они составляют львиную долю веса страницы, и именно они чаще всего роняют скорость и портят Core Web Vitals. При этом JPEG и PNG — форматы прошлого десятилетия, а современные WebP и AVIF сжимают то же самое в разы легче.

Проблема в том, что «просто переключить формат» звучит легко, а на практике всплывают fallback для старых браузеров, конвертация, кэш, ленивая загрузка и обмен с 1С. В этой статье разберём, как внедрить WebP и AVIF в магазине на 1С-Битрикс без боли и без риска, что у части посетителей пропадут картинки. Системно скорость мы поднимаем услугой оптимизации JavaScript, CSS и изображений (WebP, lazy load).

Коротко

  • Изображения — самая тяжёлая часть страницы магазина; WebP и AVIF сжимают их в разы сильнее JPEG/PNG.
  • Внедряйте по принципу «добавить, а не заменить»: новые форматы через picture с fallback на JPEG.
  • Конвертируйте заранее с кэшем для большого каталога; связывайте генерацию с обменом с 1С.
  • Не грузите LCP-картинку лениво, дополняйте новые форматы адаптивными размерами (srcset) — тогда Core Web Vitals заметно улучшаются.

Почему изображения — главный тормоз магазина

На типичной странице магазина изображения весят больше, чем весь остальной контент вместе взятый. Каталог — это витрина, а витрина — это картинки: превью в списке, галерея в карточке, баннеры на главной. Каждая лишняя сотня килобайт умножается на десятки изображений и на каждого посетителя.

Тяжёлые картинки бьют по двум фронтам сразу: пользователь ждёт отрисовки и уходит, а поисковик снижает оценку скорости и позиции. Причём главная картинка карточки часто и есть тот элемент, по которому считается LCP — ключевая метрика скорости. Поэтому оптимизация изображений — одна из самых окупаемых работ по производительности.

WebP и AVIF: в чём разница

Оба формата решают одну задачу — весить меньше при том же качестве, — но с разными компромиссами.

КритерийWebPAVIFJPEG/PNG
СжатиеСильноеОчень сильноеСлабое
Поддержка браузерамиПочти повсеместнаяШирокая, чуть ужеПовсеместная
Скорость кодированияБыстраяМедленнееБыстрая
ПрозрачностьЕстьЕстьPNG — да, JPEG — нет
РольОсновной форматЛучший, где поддержанFallback и исходник

Практичный вывод: отдавайте AVIF там, где он поддержан, WebP как основной формат, а JPEG/PNG держите запасным. Не нужно выбирать один — тег picture позволяет перечислить все три по приоритету.

Как задача превращается в результат Задачачто решаемПодходкак делаемРеализацияна 1С-БитриксПроверкаметрики, тестыРезультатэффект для бизнеса
Схема: любая доработка проходит путь от постановки задачи к реализации на 1С-Битрикс и проверке по метрикам — важен измеримый результат, а не факт правки.

Стратегия «добавить, а не заменить»

Главный принцип безболезненного внедрения — не удалять старые форматы, а добавлять новые поверх. Браузер, который умеет AVIF или WebP, получит лёгкую версию; браузер, который не умеет, — привычный JPEG. Так вы выигрываете в скорости без риска, что у части посетителей картинки перестанут открываться.

Никакого «или-или»: исходники в JPEG/PNG остаются и как fallback, и как основа для генерации лёгких версий. Внедрение форматов — это надстройка над существующими картинками, а не их удаление. Поэтому откатить или расширить схему можно в любой момент.

Тег picture и fallback

Стандартный и безопасный способ отдать современные форматы — HTML-тег picture. Внутри него несколько source с разными форматами и один img как запасной вариант. Браузер идёт по списку сверху вниз, берёт первый поддерживаемый формат, а если ни один не подошёл — грузит img.

Порядок обычно такой: сначала AVIF, затем WebP, затем img с JPEG. Такой подход не требует определять браузер на сервере и работает на стороне клиента по стандарту. В 1С-Битрикс вывод picture добавляют в шаблоны компонентов, которые показывают изображения, — об этом ниже в разделе про внедрение.

Конвертация: на лету или заранее

Лёгкие версии нужно откуда-то взять — их генерируют из исходников. Есть два подхода, и оба рабочие.

Для крупного каталога чаще выбирают предгенерацию с кэшем на диске: тяжёлое кодирование (особенно AVIF) не должно происходить в момент отдачи страницы. Ключевое в обоих подходах — кэшировать результат, чтобы не пересчитывать одно и то же. Тяжёлые фоновые задачи удобно выносить на агентов Битрикс и отдельные процессы, чтобы не мешать основному трафику; это перекликается с практиками CI/CD и деплоя, где генерацию ассетов включают в сборку.

Ленивая загрузка и первый экран

Ленивая загрузка (lazy load) откладывает загрузку изображений, пока они не понадобятся, — и это отлично для галереи и списков товаров. Но с ней есть важная тонкость: её нельзя применять к картинкам первого экрана, особенно к LCP-изображению.

Если отложить лениво именно главную картинку, вы отложите тот самый элемент, по которому считается скорость, — и ухудшите показатели вместо улучшения. Правильная схема:

Адаптивные размеры: srcset и sizes

Мало отдать лёгкий формат — важно ещё не грузить картинку 2000px туда, где по факту нужно 400px. Здесь помогают атрибуты srcset и sizes: они описывают несколько размеров одного изображения, и браузер выбирает подходящий под экран и плотность пикселей.

Новый формат и адаптивные размеры дополняют друг друга: кодек экономит на способе сжатия, а srcset — на количестве пикселей. Вместе они дают максимальный выигрыш. В 1С-Битрikс размеры-превью удобно готовить штатными средствами масштабирования изображений и складывать в тот же picture вместе с форматами.

Связка с обменом с 1С

В магазине картинки товаров обычно приходят из 1С обменом — как исходники в JPEG или PNG. Ошибка — пытаться усложнять сам обмен генерацией форматов. Правильная архитектура разводит слои:

  1. Обмен кладёт исходник. Из 1С приходит JPEG/PNG и сохраняется как есть.
  2. Слой генерации создаёт версии. Отдельная логика на стороне сайта делает WebP/AVIF из исходника.
  3. Кэш хранит результат. Лёгкие версии кэшируются и переиспользуются.
  4. Обновление по триггеру. При изменении картинки товара версии пересоздаются.

Так обмен не усложняется, а оптимизация форматов работает поверх него автоматически. Если каталог большой и обмен и так тяжёлый, генерацию форматов особенно важно держать отдельным процессом — эта тема пересекается со статьёй про ускорение обмена с 1С при большом каталоге.

Влияние на Core Web Vitals

Переход на современные форматы напрямую бьёт по ключевым метрикам скорости:

Скорость каталога держится не только на картинках, но и на кэше и инфраструктуре. Изображения хорошо сочетаются с правильным хостингом на BitrixVM и композитным кэшированием: статика отдаётся мгновенно, а лёгкие форматы уменьшают то, что вообще нужно передать.

Внедрение в 1С-Битрикс пошагово

Внедрять форматы не нужно «во всём сайте сразу» — вывод изображений сосредоточен в нескольких местах. Порядок такой:

  1. Найдите точки вывода. Карточка, список товаров, галерея, баннеры — где показываются картинки.
  2. Добавьте слой генерации. Логика создания WebP/AVIF из исходника с кэшем на диске.
  3. Замените img на picture. В шаблонах компонентов выводите picture с AVIF, WebP и fallback.
  4. Настройте lazy аккуратно. Ленивая загрузка ниже сгиба, приоритетная — для LCP-картинки.
  5. Добавьте адаптивные размеры. srcset/sizes для превью под разные экраны.
  6. Свяжите с обменом. Пересоздание версий при обновлении картинок из 1С.
  7. Измерьте результат. Проверьте LCP и вес страниц до и после на реальных страницах.

Частые ошибки

Чек-лист внедрения

  1. Форматы добавлены, не заменены. AVIF/WebP через picture, JPEG как fallback.
  2. Генерация с кэшем. Лёгкие версии создаются заранее и кэшируются.
  3. Lazy настроен верно. Ниже сгиба — лениво, LCP-картинка — приоритетно.
  4. Адаптивные размеры. srcset/sizes отдают нужный размер под экран.
  5. Размеры заданы. width/height у изображений против скачков вёрстки.
  6. Связка с обменом. Версии пересоздаются при обновлении картинок из 1С.
  7. Результат измерен. LCP и вес страниц проверены до и после.

Вывод

WebP и AVIF — одна из самых окупаемых оптимизаций скорости магазина: изображения весят больше всего, а новые форматы сжимают их в разы. Внедрять их не больно, если действовать по принципу «добавить, а не заменить»: picture с fallback на JPEG, генерация с кэшем, ленивая загрузка ниже сгиба и адаптивные размеры.

В 1С-Битрикс это точечная работа по нескольким шаблонам компонентов плюс отдельный слой генерации, связанный с обменом с 1С. Сделайте это аккуратно — и LCP, вес страниц и позиции в поиске пойдут вверх, а посетители перестанут ждать, пока прогрузится витрина.

Частые вопросы

Чем WebP отличается от AVIF и что выбрать?

WebP — зрелый формат с почти повсеместной поддержкой и хорошим сжатием; AVIF сжимает ещё сильнее и лучше держит качество, но кодирование медленнее и поддержка чуть уже. Практичный выбор — отдавать AVIF там, где он поддерживается, WebP как основной вариант, а JPEG/PNG как запасной. Тег picture позволяет перечислить форматы по приоритету, и браузер сам возьмёт лучший из доступных.

Нужно ли отказываться от JPEG и PNG полностью?

Нет. JPEG и PNG остаются как fallback для старых браузеров и как исходники. Правильная схема — не заменять, а добавлять: браузер, который умеет AVIF или WebP, получает лёгкую версию, а тот, что не умеет, — привычный JPEG. Так вы выигрываете в скорости без риска, что у части посетителей картинки перестанут открываться.

Как отдавать WebP через тег picture?

Тег picture содержит несколько source с разными форматами и один img как fallback. Браузер идёт по списку source сверху вниз и берёт первый поддерживаемый формат, а если ни один не подошёл — грузит img. Это стандартный и безопасный способ отдать AVIF/WebP с откатом на JPEG, не завязываясь на серверную логику определения браузера.

Конвертировать изображения на лету или заранее?

Оба подхода рабочие. Конвертация заранее (при загрузке или пакетно) даёт минимальную нагрузку при отдаче и предсказуемость, но требует хранить копии в нескольких форматах. Конвертация на лету экономит место и удобна для динамики, но нагружает сервер и обязательно должна кэшировать результат. Для крупного каталога чаще берут предварительную генерацию с кэшем на диске.

Влияет ли формат изображений на Core Web Vitals?

Да, и сильно. Изображения — обычно самая тяжёлая часть страницы, а главная картинка часто и есть тот элемент, по которому считается LCP. Переход на WebP/AVIF уменьшает вес в разы, ускоряет отрисовку и напрямую улучшает LCP, а вместе с ленивой загрузкой и корректными размерами помогает и по CLS. Это одна из самых окупаемых оптимизаций скорости.

Как это уживается с обменом с 1С, откуда приходят картинки товаров?

Из 1С обычно приходят исходники в JPEG или PNG. Логика такая: обмен кладёт исходник, а генерация WebP/AVIF — отдельный слой на стороне сайта, который создаёт лёгкие версии из исходника и кэширует их. Тогда обмен не усложняется, а оптимизация форматов работает поверх него автоматически для новых и обновлённых товаров.

Не сломается ли ленивая загрузка для картинок выше сгиба?

Ленивую загрузку нельзя применять к изображениям в первом экране, особенно к LCP-картинке: их, наоборот, надо грузить приоритетно. Правильная схема — lazy для всего, что ниже сгиба (галерея, карточки в списке), и обычная приоритетная загрузка для главной картинки. Иначе ленивость отложит именно то изображение, по которому считается скорость, и ухудшит показатели.

Нужны ли адаптивные размеры вместе с новыми форматами?

Да, это дополняющие оптимизации. Мало отдать лёгкий формат — важно ещё не грузить картинку 2000px туда, где нужно 400px. Атрибуты srcset и sizes позволяют отдать под каждый экран подходящий размер. Вместе новый формат и адаптивные размеры дают максимальный выигрыш: и кодек экономнее, и пикселей ровно столько, сколько нужно.

Можно ли внедрить это без переписывания всего шаблона?

Да. Обычно вывод изображений сосредоточен в нескольких компонентах и шаблонах: карточка, список товаров, галерея. Достаточно заменить вывод img на picture с генерацией форматов в этих местах и добавить слой конвертации с кэшем. Это точечная работа по ключевым шаблонам, а не переделка всего сайта, поэтому внедрение проходит управляемо и поэтапно.

Поделиться:

Каталог грузится медленно из-за тяжёлых картинок?

Внедрим WebP и AVIF с fallback, ленивую загрузку и адаптивные размеры, свяжем генерацию с обменом с 1С и поднимем Core Web Vitals. Рассчитаем работу по вашему сайту.

Услуга оптимизации

Игорь Воскресенский

Команда B2Bsite. С 2014 года разрабатываем и ускоряем магазины на 1С-Битрикс: внедряем WebP и AVIF, ленивую загрузку и кэширование, поднимаем Core Web Vitals без переделки всего сайта.

← Все статьи блога