Перейти к содержанию
Brawus
Рассчитать проект
Изображение в трёх размерах в оптической установке — метафора оптимизации сайта
Никита — автор статьи
Никита
Web-разработчик

Как ускорить сайт: изображения, Core Web Vitals и реальные измерения

Сайт может выглядеть быстрым на рабочем ноутбуке и заметно тормозить у клиента в дороге. Может получить высокий балл в одном тесте, но зависать при открытии меню. И может стать легче на несколько мегабайт, не начав заметно раньше показывать первый экран. Поэтому вопрос «как ускорить сайт» начинается не с установки оптимизатора, а с понимания, какое ожидание мешает пользователю. Разберём практический порядок работы: что измерять, как находить тяжёлые ресурсы, когда помогают WebP и адаптивные изображения, почему нельзя откладывать загрузку всего подряд. Здесь нет универсального обещания сделать любой сайт быстрым за один день. Есть способ отделить настоящую причину задержки от красивой цифры в отчёте.

Что именно считается быстрым сайтом

Посетитель оценивает не размер архива проекта, а последовательность действий: открыл страницу, увидел содержимое, нажал кнопку, получил ответ. На каждом шаге может быть отдельное узкое место. Медленный сервер задерживает начало загрузки; тяжёлая обложка — появление основного изображения; занятый JavaScript — реакцию уже нарисованного интерфейса. Core Web Vitals описывают три стороны этого опыта. LCP показывает время появления крупнейшего видимого элемента, INP — задержку реакции на взаимодействия, CLS — неожиданные сдвиги раскладки. В документации Web Vitals хорошими ориентирами указаны LCP не более 2,5 секунды, INP не более 200 миллисекунд и CLS не более 0,1. Оценку смотрят на 75-м процентиле посещений, отдельно для мобильных и настольных устройств. Это ориентиры качества, а не гарантия продаж или позиции в поиске. Даже при хороших метриках форма может не отправлять заявку, а поиск — выдавать неверные результаты. Поэтому в задании на разработку и развитие сайта скорость стоит связывать с конкретными сценариями и их успешным завершением.

Лабораторный тест и реальные посетители отвечают на разные вопросы

Lighthouse и инструменты разработчика полезны для воспроизводимой диагностики: можно повторить страницу с одинаковыми ограничениями сети и процессора и сравнить изменения. Но один такой прогон не описывает весь трафик. На результат влияют состояние кэша, фоновые процессы, сторонние сервисы и выбранный профиль устройства. Полевые данные показывают поведение реальных посещений. В отчётах CrUX и Search Console значения собираются за период, поэтому они не обязаны измениться сразу после исправления. Если трафика недостаточно, данных по отдельной странице может не быть. Это не означает ни идеальную скорость, ни ошибку сайта — требуется другая выборка или собственные измерения. Составьте набор типовых страниц: главная, каталог, карточка, статья, кейс, контакты. Для каждой проверьте первый визит и повторный, компьютер и телефон, открытие формы и взаимодействие с основным блоком. Сохраняйте дату, версию сайта и условия теста. Тогда сравнение «до и после» будет измерением, а не двумя случайными скриншотами с разными баллами.

Ищите цепочку задержек, а не самый большой файл

В панели Network видно, когда браузер обнаружил ресурс, сколько ждал начала ответа и сколько загружал данные. Крупная картинка часто заметна сразу, но не всегда она главный виновник. Если её адрес появляется только после выполнения большого скрипта, даже хорошо сжатый файл начнёт загружаться слишком поздно. При анализе LCP полезно разделить ожидание ответа сервера, задержку обнаружения ресурса, его передачу и задержку отрисовки. Такой подход описан в руководстве по оптимизации LCP. Например, уменьшение размера изображения не устранит блокирующий стиль или длительный JavaScript, который мешает браузеру его показать. Начинайте с критического пути первого экрана. Проверьте перенаправления, время ответа HTML, обнаружение обложки и шрифтов. Затем переходите к ресурсам нижних блоков. И не сравнивайте суммарный объём всей медиатеки с весом одной страницы: удаление сотни мегабайт неиспользуемых оригиналов само по себе не ускоряет загрузку того, что пользователь действительно открывает.

Как сжимать изображения и не получать мыло

Сначала определите назначение изображения. Портрет в карточке, полноэкранная фотография и скриншот интерфейса требуют разного размера и настроек. Для фотографии обычно допустимо аккуратное сжатие с потерями, которое почти незаметно в рабочем масштабе. Для мелких надписей, схем и тонких линий тот же режим может дать неприятные артефакты. WebP и AVIF позволяют хранить изображения эффективнее во многих сценариях, но формат не заменяет проверку. Сравнивайте варианты на сложных местах: волосы, кожа, тёмные градиенты, края букв. Смотрите не только увеличенный фрагмент, но и реальный блок сайта на экране с высокой плотностью пикселей. Универсальное значение качества для всей медиатеки редко бывает удачным. Оригинал сохраняют отдельно, а версии для публикации получают из него. Повторное пересохранение уже сжатого файла может накапливать потери. Ориентацию из EXIF учитывают до обработки, цвет проверяют после преобразования. При этом загрузка многомегабайтного оригинала в маленькую карточку — не способ сохранить качество: браузеру всё равно приходится уменьшать его, а пользователь оплачивает передачу лишних данных.
Фотографии оборудования и интерфейс каталога в кейсе ЮУМЗ
Фото и мелкий интерфейсный текст в одной иллюстрации: качество проверяют на обоих типах деталей.

Одной картинке нужны разные размеры для разных экранов

Если блок занимает 400 CSS-пикселей, экран с плотностью 2× может использовать файл около 800 пикселей по ширине. Это пример расчёта, а не обязательный размер для любого устройства. Итог зависит от раскладки, реальной ширины контейнера и доступных вариантов. На большом экране для того же изображения может потребоваться другой файл. Атрибут srcset перечисляет кандидатов, а sizes описывает предполагаемую ширину изображения в раскладке. Браузер выбирает вариант с учётом этих подсказок и условий устройства. Важно не просто добавить список файлов, но и правильно описать блок: завышенное sizes способно заставить телефон загружать слишком крупный ресурс. Базовый механизм описан в руководстве MDN по адаптивным изображениям. После внедрения проверяют фактический currentSrc и размер сетевого ответа. В тестовом разделе сайта также проверяют префиксы путей: относительная ссылка на картинку может случайно уйти в корень старой версии. Если изображение предзагружается, его preload должен согласовываться с адаптивным набором, иначе браузер может получить два разных файла вместо одного.

Что загружать сразу, а что можно отложить

Основное изображение первого экрана обычно нужно обнаружить и начать загружать как можно раньше. Если именно оно определяет LCP, бездумное loading="lazy" может ухудшить результат. Для действительно важного ресурса можно использовать повышенный приоритет загрузки, но помечать так всю галерею бессмысленно: приоритет перестаёт помогать, когда все конкурируют за первое место. Изображения далеко ниже первого экрана можно загружать лениво. Это особенно заметно на длинных кейсах и страницах с командой, где посетитель может не дойти до конца. При этом размеры места под изображение должны быть известны заранее: width и height либо согласованное aspect-ratio помогают избежать скачков текста после загрузки. Видео на фоне требует отдельного бюджета. Красивый ролик не должен блокировать чтение заголовка и нажатие кнопки. Сначала показывают подходящий постер, учитывают мобильную сеть и предпочтение уменьшенного движения, проверяют поведение без автозапуска. Нельзя считать задачу решённой, просто спрятав видео стилями: если файл всё равно скачивается, расход трафика остаётся.

Если страница уже видна, но кнопки тормозят

Такой симптом часто связан не с картинками, а с работой основного потока браузера. Большие обработчики, пересчёт сложного интерфейса, ненужные виджеты и синхронные вычисления мешают отрисовать реакцию на действие. Человек нажимает ещё раз, потому что не понимает, зарегистрирован ли первый клик. В руководстве по INP рассматривают задержку до начала обработчика, его выполнение и показ следующего кадра. На практике это означает: найти конкретное медленное взаимодействие, изучить профиль, разделить длинную работу и убрать ненужные вычисления. Перенос кода «на потом» без понимания сценария может просто переместить зависание с открытия страницы на первый клик. Отдельно проверьте сторонние скрипты: аналитику, чат, карту, капчу. Их не обязательно удалять. Иногда достаточно подключать виджет только на нужной странице или после понятного действия. Но антиспам-проверку и отправку формы нельзя обходить ради красивого теста скорости. Быстрый интерфейс должен оставаться рабочим и защищённым.

