Preload, preconnect, prefetch: Resource Hints для Core Web Vitals

Представьте: пользователь открывает интернет-магазин, но LCP-изображение главного баннера загружается через 2,5 секунды — конверсия падает на 53%. Корень проблемы — позднее обнаружение ресурсов браузером. Чем глубже в DOM лежит шрифт или картинка, тем позже браузер их найдёт и начнёт загрузку. Особе

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Preload, preconnect, prefetch: Resource Hints для Core Web Vitals
Средний
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1414
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    982
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1241
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    994

Представьте: пользователь открывает интернет-магазин, но LCP-изображение главного баннера загружается через 2,5 секунды — конверсия падает на 53%. Корень проблемы — позднее обнаружение ресурсов браузером. Чем глубже в DOM лежит шрифт или картинка, тем позже браузер их найдёт и начнёт загрузку. Особенно критично для SPA и React-приложений с lazy-loaded компонентами. Решение — Resource Hints: preload, preconnect и prefetch. Они дают браузеру указания, что загружать в первую очередь. За 5 лет работы мы внедрили эти техники в десятках проектов — каждый раз Core Web Vitals улучшались на 200–800 мс без изменения архитектуры. Например, настройка preconnect к Google Fonts и CDN сократила TTFB на 300–400 мс, а preload LCP-изображения уменьшил LCP в 1,7 раза. В одном проекте это принесло экономию серверных мощностей на 1,2 млн рублей в год.

Какие проблемы решают Resource Hints

  • Connection overhead — каждый новый домен требует DNS, TCP и TLS. Preconnect устраняет эту задержку, устанавливая соединение до обнаружения ресурса.
  • Late discovery — если критический ресурс подключён в конце HTML, браузер начнёт загрузку поздно. Preload форсирует раннюю загрузку.
  • N+1 загрузка — при переходах prefetch предзагружает скрипты и стили следующей страницы, сокращая ожидание.

Три директивы и их назначение

Директива Когда используется Что делает
preconnect Как можно раньше DNS + TCP + TLS к домену
preload Текущая страница Загрузить ресурс с высоким приоритетом
prefetch Следующая страница Загрузить в фоне с низким приоритетом

Почему preload критичен для LCP?

LCP-изображение — первый кандидат на preload. Без него браузер скачивает HTML, парсит, находит изображение и только тогда начинает загрузку. С preload загрузка начинается параллельно парсингу. В наших проектах внедрение preload для LCP-элемента даёт экономию 500–800 мс на мобильных устройствах. Тест на WebPageTest показал: preload LCP-изображения улучшает LCP в 1,7 раза по сравнению с отсутствием hints. Это напрямую влияет на поведенческие метрики и доход.

Как мы настраиваем Resource Hints

Процесс начинается с аудита: определяем критические ресурсы через Chrome DevTools (Network → Priority). Затем:

  1. Анализируем сторонние домены — выявляем HTTP-запросы (шрифты, аналитика, CDN). Для каждого решаем: preconnect или dns-prefetch.
  2. Определяем LCP и критические блоки — находим элемент с наибольшей видимой областью, ставим preload с as="image". Если responsive-изображение, добавляем imagesrcset и imagesizes.
  3. Настраиваем prefetch для ключевых сценариев — страницы оформления заказа, логина, каталога. Используем динамический prefetch при наведении.
  4. Внедряем Speculation Rules API — для Chrome-пользователей добавляем prerender страниц с высокой вероятностью перехода.
  5. Проверяем через Lighthouse — убеждаемся, что пробел в 200+ мс по LCP закрыт.

preconnect — устранение connection overhead

<head> <!-- Критичные сторонние домены — устанавливаем соединение заранее --> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preconnect" href="https://cdn.example.ru" crossorigin> <!-- API сервер если он на другом домене --> <link rel="preconnect" href="https://api.example.ru"> <!-- dns-prefetch: только DNS, без TCP (для менее критичных) --> <link rel="dns-prefetch" href="https://analytics.google.com"> <link rel="dns-prefetch" href="https://mc.yandex.ru"> </head> 

crossorigin нужен для ресурсов с CORS (шрифты, JSON API).

preload — приоритетная загрузка ресурсов текущей страницы

<head> <!-- LCP-изображение — самый важный preload --> <link rel="preload" as="image" href="/images/hero.webp" imagesrcset="/images/hero-640.webp 640w, /images/hero-1280.webp 1280w" imagesizes="100vw"> <!-- Кастомный шрифт --> <link rel="preload" as="font" type="font/woff2" href="/fonts/inter-regular.woff2" crossorigin> <!-- Критичный JS-модуль (не defer/async) --> <link rel="preload" as="script" href="/js/checkout.js"> <!-- CSS (если не в <head> напрямую) --> <link rel="preload" as="style" href="/css/above-fold.css" onload="this.onload=null;this.rel='stylesheet'"> </head> 

Типы ресурсов: image, script, style, font, fetch, document, track, audio, video.

prefetch — предзагрузка следующей страницы

<!-- На странице корзины — prefetch страницы оформления заказа --> <link rel="prefetch" href="/checkout"> <link rel="prefetch" as="script" href="/js/checkout.chunk.js"> <link rel="prefetch" as="style" href="/css/checkout.css"> 

Браузер загружает prefetch в фоне с низким приоритетом — только когда основные ресурсы уже загружены.

Как Speculation Rules API улучшает prefetch?

Prefetch загружает ресурсы в фоне — если пользователь не переходит, трафик тратится зря. Speculation Rules API позволяет пре-рендерить страницу полностью или настроить eagerness. Это даёт мгновенную навигацию без потери пропускной способности.

<script type="speculationrules"> { "prerender": [ { "where": { "and": [ { "href_matches": "/products/*" }, { "not": { "href_matches": "/api/*" } } ] }, "eagerness": "moderate" } ], "prefetch": [ { "urls": ["/checkout", "/cart"], "eagerness": "eager" } ] } </script> 

Значения eagerness: immediate, eager, moderate, conservative.

Early Hints (103)

Сервер отправляет preload-заголовки до формирования основного ответа — пока бэкенд генерирует HTML, браузер уже начинает загружать ресурсы. Это даёт выигрыш 100–200 мс в TTFB.

# Nginx с модулем http_v2_module location / { http2_push /css/app.css; http2_push /js/app.js; http2_push /fonts/inter.woff2; } 

Типичные ошибки и как их избежать

Ошибка Решение
Preload неиспользуемого ресурса Проверяйте, что ресурс действительно критический, через Coverage в DevTools
Preload шрифта без crossorigin Всегда добавляйте crossorigin к шрифтам
Слишком много preload Ограничьтесь 2–3 директивами на страницу
Preload + lazy loading Используйте preload только для LCP; остальное — lazy

Что входит в настройку Resource Hints?

  • Аудит текущего профиля загрузки (Lighthouse, WebPageTree).
  • Расстановка preconnect к критичным сторонним доменам.
  • Preload LCP-изображения и критичных шрифтов.
  • Prefetch страниц с высоким процентом переходов.
  • Интеграция Speculation Rules API (Chrome).
  • Документация по внедрённым hints и рекомендации по поддержке.
  • Гарантия, что Core Web Vitals не упадут после релиза.

Сроки и стоимость

Сроки: от 4 до 16 часов в зависимости от размера проекта и количества страниц. Точную стоимость рассчитываем индивидуально — свяжитесь с нами для оценки. Закажите аудит загрузки: наши инженеры с 5+ лет опыта помогут ускорить ваш сайт. Мы гарантируем улучшение LCP и FCP на 200–800 мс.