
На сторінці
- Чому продуктивність сайту важливіша, ніж будь-коли
- Core Web Vitals: три метрики, що визначають швидкість
- Архітектурні рішення, що визначають або руйнують швидкість
- Серверний рендеринг і статична генерація
- Оптимізація зображень: найбільший швидкий виграш
- JavaScript: тихий вбивця продуктивності
- CDN, кешування та edge-доставка
- Завантаження шрифтів і стратегія CSS
- Бюджети продуктивності та безперервний моніторинг
- Мобільна продуктивність — окремий виклик
- Вбудовування продуктивності в процес розробки
- Перестаньте ставитися до продуктивності як до другорядного завдання
Побудова високопродуктивного сайту — це не про те, щоб насипати плагін кешування зверху на готовий проєкт і сподіватися на краще. Це архітектурне рішення, що потрібно приймати ще до написання першого рядка коду. І все ж більшість команд ставиться до швидкості як до чогось, що потрібно виправити пізніше — після фіналізації дизайну, після завантаження контенту, після того, як клієнт починає скаржитися на показник відмов.
Реальність така: затримка завантаження сторінки на одну секунду може знизити конверсії до 20%. Сайти, що завантажуються за одну секунду, конвертують у 3 рази краще за сайти, що завантажуються за п'ять секунд. Це не гіпотетичні цифри — вони взяті з реальних досліджень Cloudflare і Portent. Продуктивність — це дохід. І якщо ваш партнер з веб-розробки не вбудовує її в кожен етап проєкту — ви залишаєте гроші на столі.

Чому продуктивність сайту важливіша, ніж будь-коли
Почнемо з цифр, бо вони розповідають історію, яку важко ігнорувати. Як ми розглядали в нашому посібнику про те, як поганий UX руйнує SEO і конверсії, проблеми з продуктивністю часто є замаскованими UX-проблемами — і Google вимірює обидві.
Google використовує швидкість сторінки як сигнал ранжування з 2010 року, але впровадження Core Web Vitals у 2021-му зробило це явним: якщо ваш сайт повільний — ви ранжуєтеся нижче. Крапка. У 2026 році, із повною заміною FID на INP (Interaction to Next Paint) як основну метрику, планка піднялася ще вище.
Але рейтинги SEO — лише частина картини. Розгляньте, що відбувається на боці користувача:
- 53% мобільних відвідувачів ідуть, якщо сторінка завантажується більше 3 секунд.
- Затримка у 2 секунди збільшує показник відмов на 103%.
- 79% онлайн-покупців, що мають поганий досвід продуктивності, кажуть, що не повернуться на цей сайт.
- B2B-сайти, що завантажуються за 1 секунду, конвертують у 5 разів краще за сайти, що завантажуються за 10 секунд.
Патерн зрозумілий. Швидкість — не технічна розкіш: це бізнес-метрика. Кожні сто мілісекунд, що ви зрізаєте з часу завантаження, безпосередньо перетворюються на залучення, ліди та продажі.
І ось що мене дратує як розробника: більшість проблем продуктивності, що я бачу на клієнтських сайтах, цілком уникаються. Вони випливають з поганих архітектурних рішень, прийнятих на початку проєкту, а не з нерозв'язних технічних обмежень.
Core Web Vitals: три метрики, що визначають швидкість
Якщо ви збираєтеся будувати швидкий сайт — потрібно говорити мовою вимірювання продуктивності. Core Web Vitals від Google дають нам три конкретних, вимірюваних цілі:
Largest Contentful Paint (LCP) — ціль: менш 2,5 секунди
LCP вимірює, скільки часу займає рендеринг найбільшого видимого елемента на сторінці. Зазвичай це зображення героя, блок заголовка або мініатюра відео. Саме це користувачі сприймають як «сторінка завантажилася». Повільний LCP часто вказує на неоптимізовані зображення, повільні відповіді сервера або ресурси, що блокують рендеринг.
Interaction to Next Paint (INP) — ціль: менш 200 мілісекунд
INP замінив First Input Delay у березні 2024 і вимірює чуйність сторінки на взаємодії користувача протягом усієї сесії — а не лише перший клік. Якщо ваш сайт відчувається млявим, коли хтось натискає кнопку або відкриває випадний список — у вас проблема INP. Зазвичай винні важкий JavaScript і великі DOM-дерева.
Cumulative Layout Shift (CLS) — ціль: менш 0,1
CLS відстежує несподіваний візуальний рух на сторінці. Ви коли-небудь намагалися натиснути на посилання на мобільному, а реклама завантажилась і зсунула контент вниз? Це layout shift. Спричиняється зображеннями без розмірів, динамічно впровадженим контентом і веб-шрифтами, що підставляються після початкового рендерингу.
Ці три метрики дають вам чіткий фреймворк. Замість розмитого прагнення до «швидкого сайту» ви цілитеся в конкретні вимірювані цифри, що Google використовує для оцінки ваших сторінок. Кожне архітектурне та оптимізаційне рішення повинно проходити через ці метрики. Якщо ви хочете зрозуміти, як відстежувати та інтерпретувати ці оцінки в рамках ширшої практики вимірювання UX — наш посібник з UX-метрик, що реально рухають бізнес-результати, охоплює Core Web Vitals разом з повним набором індикаторів, що варто моніторити.

