Задать вопрос
dkpage
@dkpage
Учусь

Какой вид рендеринга лучше использовать для SEO интернет магазина и блога на NextJS?

Писал много различных SPA приложений (CRM) на React и не особо задумывался про SEO.
Сейчас начал погружаться в разработку интернет магазинов, блогов и тд тп на NextJS, где требуется SEO.
Начал гуглить SSR и узнал о существовании еще много других видов рендерингов такие как: RSC, SSG, ISR.
И мнение о применении какого-либо вида рендеринга разняться. Здесь лучше этот, а здесь лучше этот, а нет тут лучше будет этот и тд тп. Крч больше ввели в заблуждение.
Если брать интернет магазин и блог на NextJS, то какой вид рендеринга будет правильней использовать для SEO?
  • Вопрос задан
  • 107 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Вайбкодинг: максимальная версия
    3 месяца
    Далее
  • Учебный центр IBS
    WEB-023 React Advanced: продвинутые темы
    1 неделя
    Далее
  • Яндекс Практикум
    Вайбкодинг: расширенная версия
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 2
Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting
Если брать интернет магазин и блог на NextJS, то какой вид рендеринга будет правильней использовать для SEO?

Классический ssr + кэширование.
Ответ написан
Комментировать
Staurus
@Staurus
Специалист по Интернет-маркетингу
Правильный ответ: не выбирать один режим для всего сайта.

Для интернет-магазина и блога на NextJS лучше такая схема:

Тип страницы Лучший вариант Почему
Статьи блога SSG / ISR Быстро, стабильно, SEO-контент сразу в HTML
Главная SSG / ISR Меняется нечасто, хорошо кэшируется
Категории товаров ISR Категории нужны в индексе, но ассортимент может обновляться
Карточки товаров ISR + on-demand revalidate Страница быстрая, но можно обновлять после изменения цены/остатка
Фильтры каталога избирательно ISR / SSR, остальное noindex Не все фильтры нужны в индексе
Поиск по сайту SSR или CSR + noindex Обычно не нужен в индексе
Корзина, кабинет, избранное CSR SEO там не нужен
CRM/admin-зоны CSR Это не индексируемые страницы
Главная рекомендация

Для SEO-страниц интернет-магазина и блога:

используйте Server Components + SSG/ISR как базовый вариант. SSR — только там, где данные должны быть свежими на каждый запрос. CSR — только для интерактива и личных зон.

В App Router у Next.js Server Components используются как базовая модель, а маршруты рендерятся на сервере по умолчанию. Это хорошо для SEO, потому что важный контент можно отдавать без ожидания клиентского JavaScript.

Почему не чистый SPA / CSR

Для SEO плохо, когда товар, текст статьи, H1, Title, Description, хлебные крошки, ссылки и schema.org появляются только после выполнения JS в браузере.

Google умеет обрабатывать JavaScript, но процесс идёт через этапы crawling → rendering → indexing, то есть рендеринг JS — отдельный этап. Чем больше SEO-контента зависит от клиента, тем выше риск задержек и проблем с индексацией.

Когда использовать SSG

SSG хорошо подходит для страниц, которые редко меняются:

статьи блога;
лендинги;
страницы услуг;
статичные SEO-страницы;
страницы брендов;
информационные разделы.

Плюс: максимальная скорость.
Минус: если страниц много и они часто обновляются, полный rebuild может стать неудобным.

Когда использовать ISR

ISR — лучший основной вариант для SEO-магазина.

Он позволяет держать страницы статическими и быстрыми, но обновлять их без полной пересборки сайта. Next.js прямо описывает ISR как способ обновлять статический контент без rebuild всего сайта, снижать нагрузку на сервер и работать с большим количеством страниц.

Используйте ISR для:

карточек товаров;
категорий;
брендов;
SEO-фильтров;
блога, если статьи могут обновляться;
страниц подборок: /laptops/dell/, /krossovki/nike/, /blog/seo/.

Примерно так:

export const revalidate = 3600;

То есть страница может обновляться раз в час.

Для товаров лучше делать не просто revalidate, а on-demand revalidation после изменения товара в CMS/админке.

Когда использовать SSR

SSR нужен не для “лучшего SEO”, а для свежести данных.

Используйте SSR, если на странице критично показывать актуальные данные прямо на каждый запрос:

цена зависит от региона;
остатки должны быть точными;
контент персонализирован;
выдача зависит от cookies/session;
A/B или geo-логика меняют основной контент.

Минус SSR: HTML генерируется на каждый запрос, поэтому такая страница обычно тяжелее для сервера и хуже кэшируется, чем SSG/ISR. В документации Next.js SSR описан именно как генерация HTML на каждый запрос.

Что такое RSC в этой схеме

RSC — это не замена SSR/SSG/ISR.

React Server Components — это способ писать компоненты, которые выполняются на сервере. А вот будет страница статической, динамической или с ревалидацией — это уже вопрос кэширования и data fetching.

Проще:

RSC — где выполняется компонент;
SSG/ISR/SSR — как и когда генерируется страница;
CSR — что дорисовывается в браузере.
Практическая схема для магазина

Я бы делал так:

/ → ISR
/catalog/ → ISR
/catalog/category-slug/ → ISR
/product/product-slug/ → ISR + on-demand revalidate
/blog/ → ISR или SSG
/blog/article-slug/ → SSG / ISR
/search/ → SSR или CSR + noindex
/cart/ → CSR + noindex
/account/ → CSR + noindex
/checkout/ → CSR/SSR + noindex
Важное SEO-правило

Для всех индексируемых страниц в первом HTML должны быть:

title;
meta description;
canonical;
H1;
основной текст;
цена/название/описание товара;
хлебные крошки;
внутренние ссылки;
schema.org;
пагинация или ссылки на товары.

Не надо делать так, чтобы Google сначала видел пустой шаблон, а потом ждал JS.

Итог

Для блога:
SSG или ISR.

Для интернет-магазина:
ISR как база, SSR только для реально динамических страниц, CSR только для личных и интерактивных частей.

Самая безопасная SEO-архитектура на NextJS:

SEO-контент → Server Components + SSG/ISR
Свежие данные → SSR только где нужно
Интерактив → Client Components
Личный кабинет/корзина → CSR + noindex

Не надо выбирать “SSR против SSG”. Для нормального магазина почти всегда нужна гибридная схема.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы