Решение, которое никто не принимает
Большинство сайтов наследуют стратегию рендеринга от шаблона. Это нормально, пока не важен органический трафик — а потом она незаметно решает, как быстро грузятся страницы, что видят краулеры и сколько стоит что-либо поменять.
Мы принимаем это решение явно — на этапе архитектуры, вместе со структурой URL и шаблонами контента.
Если краулеру нужно выполнить ваш JavaScript, чтобы прочитать заголовок, раунд уже проигран.
Статика, сервер или оба
Маркетинговые страницы, которые меняются раз в неделю, пререндерятся и ревалидируются. Каталоги с тысячами страниц рендерятся по запросу и кешируются на edge. Личные кабинеты остаются на клиенте и вне индекса.
// app/services/[slug]/page.tsx
export const revalidate = 3600 // hourly
export async function generateStaticParams() {
return (await cms.services()).map(s => ({ slug: s.slug }))
}Итог: HTML готов до того, как первый байт покинет сервер, а редакторы публикуют без деплоя.
Когда мы обходимся без Next.js
Сайту из пяти страниц без динамики не нужен фреймворк. Как и внутреннему инструменту, который никогда не попадёт в индекс. Мы выбираем самое лёгкое решение под задачу.
Наш базовый чек-лист
- 01HTML содержит H1 и основной контент в первом ответе
- 02У каждого шаблона задана стратегия ревалидации
- 03Изображения отдаются в AVIF с явными размерами
- 04Клиентский JS ограничен бюджетом для каждого типа страниц