Реализация Speculative Loading (Speculation Rules API) для сайта

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

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

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

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Реализация Speculative Loading (Speculation Rules API) для сайта
Средняя
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы

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

Этапы разработки

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

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

Реализация Speculative Loading (Speculation Rules API) для сайта

Speculation Rules API — браузерный механизм для prefetch и prerender страниц до того, как пользователь кликнул по ссылке. Позволяет добиться мгновенной навигации на поддерживаемых браузерах.

Отличие от классического prefetch

Классический <link rel="prefetch"> загружает HTML документ в кэш. Prerender через Speculation Rules идёт дальше — браузер фактически рендерит страницу в скрытой вкладке, включая выполнение JS, загрузку субресурсов, построение дерева DOM. При переходе пользователь видит уже готовую страницу.

Поддержка: Chrome 109+, Edge 109+. Firefox и Safari — только prefetch без prerender.

Базовая конфигурация

<script type="speculationrules">
{
  "prerender": [
    {
      "where": { "href_matches": "/product/*" },
      "eagerness": "moderate"
    }
  ],
  "prefetch": [
    {
      "where": { "href_matches": "/*" },
      "eagerness": "conservative"
    }
  ]
}
</script>

Уровни eagerness

Значение Триггер Использование
immediate Сразу при парсинге Высокоприоритетные страницы
eager Малейшее взаимодействие Основные CTA
moderate Hover 200ms Навигация
conservative Mousedown/touchstart Все внутренние ссылки

Document Rules vs List Rules

List Rules — явный список URL:

{
  "prerender": [
    { "urls": ["/checkout", "/cart"] }
  ]
}

Document Rules — правила на основе href паттернов:

{
  "prefetch": [
    {
      "where": {
        "and": [
          { "href_matches": "/*" },
          { "not": { "href_matches": "/admin/*" } },
          { "not": { "href_matches": "*.pdf" } }
        ]
      }
    }
  ]
}

Динамическое управление через JS

// Программное добавление правил спекулятивной загрузки
const script = document.createElement('script')
script.type = 'speculationrules'
script.text = JSON.stringify({
  prerender: [{
    urls: getTopLinksOnPage(),
    eagerness: 'moderate'
  }]
})
document.head.appendChild(script)

Ограничения и что учесть

  • Серверная аналитика — prerender инициирует настоящий HTTP-запрос. GA4 и Plausible корректно обрабатывают это через Activation API (страница становится активной только при реальном переходе), но серверные счётчики могут раздуться
  • Авторизованные запросы — prerender не работает для страниц с Cache-Control: no-store
  • Мутирующие side-эффекты — страницы, которые списывают деньги или отправляют письма при загрузке, не должны попадать в prerender
  • Лимит — браузер ограничивает количество одновременных prerender (обычно 2 страницы)

Проверка работы

Chrome DevTools → Application → Speculation Rules показывает статус каждого правила. document.prerendering — true если страница сейчас рендерится спекулятивно.

document.addEventListener('prerenderingchange', () => {
  if (!document.prerendering) {
    // страница активирована — можно инициализировать аналитику
    initAnalytics()
  }
})

Срок выполнения

Базовая настройка для статического сайта — 1 день. Интеграция с динамическими правилами и учёт аналитики — 2–3 дня.