Практическое руководство

Как найти причину медленного LCP

Как найти причину медленного LCP: элемент первого экрана, TTFB, задержка запроса, загрузка ресурса и задержка отрисовки.

Материал WebexlabПодготовлено 5 мин чтения

Краткий ответ

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

Найдите фактический LCP-элемент

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

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

Разложите задержку на части

Руководство web.dev по LCP выделяет время до первого байта документа, задержку начала загрузки ресурса, длительность его передачи и задержку отрисовки элемента. Для текстового элемента без отдельного ресурса некоторые части имеют иной вклад. Разложение помогает выбрать действие вместо случайного выполнения всех советов инструмента.

Разложите задержку на части — сравнение
НаблюдениеВозможная область проверкиПример следующего шага
Поздно приходит HTMLСервер, сеть, перенаправленияСверить ответ и серверное время
Ресурс запрашивается поздноОбнаружение и приоритетПроверить, где появляется ссылка
Долго передаётся файлРазмер и доставкаСравнить подходящие варианты
Ресурс получен, элемент скрытCSS, JavaScript, анимацияПроверить условие отображения

Не складывайте произвольные измерения из разных прогонов. Части должны относиться к одному наблюдению. Иначе можно получить неверную картину, в которой сервер кажется быстрым из кеша, а изображение — медленным из другого окружения. Сохраняйте исходный профиль рядом с выводом.

Проверьте обнаружение ресурса

Если изображение появляется только после выполнения большого скрипта или ответа дополнительного API, браузер начинает загрузку поздно. Уточните, можно ли сделать ключевое содержание доступным раньше. Приоритет и предварительная загрузка помогают только при правильном выборе ресурса. Массовое повышение приоритета всем изображениям создаёт конкуренцию вместо ясного преимущества.

Не применяйте ленивую загрузку к важному видимому изображению без проверки последствий. Для первого экрана она может задержать начало запроса. При этом изображения ниже экрана имеют другую задачу. Подробный выбор вариантов и загрузки разобран в статье об изображениях.

Проверьте задержку показа

Элемент может быть загружен, но ждать завершения JavaScript, шрифта или вступительной анимации. Посмотрите, не скрывается ли содержимое до условного состояния «всё готово». Если пользователь пришёл за текстом услуги, декоративный эффект не должен необоснованно задерживать его появление. Проверьте поведение без анимации и при уменьшенном движении.

Большой объём работы на главном потоке также способен мешать показу. Сначала найдите конкретную задачу и её необходимость до первого чтения. Не удаляйте код вслепую ради меньшего размера файла. Изменение должно сохранять нужный сценарий и проверяться на тех же страницах, где обнаружена задержка.

Отделите серверную часть

Если значительная доля времени уходит до получения документа, оптимизация картинки не устранит первичную задержку. Сверьте сеть, цепочки переходов, кеш и выполнение приложения. Диагностика сервера и интерфейса помогает не объявлять любой высокий TTFB медленной базой без доказательств. Время браузера включает больше, чем один запрос к хранилищу.

Проверяйте первый и повторный визит отдельно. Тёплый кеш может скрывать проблему нового посетителя, а полностью очищенный лабораторный прогон — не описывать всех реальных пользователей. Оба наблюдения полезны, если их условия видны. Не выбирайте только лучший результат из серии.

Учебный пример тяжёлого первого экрана

Условная страница показывает крупную иллюстрацию после завершения клиентской загрузки данных. Файл уже оптимизирован, но запрос начинается поздно. Команда делает нужный ресурс обнаруживаемым раньше и убирает необязательное скрытие содержимого. Затем повторяет несколько сопоставимых прогонов и проверяет функциональность блока.

Если после изменения улучшилась передача, но осталось ожидание отрисовки, задача ещё не полностью решена. В отчёте показывают вклад частей и фактическое изменение, а не только новый общий балл. Пример объясняет диагностику и не заявляет измеренный результат Webexlab.

Критерий полезного исправления

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

Почему сжатие изображения может не улучшить LCP

Если браузер поздно узнаёт адрес изображения или элемент скрыт до завершения JavaScript, уменьшение файла затронет только часть задержки. Найдите фактический LCP-элемент и разложите время на ответ сервера, ожидание ресурса, загрузку и показ.

Проверьте, не применяется ли отложенная загрузка к важному изображению первого экрана. Приоритеты назначайте по измерению, а не всем картинкам одновременно. Для текстового LCP причина может быть связана со шрифтом и отрисовкой. Руководство web.dev по LCP показывает такой разбор. После изменения сравните сопоставимые прогоны и визуальное качество: выигрыш в байтах не полезен, если значимое содержание стало размытым или появилось позже.

Термины из материала

Источники и документация

У каждого документа указана дата последней проверки. Состав функций и интерфейсы сервисов могут меняться. Ссылки открываются в новой вкладке.

Следующий шаг

Применить к вашему проекту

Найдём причину задержки первого экрана и проверим улучшение на характерных страницах и устройствах.

Обсудить задачу
Все материалы блога