Вы добавили на сайт фото - и он стал в два раза медленнее. Пользователи уходят, Google ругается, конверсия падает. Проблема не в хостинге, не в сервере - а в том, как вы загружаете изображения через HTML. Многие думают, что просто вставить <img src="photo.jpg"> - и всё. Но это как поставить тяжелый груз на велосипед и удивляться, почему он не едет.
Простая загрузка фото - это уже проблема
Самый частый код, который видят разработчики:
<img src="uploads/photo.jpg" alt="Фото продукта">
Этот код работает. Но если фото весит 5 МБ - это как загружать целый фильм вместо превью. Средний пользователь ждет загрузки страницы не больше 2 секунд. После этого - уходит. А фото в 5 МБ загружается на медленном соединении больше 10 секунд. Это не просто медленно - это катастрофа.
Вот что происходит на практике: вы снимаете фото на iPhone - получаете файл 4,8 МБ. Загружаете его на сайт. Браузер не знает, что это именно фото для карточки товара, размером 300x200 пикселей. Он скачивает полный файл, потом уменьшает его в памяти. И тратит на это время, трафик и батарею пользователя.
Как правильно загружать фото через HTML - по шагам
Вот что нужно сделать, чтобы фото загружались быстро, а сайт не тормозил:
- Сжимайте изображения до разумного размера - не 5 МБ, а 150-300 КБ. Для карточек товаров достаточно 800x600 пикселей. Для баннеров - 1200x400. Используйте TinyPNG или ImageOptim. Эти инструменты уменьшают вес без потери качества.
- Используйте современные форматы - вместо JPG или PNG берите WebP. Он дает на 30-50% меньше веса при том же качестве. Все современные браузеры его поддерживают - включая Safari, Chrome, Firefox, Edge. Если вы еще не перешли на WebP - вы устарели.
- Укажите размеры изображения в HTML - добавьте атрибуты
widthиheight. Это помогает браузеру заранее выделить место под фото, чтобы страница не «прыгала» при загрузке. Пример:
<img src="photo.webp" width="800" height="600" alt="Фото продукта">
Это не просто рекомендация - это требование Google для Core Web Vitals. Без этого показатель LCP (Largest Contentful Paint) будет плохим, и сайт не попадет в топ.
- Используйте
loading="lazy"- это встроенная в HTML функция. Она заставляет браузер загружать фото только тогда, когда пользователь прокручивает страницу до них. Особенно полезно для страниц с десятками изображений - например, каталог товаров или галерея.
<img src="photo.webp" width="800" height="600" loading="lazy" alt="Фото продукта">
- Применяйте
srcsetдля адаптивных изображений - это ключ к скорости на мобильных устройствах. Вместо того чтобы грузить одно большое фото на всех экранах, вы даете браузеру выбор: на телефоне - маленькое фото, на ПК - большое. Пример:
<img src="photo-800.webp" srcset="photo-400.webp 400w, photo-800.webp 800w, photo-1200.webp 1200w" sizes="(max-width: 600px) 400px, (max-width: 1200px) 800px, 1200px" width="800" height="600" loading="lazy" alt="Фото продукта">
Здесь браузер сам выберет подходящее изображение по размеру экрана. На iPhone 13 - скачает 400px-версию. На мониторе 4K - 1200px. Вес сокращается в 3-5 раз.
Почему WebP - это не опция, а обязательство
Вы можете сказать: «А у меня клиенты на старых телефонах». Но это уже 2026 год. WebP поддерживается всеми браузерами, выпущенными после 2018 года. Это 97% пользователей в мире. Остальные 3% - это либо устаревшие устройства, либо люди, которые не обновляют телефон 10 лет. Их влияние на конверсию ничтожно.
Вот сравнение: одно и то же фото в разных форматах.
| Формат | Вес (средний) | Поддержка браузеров | Качество |
|---|---|---|---|
| JPG | 500 КБ | 100% | Среднее |
| PNG | 800 КБ | 100% | Высокое (без потерь) |
| WebP | 220 КБ | 97% | Высокое |
WebP не просто «лучше» - он делает ваш сайт в два раза быстрее. И это не миф. Компания Shopify протестировала переход с JPG на WebP - время загрузки страниц с товарами сократилось на 42%. Конверсия выросла на 11%.
Как проверить, что ваши фото загружаются быстро
Не гадайте - проверяйте. Есть три простых способа:
- Chrome DevTools - откройте вкладку Network, включите «Disable cache», перезагрузите страницу. Смотрите, какие файлы грузятся дольше всего. Если фото весит больше 300 КБ - это красный флаг.
- PageSpeed Insights - Google бесплатно покажет, какие изображения нужно сжать. Он даже предложит ссылки на оптимизированные версии.
- WebPageTest.org - покажет, как именно загружается ваша страница пошагово. Увидите, когда появляются фото, и сколько времени тратится на их загрузку.
Если вы видите, что первое фото загружается через 4 секунды - вы делаете что-то не так. Оптимально - чтобы основное изображение появлялось за 1,5 секунды.
Что делать, если сайт на CMS (WordPress, Bitrix, 1С-Битрикс)
Вы не пишете HTML вручную? Это не значит, что вы не можете оптимизировать фото.
- В WordPress установите плагин ShortPixel или Imagify. Они автоматически конвертируют все фото в WebP, сжимают их и генерируют srcset.
- В 1С-Битрикс включите «Оптимизацию изображений» в настройках компонентов. Убедитесь, что в шаблоне используются
srcsetиloading="lazy". - Не загружайте фото в исходном размере - даже если CMS позволяет. Всегда предварительно сжимайте их на компьютере перед загрузкой.
Многие думают, что CMS всё сделает за них. Но нет. Если вы загрузите 10 МБ фото - CMS не превратит его в 200 КБ. Она только уменьшит его до 8 МБ. Это всё равно катастрофа.
Частые ошибки, которые убивают скорость
- Загружать фото в PNG, когда они не требуют прозрачности - PNG весит в 3 раза больше JPG.
- Использовать один и тот же файл для десктопа и мобильного - это как носить ботинки 45 размера на ноге 38.
- Не указывать
widthиheight- страница прыгает, пользователь думает, что сайт «сломался». - Использовать фоновые изображения в CSS для контента - браузер не знает, что это важное фото, и загружает его позже.
- Загружать фото с названиями вроде «IMG_1234.jpg» - это не влияет на скорость, но мешает SEO. Используйте описательные имена: «krossovki-nike-air-max-2026.jpg».
Итог: как сделать загрузку фото на HTML правильно
Вот ваш чек-лист для быстрой загрузки фото:
- Сжимайте фото до 150-300 КБ.
- Конвертируйте в WebP.
- Всегда указывайте
widthиheight. - Добавляйте
loading="lazy"для всех фото ниже первой части экрана. - Используйте
srcsetдля разных размеров экранов. - Проверяйте результат в PageSpeed Insights и Chrome DevTools.
Это не «дополнительные фишки». Это базовые требования к современному сайту. Если вы их игнорируете - вы теряете пользователей, продажи и позиции в поиске. Не потому что вы плохой разработчик. Просто вы не знаете, как правильно загружать фото.
Начните с одного фото. Сожмите его. Замените на WebP. Добавьте srcset. Проверьте скорость. Увидите разницу - и поймете, почему это важно.
Можно ли использовать JPG вместо WebP?
Можно, но это неэффективно. WebP сжимает изображения на 30-50% лучше, чем JPG, при том же качестве. Если вы не используете WebP - вы платите за трафик и теряете скорость. В 2026 году это уже не выбор - это ошибка.
Почему фото грузятся медленно даже на хорошем хостинге?
Потому что хостинг влияет на скорость сервера, но не на размер файла. Если вы загружаете фото весом 5 МБ - даже самый быстрый хостинг не спасёт. Проблема в размере файла, а не в сервере. Оптимизация изображений - это первое, что нужно делать перед улучшением хостинга.
Какие инструменты лучше всего сжимают фото?
Для одного файла - TinyPNG или ImageOptim. Для автоматической оптимизации на сайте - ShortPixel (для WordPress), Imagify или встроенные инструменты в 1С-Битрикс. Все они поддерживают WebP и автоматически генерируют srcset.
Нужно ли сжимать фото, если сайт только для офиса?
Да. Даже если сайт используют только в офисе, вы не знаете, кто будет заходить с телефона, с медленного интернета или из другого региона. Кроме того, медленный сайт выглядит непрофессионально. И это влияет на восприятие бренда - даже если клиенты «внутри».
Что делать, если WebP не отображается на старом браузере?
Используйте тег <picture>, чтобы указать запасной вариант. Пример: <picture><source srcset="photo.webp" type="image/webp"><img src="photo.jpg" alt="..."></picture>. Тогда браузеры, которые не поддерживают WebP, загрузят JPG. Это стандартный подход - и он работает на 100% сайтов.