Що таке SSG і коли він використовується?
SSG (Static Site Generation) - це підхід, при якому сторінки генеруються заздалегідь на етапі білда і віддаються користувачу як готові HTML-файли.
Простіше:
білд -> готовий HTML -> миттєве завантаження
Як працює SSG
На прикладі Next.js:
- Під час
next build - Next.js виконує React-код
- Генерує HTML для сторінок
- Складає їх як статичні файли
- CDN роздає їх користувачам
Чим SSG відрізняється від SSR
| Критерій | SSG | SSR |
|---|---|---|
| Коли рендер | На білді | На кожен запит |
| Швидкість | Максимальна | Швидко, але повільніше |
| Навантаження на сервер | Немає | Є |
| SEO | Відмінне | Відмінне |
| Персоналізація | Немає | Так |
Навіщо потрібен SSG
1. Максимальна швидкість
- HTML вже готовий
- віддається з CDN
- мінімальний TTFB
2. Мінімальна інфраструктура
- не потрібен сервер
- немає обчислень на запит
- дешевий хостинг
3. Відмінно для SEO
- весь контент доступний одразу
- стабільно індексується
Коли використовувати SSG
- лендинги
- блоги
- документація
- маркетингові сторінки
- довідники
- сторінки «Про компанію»
Контент рідко змінюється і однаковий для всіх.
Коли SSG НЕ підходить
- персоналізовані дані
- дані залежать від cookies / auth
- часті зміни контенту (без ISR)
SSG у Next.js
SSG вмикається автоматично, якщо:
- сторінка не використовує динамічні дані
- використовується
fetch()безcache: 'no-store' - немає залежності від запиту
Також часто використовується разом з ISR (оновлення без ребілда).
Коротка відповідь для співбесіди
SSG - це генерація HTML-сторінок на етапі білда. Використовується для швидкого, SEO-дружнього контенту, який рідко змінюється й однаковий для всіх користувачів.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.