Вопрос проверяет понимание рендеринга на сервере в Next.js и практик SEO: метатеги, индексируемый контент, скорость и корректная разметка.
В Next.js SSR делается через серверный рендеринг страницы: данные получаются на сервере, и клиент получает готовый HTML. Для SEO важно, чтобы ключевой контент и метаданные (title, description, canonical, OG) были отрендерены уже на сервере. В зависимости от задачи выбирают SSR, SSG или ISR, чтобы балансировать свежесть данных и скорость. Для динамических страниц часто используют SSR или ISR. Также важно настроить robots/sitemap, корректные canonical и структурированные данные при необходимости.
В Next.js SEO обычно достигается не «магией», а правильным выбором режима рендеринга и аккуратной работой с метаданными.
Определение: SSR (Server-Side Rendering) — это генерация HTML страницы на сервере на каждый запрос (или по стратегии), чтобы пользователь и поисковик сразу получили готовую разметку.
SSR
Нужно: персонализация, часто меняющиеся данные, зависимость от запроса
SSG
Нужно: статические страницы, максимальная скорость, редкие изменения
ISR
Нужно: «почти статично», но периодически обновлять без полного деплоя
Данные грузятся на сервере
Сервер возвращает HTML с контентом
На клиенте происходит гидратация (React «оживляет» страницу)
getServerSidePropsexport async function getServerSideProps() {
const res = await fetch("https://api.example.com/products"); // пример
const products = await res.json();
return { props: { products } };
}
Метаданные
title, description
canonical
Open Graph / Twitter cards (для превью)
Индексируемый контент
Важные тексты и заголовки должны быть в HTML при ответе сервера
Скорость
Правильный выбор SSR/SSG/ISR
Оптимизация изображений (next/image), минимизация блокирующих ресурсов
Технические файлы
robots.txt и sitemap.xml
Семантика
Корректные h1-h2, списки, ссылки, alt у изображений
export const metadata = {
title: "Каталог товаров",
description: "Выбор товаров с доставкой",
};
Контент появляется только после client-side fetch (пустой HTML на старте)
Одинаковый title/description для всех страниц
Нет canonical при дублях URL (параметры/фильтры)
Рендер «всё в div» без семантики и заголовков
Для SEO в Next.js ключевое — отдавать поисковикам готовый HTML с контентом и корректными метаданными; SSR/SSG/ISR выбирают по свежести данных и требованиям к скорости.