Каталог и кейс: разные ограничения, один принцип

В каталоге важны поиск, фильтры и большое количество карточек. В кейсе — крупные изображения, последовательное чтение и демонстрация продукта. Поэтому одинаковый пресет оптимизации для обеих страниц не подходит. Каталог может упираться в запросы к базе, а кейс — в загрузку нескольких полноразмерных изображений. На примере интернет-магазина ЮУМЗ видно, что карточки оборудования и поиск являются частью основного сценария. При ускорении такого продукта нельзя проверять только главную: нужны результаты поиска, пустая выдача, фильтры и карточка с большим количеством материалов. Это пример выбора тестовых страниц, а не заявление о конкретных показателях скорости проекта. Для визуальных кейсов полезно сохранять читаемость интерфейсов. В кейсе приложения РЕАЛ скриншоты объясняют запись на занятия и обучение. Их чрезмерное сжатие уберёт смысл демонстрации. Здесь лучше подобрать размеры под экран и отложить нижние иллюстрации, чем превращать все изображения в одинаково маленькие превью.
Экраны регистрации и экзамена в приложении РЕАЛ с мелким интерфейсным текстом
Скриншоты интерфейса требуют отдельной проверки: выигрыш в размере не должен делать подписи нечитаемыми.

Сервер, кэш и обновления тоже входят в задачу

Если HTML долго формируется на сервере, оптимизация обложки затронет только часть ожидания. Ищут медленные запросы к базе, внешние обращения в процессе генерации страницы, лишние перенаправления и отсутствие подходящего кэша. Решение выбирают по измерению: увеличение мощности не исправляет ошибку, из-за которой один и тот же тяжёлый запрос выполняется десятки раз. Кэшировать нужно осмысленно. Публичную обложку можно хранить долго под версионным именем, но личный кабинет и персональные цены требуют других правил. После изменения файла проверяют, как обновляется ссылка и что видит повторный посетитель. Иначе часть аудитории продолжит получать старую картинку или несовместимый скрипт. В релизный процесс полезно добавить ограничения на размеры новых ресурсов и сравнение типовых страниц. Если редактор загрузил оригинал фотографии напрямую, это должно обнаружиться до публикации. В рамках поддержки сайта такие проверки обычно полезнее разовой «генеральной уборки», после которой медиатека снова начинает бесконтрольно расти.

Как принять результат и не потерять его через месяц

Сравните одинаковые страницы в одинаковых условиях несколько раз. Посмотрите не только итоговый балл, но и сетевые запросы, появление основного контента и отзывчивость действий. На телефоне проверьте меню, раскрытие карточек, отправку формы, прокрутку длинного кейса. Убедитесь, что не пропали изображения, не обрезались лица и не сместились подписи. Зафиксируйте, что изменилось: какие файлы облегчены, какие варианты размеров появились, какой скрипт перестал блокировать действие. Отдельно запишите то, что ещё требует наблюдения в полевых данных. Новая версия может быть локально быстрее, но утверждать улучшение для всей аудитории корректно после накопления сопоставимых измерений. Ускорение сайта — это работа с цепочкой ожиданий, а не конкурс минимального веса. Хороший результат сохраняет дизайн, качество изображений и все бизнес-сценарии. Если планируется более глубокая переработка продукта, полезно заранее обсудить архитектуру и ограничения с командой разработки и технического аудита, чтобы скорость стала частью требований, а не последней правкой перед релизом.
Материал проверен и уточнён 7 сентября 2026 года. Обложка — редакционная иллюстрация; технические источники приведены в соответствующих разделах.

Обсудим проект

Расскажите о задаче — предложим формат работы и следующий шаг

или позвоните +7 965 123-07-96

Ответим в рабочее время

Специалист Brawus, с которым можно обсудить проект
Личный контакт От идеи до запуска
Готово

Заявка отправлена

Свяжемся с вами в рабочее время
Готово

Подписка оформлена

Будем присылать только важное