Архітектурні рішення, що визначають або руйнують швидкість
Ось де більшість проєктів іде не так. Команда обирає технологічний стек на основі популярності або знайомості, додає конструктор сторінок або важку CMS, накладає плагіни і сторонні скрипти — а потім дивується, чому PageSpeed Insights показує оцінку 47.
Продуктивність починається на рівні архітектури. Вибори, що ви робите щодо стратегії рендерингу, хостингової інфраструктури та організації коду, визначають вашу стелю продуктивності — максимальну швидкість, якої ваш сайт взагалі може досягти, скільки б оптимізацій ви не робили пізніше.
Кілька питань, що варто задати до початку розробки:
- Як будуть рендеруватися сторінки? Клієнтський рендеринг, серверний рендеринг, статична генерація або гібридний підхід? Кожен має різний профіль продуктивності.
- Яке середовище хостингу? Спільний хостинг, VPS, серверлес-функції або edge-обчислення? Час відповіді вашого сервера (Time to First Byte) встановлює базову лінію для всього іншого.
- Скільки JavaScript фреймворк відправляє за замовчуванням? Деякі фреймворки надсилають 200 КБ+ JavaScript до того, як ви написали хоч один компонент.
- Чи може сайт обслуговувати статичні активи з CDN? Edge-кешування може повністю усунути зворотні запити до сервера для більшості завантажень сторінок.
Правильні відповіді залежать від конкретних потреб вашого проєкту. Корпоративний сайт з переважно статичним контентом має зовсім інші вимоги, ніж динамічний веб-портал з даними в реальному часі. Але принцип той самий: робіть продуктивність першокласним дизайнерським обмеженням, а не галочкою в останній момент.
Серверний рендеринг і статична генерація
У 2026 році світ веб-розробки в основному вирішив дискусію про рендеринг. Server-first — це стандарт, і на то є вагомі підстави.
При серверному рендерингу (SSR) сервер надсилає браузеру повністю сформовану HTML-сторінку. Користувач бачить контент майже одразу, без очікування завантаження, парсингу та виконання JavaScript. Це величезний виграш для LCP — найбільший елемент контенту вже є в HTML при надходженні сторінки.
Статична генерація (SSG) іде ще далі. Сторінки попередньо будуються під час деплою і подаються як прості HTML-файли з CDN. Жодної обробки на сервері, жодних запитів до бази даних, жодних API-запитів під час запиту. Результат? Time to First Byte, що вимірюється двозначним числом мілісекунд.
Фреймворки на кшталт Next.js, Astro та Nuxt дають вам детальний контроль тут. Ви можете статично генерувати маркетингові сторінки, серверно рендерити динамічний дашборд і рендерити на клієнті лише інтерактивні віджети, що дійсно цього потребують. Цей гібридний підхід — іноді його називають «острівна архітектура» — це те, як ви отримуєте найкраще від кожної стратегії рендерингу без компромісів.
Ключовий інсайт: не рендеруйте на клієнті те, що можете рендерити на сервері. Кожна частина контенту, що надходить у вигляді готового до відображення HTML, завантажується миттєво незалежно від потужності пристрою користувача або швидкості мережі.
Бенчмарк продуктивності
Кастомно побудовані сайти з використанням сучасних фреймворків, таких як Next.js або Astro, як правило, набирають 90-100 балів на PageSpeed Insights, порівняно з 50-70 для збірок на основі шаблонних CMS. Різниця — не в налаштуваннях: це архітектура. Коли продуктивність проектується у фундамент, оптимізація стає інкрементальною, а не героїчною.
Оптимізація зображень: найбільший швидкий виграш
Зображення складають приблизно 50% загальної ваги більшості веб-сторінок. Якщо ви робите лише одну оптимізацію продуктивності — нехай це буде вона.
Ось чекліст, якому ми слідуємо в кожному проєкті у Vezert:
Використовуйте сучасні формати. WebP забезпечує файли на 25-35% менші за JPEG еквівалентної якості. AVIF може досягти 50%. Обидва мають відмінну підтримку браузерами у 2026 році.
Подавайте адаптивні зображення. Не надсилайте зображення героя розміром 2400px на телефон з екраном 390px. Використовуйте атрибути srcset і sizes (або компонент зображення вашого фреймворку) для подачі правильної роздільної здатності для кожного пристрою.
Lazy load зображень нижче лінії видимості. Атрибут loading="lazy" каже браузеру відкладати завантаження зображень, що ще не видимі. Це безпосередньо покращує LCP, пріоритизуючи те, що користувач реально бачить першим.
Встановлюйте явні ширину і висоту. Без розмірів браузер не знає, скільки місця зарезервувати для зображення. Коли зображення завантажується — все нижче зсувається, і ваш показник CLS падає.
Попередньо завантажуйте LCP-зображення. Якщо ваше зображення героя є найбільшим елементом Largest Contentful Paint — додайте тег <link rel="preload">, щоб браузер починав його завантажувати негайно, ще до парсингу CSS.
Використовуйте CDN з автоматичною оптимізацією. Такі сервіси, як Cloudflare, Vercel або Imgix, можуть змінювати розмір, стискати та конвертувати зображення «на льоту» залежно від запитуючого пристрою. Один завантаженний файл — нескінченна кількість оптимізованих версій.
Я бачив сайти, що зрізали загальну вагу сторінки на 60-70% лише завдяки правильній обробці зображень. Це не маргінальне покращення — це трансформація.
JavaScript: тихий вбивця продуктивності
JavaScript — найдорожчий ресурс у вебі в розрахунку на байт. На відміну від зображення, яке лише потрібно декодувати й намалювати, JavaScript потрібно завантажити, спарсити, скомпілювати та виконати. На телефоні Android середнього класу (саме такий телефон має більшість ваших користувачів) парсинг 200 КБ JavaScript може зайняти більше секунди.
Ось як ми тримаємо JavaScript під контролем:
Розбиття коду. Відправляйте лише JavaScript, що потрібен для поточної сторінки. Сучасні бандлери (Webpack, Turbopack, Vite) можуть автоматично розбивати ваш код на менші частини, що завантажуються за запитом.
Tree shaking. Переконайтеся, що ваш бандлер видаляє невикористаний код. Якщо ви імпортуєте одну функцію з бібліотеки утиліт — не повинна відправлятися вся бібліотека.
Відкладайте сторонні скрипти. Аналітика, чат-віджети, теплові карти, менеджери тегів — ці скрипти часто додають 300-500 КБ JavaScript. Завантажуйте їх після того, як основний контент стане інтерактивним, а не до.
Аудитуйте залежності. Та бібліотека анімацій, що ви додали для одного ефекту наведення? Вона може додавати 80 КБ до вашого бандлу. Майже завжди є легша альтернатива, або анімацію можна написати в CSS.
Розумно використовуйте атрибути async і defer. Скрипти в <head> без цих атрибутів повністю блокують рендеринг. Позначайте їх правильно або переміщуйте в кінець тіла документа.
Практична ціль: тримайте загальний JavaScript під 150 КБ (стиснутим) для вашого критичного шляху рендерингу. Цього достатньо для фреймворку, маршрутизації та базової інтерактивності — без погіршення показника INP.
CDN, кешування та edge-доставка
Ваш сервер може знаходитися у Вірджинії. Ваш користувач може бути в Токіо. Ця фізична відстань додає 150-300 мс затримки до кожного запиту — і це ще до того, як сервер починає обробляти сторінку.
Content Delivery Network (CDN) вирішує це, кешуючи ваш контент на серверах по всьому світу. Коли користувач із Токіо запитує вашу сторінку — він отримує її з сервера в Токіо, а не у Вірджинії. Затримка падає до однозначного числа мілісекунд.
Але CDN настільки хороші, наскільки хороша ваша стратегія кешування. Ось що ми рекомендуємо:
Агресивно кешуйте статичні активи. CSS, JavaScript, зображення та шрифти не змінюються між деплоями. Встановлюйте Cache-Control: max-age=31536000, immutable і використовуйте імена файлів з хешами вмісту, щоб кеш автоматично скидався при зміні файлів.
Кешуйте HTML-сторінки на edge де можливо. Для сторінок, що не змінюються між запитами (маркетингові сторінки, блог-статті, списки продуктів) — edge-кешування повністю усуває сервер. Такі інструменти, як Vercel, Netlify і Cloudflare Pages, роблять це за замовчуванням для статичного контенту.
Використовуйте stale-while-revalidate для напівдинамічного контенту. Цей патерн одразу обслуговує кешовану версію, поки у фоні завантажує нову копію. Користувачі отримують миттєві відповіді, і контент залишається достатньо свіжим.
Свідомо ставтеся до того, що ви НЕ кешуєте. Персоналізований контент, авторизовані сторінки та дані в реальному часі не повинні кешуватися на edge. Тримайте ці запити на своєму origin-сервері або серверлес-функціях.
Edge-обчислення іде далі — виконує логіку сервера в CDN-локаціях, а не на центральному сервері. Для лендингу, що повинен обслуговувати різний контент залежно від місцезнаходження або варіантів A/B-тесту, edge-функції дають вам і персоналізацію, і швидкість.
Потрібен сайт, що працює продуктивно?
Vezert будує сайти з пріоритетом продуктивності, використовуючи сучасні фреймворки, серверний рендеринг та edge-доставку. Ми не латаємо проблеми зі швидкістю — ми запобігаємо їм.
Поговорити з нашою командоюЗавантаження шрифтів і стратегія CSS
Кастомні веб-шрифти — одна з найхитріших проблем продуктивності. Одна шрифтова родина з кількома насиченостями може додати 200-400 КБ до вашої сторінки. Ще гірше: спосіб завантаження шрифтів може спричиняти зсуви макету і невидимий текст — обидва шкодять вашим Core Web Vitals.
Ось підхід, що працює:
Обмежуйте шрифтові родини та насиченості. Дві шрифтові родини з двома насиченостями кожна зазвичай достатньо. Кожна додаткова насиченість додає ще один HTTP-запит і 20-50 КБ даних.
Використовуйте font-display: swap. Це каже браузеру одразу показувати текст запасним шрифтом, а потім підставляти кастомний шрифт, коли він готовий. Користувачі швидше бачать контент, навіть якщо є короткий спалах іншої типографіки.
Попередньо завантажуйте основний шрифт. Додайте <link rel="preload" as="font" crossorigin> для файлу шрифту, що використовується у вашому герой-блоці та основних заголовках. Це каже браузеру завантажити його рано.
Самостійно хостите свої шрифти. Завантаження шрифтів з Google Fonts потребує DNS-пошуку, з'єднання з fonts.googleapis.com і потім з'єднання з fonts.gstatic.com. Самостійний хостинг усуває ці додаткові зворотні поїздки.
Використовуйте варіативні шрифти де можливо. Один файл варіативного шрифту може замінити кілька файлів насиченостей, зменшуючи запити та загальний розмір файлів на 50-70%.
Для CSS застосовуються ті самі принципи: відправляйте менше, відправляйте швидше. Вбудовуйте критичний CSS (стилі, потрібні для вмісту вище лінії видимості) безпосередньо в <head>, а решту відкладайте. Сучасні фреймворки роблять це автоматично, але варто перевіряти у production-збірках.
Бюджети продуктивності та безперервний моніторинг
Побудувати швидкий сайт — одна річ. Тримати його швидким — інша.
Продуктивність деградує поступово. Новий скрипт відстеження тут, важче зображення там, погано оптимізований компонент, що проскочив крізь code review. Без активного моніторингу ваш ретельно оптимізований сайт може втратити 20-30 балів PageSpeed за кілька місяців.
Бюджети продуктивності встановлюють жорсткі обмеження на ключові метрики:
- Загальна вага сторінки: менш 1,5 МБ
- Бандл JavaScript: менш 150 КБ (стиснутим)
- LCP: менш 2,5 секунди
- INP: менш 200 мс
- CLS: менш 0,1
- Time to First Byte: менш 200 мс
Ці бюджети повинні виконуватися автоматично. Інтегруйте Lighthouse CI у ваш pipeline деплою, щоб кожен pull request отримував оцінку продуктивності. Якщо оцінка падає нижче порогу — деплой блокується.
Для моніторингу реальних користувачів (RUM) такі інструменти, як Vercel Analytics, Sentry Performance або Chrome User Experience Report (CrUX) від Google, показують, як ваш сайт працює для реальних відвідувачів — а не лише в лабораторних умовах. Лабораторні тести запускаються на швидкому залізі зі швидким з'єднанням. Ваші користувачі — на 4G-телефоні в сільській місцевості. Дані RUM показують вам правду.
Налаштуйте оповіщення про регресії Core Web Vitals. Чим раніше ви виявите проблему з продуктивністю — тим легше її виправити.
Мобільна продуктивність — окремий виклик
Ось помилка, яку роблять багато команд: вони тестують продуктивність на MacBook Pro з гігабітним з'єднанням і вважають роботу виконаною. Але понад 60% веб-трафіку надходить з мобільних пристроїв, а мобільна продуктивність — принципово інша проблема.
Мобільні пристрої мають повільніші CPU, менше пам'яті й часто працюють на нестабільних 4G або навіть 3G з'єднаннях. Бандл JavaScript, що парситься за 200 мс на вашій машині розробника, може зайняти 1,5 секунди на Samsung-телефоні середнього класу.
Як насправді виглядає продуктивність «мобільний насамперед»?
- Тестуйте на реальних пристроях. Обмеження в Chrome DevTools є корисним наближенням, але ніщо не замінює тестування на реальному Android-телефоні за $200. Різниця вражає.
- Цілі натискань мають значення. Стандарти WCAG 2.2 від Google рекомендують мінімальні цілі натискання 24×24px. Тісні кнопки не лише шкодять зручності — вони спричиняють випадкові натискання, що запускають непотрібні ре-рендери і шкодять INP.
- Агресивно знижуйте JavaScript на мобільному. Розгляньте можливість подачі спрощеної версії інтерактивних компонентів мобільним користувачам або повного відкладення некритичної інтерактивності.
- Оптимізуйте для змінних умов мережі. Service workers можуть кешувати критичні активи для офлайн-сценаріїв або поганого з'єднання. Адаптивні зображення стають ще більш критичними при обмеженій пропускній здатності.
Оцінка продуктивності Google є mobile-first. Ваш показник PageSpeed, ваш рейтинг у пошуку, ваша оцінка Core Web Vitals — все це базується на мобільному досвіді. Якщо ваш десктопний сайт набирає 95, а мобільний — 60, Google бачить 60.
Не довіряйте десктопним оцінкам
Google оцінює продуктивність вашого сайту, використовуючи mobile-first індексацію. Оцінка PageSpeed на десктопі 95 нічого не означає, якщо ваша мобільна оцінка — 60. Завжди оптимізуйте насамперед для мобільного, а потім перевіряйте, що продуктивність десктопу не деградувала. Мобільна оцінка — та, що впливає на ваші рейтинги.
Вбудовування продуктивності в процес розробки
Команди, що стабільно постачають швидкі сайти, не ставляться до продуктивності як до окремого потоку робіт. Вона вплетена в кожну фазу проєкту.
Під час дискавері та планування:
- Визначайте бюджети продуктивності на основі бенчмарків конкурентів та бізнес-цілей.
- Обирайте технологічний стек з характеристиками продуктивності, що відповідають вашим вимогам.
- Складайте карту критичного шляху рендерингу для ключових лендингів.
Під час дизайну:
- Обмежуйте кількість унікальних насиченостей шрифтів та кастомних анімацій.
- Проектуйте з реальними розмірами контенту, щоб зображення були правильно розміровані з самого початку.
- Плануйте прогресивне завантаження — що користувачі повинні бачити першим, другим, третім?
Під час розробки:
- Запускайте Lighthouse на кожному pull request.
- Тримайте сторонні скрипти в окремому, перевіреному списку.
- Використовуйте нативні функції продуктивності фреймворку (Next.js Image, автоматичне розбиття коду тощо).
Після запуску:
- Щотижня моніторте дані продуктивності реальних користувачів.
- Проводьте щоквартальні аудити продуктивності відносно ваших бюджетів.
- Ставтеся до регресій продуктивності як до багів — виправляйте негайно.
Так ми підходимо до кожного проєкту у Vezert, чи то UX/UI-оновлення дизайну, чи то повне перебудовування. Продуктивність — це не фаза. Це дисципліна.
Перестаньте ставитися до продуктивності як до другорядного завдання
Високопродуктивний сайт — не розкіш. Це базове очікування для будь-якого бізнесу, що серйозно ставиться до своєї онлайн-присутності.
Техніки не є секретом: серверний рендеринг для швидкого початкового завантаження, оптимізація зображень для легших сторінок, дисциплінований менеджмент JavaScript для швидких взаємодій, edge-доставка для глобальної швидкості та безперервний моніторинг, щоб утримати все від деградації.
Те, що відрізняє сайти з оцінкою 95+ від решти — не якийсь один трюк. Це зобов'язання розглядати продуктивність як ключову вимогу з першого дня — в архітектурі, в дизайні, в кожному pull request та в постійному обслуговуванні.
Якщо ваш поточний сайт з трудом проходить Core Web Vitals, або якщо ви плануєте нову збірку і хочете переконатися, що продуктивність вбудована у фундамент — зверніться до нашої команди. Ми покажемо вам точно, де знаходяться вузькі місця і як їх усунути — або збудуємо правильно з самого початку.
Побудуйте сайт, що завантажується менш ніж за 2 секунди
Від планування архітектури до моніторингу після запуску — Vezert постачає сайти, спроектовані для швидкості, конверсії та довгострокової продуктивності.
Розпочати проєкт
На сторінці
- Чому продуктивність сайту важливіша, ніж будь-коли
- Core Web Vitals: три метрики, що визначають швидкість
- Архітектурні рішення, що визначають або руйнують швидкість
- Серверний рендеринг і статична генерація
- Оптимізація зображень: найбільший швидкий виграш
- JavaScript: тихий вбивця продуктивності
- CDN, кешування та edge-доставка
- Завантаження шрифтів і стратегія CSS
- Бюджети продуктивності та безперервний моніторинг
- Мобільна продуктивність — окремий виклик
- Вбудовування продуктивності в процес розробки
- Перестаньте ставитися до продуктивності як до другорядного завдання



