S.
  • Услуги
  • Для кого
  • Решения
  • Работы
  • Обо мне
  • Know-how
  • Блог
Начать проект
EN/PL/RU
  • Услуги01
  • Для кого02
  • Решения03
  • Работы04
  • Обо мне05
  • Know-how06
  • Блог07
Начать проект
EN/PL/RU
Vlad Sedenko
Независимый веб-продуктовый разработчик
ЕС / Польша / Варшава
Продукты
  • NextWooВитрина на Next.js для WooCommerce
© 2026. Все права защищены
Услуги
  • Product Discovery
  • UX/UI-дизайн
  • Разработка MVP
  • Разработка SaaS
  • Редизайн сайта
  • Безопасность веб-приложений
  • Оптимизация конверсии
  • Интеграция сервисов и автоматизация бизнеса
  • Поддержка продукта
Обзор
  • Услуги
  • Для кого
  • Работы
  • Решения
  • Обо мне
  • Блог
  • Know-how
  • Контакт
Начать проект
  • vlad@sedenko.net
  • LinkedIn
  • Конфиденциальность/Куки
Know-how/SEO-чеклист для Next.js: полный гайд по App Router (2026)

Часть 19 из 22

Пагинация и фасетная навигация без раздувания индекса

Пагинация и фильтры в Next.js по уму: самоссылающиеся canonical у страниц, infinite scroll с настоящими URL и какие комбинации фильтров заслуживают индексации.

2026-07-15
Пагинация и фасетная навигация без раздувания индекса

Все темы гайда

Практический SEO-чеклист для Next.js по разделам: стратегия рендеринга, Metadata API, hreflang, структурированные данные, Core Web Vitals и оптимизация под AI-поисковики.

Листинги категорий, архивы блога и отфильтрованные выдачи генерируют больше URL, чем весь остальной сайт вместе взятый, — и большинство из них не должно индексироваться. Именно здесь умирает краул-бюджет и рождаются настоящие проблемы дублей. Цель: краулер достаёт каждый товар/пост, а мусорные перестановки URL остаются вне индекса.

Пагинация: настоящие URL, canonical на себя

  • Каждая страница получает настоящий, линкуемый URL: /blog/page/2 или ?page=2. Вторая страница должна существовать как HTML, который краулер может запросить.
  • Каждая страница канонизируется на себя — не на первую. Canonical со второй страницы на первую говорит Google «страница 2 — дубль», и всё, что подлинковано только со страниц 2+, тихо выпадает из обнаружения. Это до сих пор самая частая ошибка пагинации.
  • rel="prev/next" Google похоронил ещё в 2019-м — теперь важны обычные <a href>-ссылки между страницами (нумерованные ссылки доводят краулер до глубоких страниц быстрее, чем цепочка «только вперёд»).
  • Тайтлы должны различаться: добавляйте «— Страница 2», чтобы не плодить дубли заголовков.

В Next.js страницы по путям можно сделать полностью статическими:

// app/blog/page/[num]/page.tsx
export async function generateStaticParams() {
  const pages = Math.ceil((await getPostCount()) / PAGE_SIZE);
  return Array.from({ length: pages - 1 }, (_, i) => ({ num: String(i + 2) }));
}

Infinite scroll: в паре с настоящими страницами

«Показать ещё» и бесконечная лента — клиентские механики, а краулеры не скроллят. Надёжный паттерн: держите пагинированные URL как обходимый скелет, обновляйте адресную строку через History API по мере скролла (/page/3, когда пользователь дошёл до третьей порции), и пусть каждый такой URL при прямом заходе рендерит свою порцию на сервере. Пользователь получает плавную ленту, краулер — страницы.

Фасеты: комбинаторный взрыв

Категория с 6 фильтрами по 10 значений даёт миллионы перестановок URL. Разложите фасеты на три яруса:

  1. Достойные индекса — комбинации с реальным спросом и стабильным ассортиментом («красные беговые кроссовки», «квартиры с балконом в Варшаве»). Дайте им чистые статические пути (/running-shoes/red), уникальные тайтлы и вступления, canonical на себя, место в sitemap. По сути это programmatic SEO-страницы — применяйте ту же планку уникальной ценности.
  2. Полезные, но не индексируемые — сортировки, ползунки цены, мультиселекты. Оставьте их query-параметрами, robots: { index: false, follow: true }, canonical на базовую категорию.
  3. Ловушки обхода — сессионные параметры, бесконечные комбинации календарей и дат. Блокируйте в robots.txt, чтобы они вообще не ели краул-бюджет (noindex требует обойти каждый URL, чтобы его увидеть).

Никогда не давайте фильтрам генерировать ссылки, по которым краулер уйдёт в третий ярус, — рендерите эти контролы кнопками/формами, а не <a href>.

Чеклист:

  • Страницы пагинации: настоящие URL, canonical на себя, нумерованные <a>-ссылки, разные тайтлы
  • Никаких canonical на первую страницу; ничто не достижимо только через infinite scroll
  • Фасеты разложены на ярусы: индексируемые / noindex,follow / заблокированные в robots
  • Достойные индекса комбинации получают статические пути, уникальный контент и sitemap
  • Параметры-ловушки никогда не рендерятся обходимыми <a href>-ссылками
← НазадSEO-миграция: переезд на Next.js без потери трафикаДальше →Доступность и SEO: одна работа — две награды

01—22

Все темы гайда

  1. 01Стратегия рендеринга: что на самом деле видит краулер?→
  2. 02Metadata API: тайтлы, описания и паттерн с шаблоном→
  3. 03Canonical и hreflang: одна страница — один адрес→
  4. 04Open Graph и динамические OG-картинки→
  5. 05sitemap.ts и robots.ts: файловые конвенции вместо рукописного XML→
  6. 06Структурированные данные: JSON-LD, который приносит rich results→
  7. 07Картинки, шрифты и скрипты: классическое трио производительности→
  8. 08Core Web Vitals: три числа, которые измеряет Google→
  9. 09Редиректы, 404 и коды ответов→
  10. 10Кеширование и свежесть контента→
  11. 11AEO/GEO: как попасть в ответы ChatGPT, Perplexity и Google AI Overviews→
  12. 12Мониторинг: SEO — это цикл, а не задача на запуск→
  13. 13Траст и E-E-A-T: как сделать сайт заслуживающим доверия→
  14. 14Image SEO: как превратить картинки в трафик→
  15. 15Внутренняя перелинковка и архитектура сайта→
  16. 16Поисковые интенты: страницы под то, что люди реально ищут→
  17. 17Programmatic SEO в Next.js: страницы в масштабе без спама→
  18. 18SEO-миграция: переезд на Next.js без потери трафика→
  19. 19Пагинация и фасетная навигация без раздувания индекса•
  20. 20Доступность и SEO: одна работа — две награды→
  21. 21Угасание контента: обновить, склеить или удалить→
  22. 22Off-page для разработчиков: ссылки, которые не покупают→

Нужно, чтобы это сделали за вас?

Я провожу аудит и чиню техническое SEO на сайтах Next.js — индексация, скорость, hreflang и видимость в AI.

Услуга «Техническое SEO»