Реалізація 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 Наведення 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
  • Мутуючі побічні ефекти — сторінки, що списують гроші або відправляють листи при завантаженні, не повинні бути prerender
  • Ліміт — браузер обмежує кількість одночасних prerender (зазвичай 2 сторінки)

Перевірка

Chrome DevTools → Application → Speculation Rules показує статус кожного правила. document.prerendering — true, якщо сторінка зараз спекулятивно рендериться.

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

Тривалість

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