Пагинация каталога — это копии одного листинга: /category/?page=2, /page/3/, PAGEN_1=4. На каждой копии другой набор плиток той же ветки. Это не дерево узлов и не SEO самой категории как документа Поиска. Какие ветки вообще заводить — структура каталога. Как уже существующая ветка становится документом — SEO категорий. Рамка трёх типов URL — в SEO интернет-магазина.
Страница 2 не «улучшает» категорию и не заменяет карточку. Она нужна, чтобы робот и человек дошли до SKU, которые не влезли на первый экран. Если этих SKU нет в sitemap и нет в <a href>, пагинация — декорация.
Копия листинга, не новый узел
У копии листинга тот же тип товара и та же задача выбора, что у первой страницы ветки. Меняется только окно: какие карточки видны сейчас. Новый узел заводят, когда появляется другой выбор («беговые» рядом с «кроссовками»). Копия ?page=2 — тот же выбор, сдвинутый по списку.
Сортировка «по цене» и пересечение цвета с размером — уже не пагинация. Это варианты того же списка. Их не индексируют как отдельные документы: Search Central прямо просит закрыть такие URL noindex или не отдавать роботам в robots.txt. Какой срез вообще достоин своего адреса — на страницах фильтров и фасетов. Здесь решается только нумерация уже выбранной ветки.
Корень /catalog/ и витрина CMS не становятся «страницей 1» для всего магазина. Пагинация живёт внутри ветки, у которой уже есть канонический URL. Иначе /shop/page/2/ плодит второй листинг без типа — ту же свалку, только с номером.
Каноникал на себя, не на первую
Google в руководстве по пагинации и догрузке (Search Central, ecommerce) считает URL последовательности отдельными страницами. Каждой дают свой устойчивый адрес, например ?page=n с абсолютным номером, не ?date=yesterday. Каноникал страницы 3 указывает на страницу 3, а не на первую. Каноникалить всю ленту на /category/ Google прямо запрещает: тогда плитки со второй и дальше для индекса как будто не существуют.
Фрагмент после # робот Google игнорирует. Ссылка #page=2 для него та же страница. Woo рисует /page/2/, OpenCart — page=, Битрикс — PAGEN_N=. Форма параметра не важна, важны три свойства: уникальный URL, тот же набор плиток при повторном заходе, ответ 200 без мягкого 404 на пустой хвост.
Яндекс в справке «Как работает поиск» пишет отдельно: атрибут rel со значениями prev и next робот не учитывает, страницы пагинации могут индексироваться и участвовать в поиске без ограничений. Google эти теги тоже больше не использует (они остались только как возможная подсказка другим системам). Закрывать page=* в robots.txt или ставить noindex на всю ленту — способ спрятать карточки, которые живут только на хвосте, а не «навести порядок».
Пустую страницу за последней отдают 404 или 301 на последнюю живую, не 200 с «товаров нет». Иначе индекс копит пустые копии.
Ссылка, которую робот видит
Googlebot ходит по href у <a>. Кнопку «Показать ещё» и жест бесконечной прокрутки он не нажимает. Если догрузка только на JavaScript без параллельной ленты ссылок, в индексе останется первый экран. Search Central для infinite scroll требует четыре вещи сразу: свой URL у каждой пачки, стабильное содержимое этого URL, последовательные <a href> между пачками и смена адреса в строке через History API, когда пачка стала основным экраном.
С каждой копии нужна ссылка на следующую. Имеет смысл держать ссылку и на первую страницу ветки: Google пишет, что так проще понять начало коллекции и что первая чаще лучше как посадочная. «Смотреть все» имеет смысл, только если полный список открывается быстро и не ломает сервер. Тысячи плиток на одном URL — это уже предел «Load more» в той же таблице Search Central, не замена нумерации.
Карточки на хвосте должны открываться с пагинации обычной ссылкой, а не только из кабинета или фида. Фид Merchant Center и Яндекс Товаров карточку в Поиск приведёт, листинг ветки — нет. Если хвост систематически не виден роботу, это уже дыра обхода, не «дизайн витрины»: постановка — SEO-аудит.
Текст и сниппет на копиях
Вводный текст категории пишут на первой странице ветки. Копировать тот же абзац на каждую копию — не «уникализация», а шум: задача выбора уже закрыта на каноне ветки. На страницах 2+ достаточно сетки, пагинатора и отличия в title вроде «страница 3», если CMS это умеет. Google для последовательности прямо разрешает одинаковые title и description: робот пытается узнать ленту и индексировать её как ряд, а не как набор новых тем.
H1 копии не должен притворяться новой категорией («Кроссовки недорого — лист 2»). Это каннибализация с документом ветки, который уже разобран в SEO категорий. Пагинатор — навигация по списку, не второй кластер.
Частые вопросы
Нужно ли закрывать страницы пагинации от индекса?
Нет, если на них живые карточки, которых нет на первой. Закрывают сортировки и случайные пересечения фильтров, не нумерацию той же ветки. Яндекс прямо говорит, что такие URL могут участвовать в поиске.
Куда ставить canonical на странице 2?
На саму страницу 2. Canonical на первую страницу ветки прячет хвост: Google в ecommerce-гайде по пагинации это запрещает.
Достаточно ли кнопки «Показать ещё» без ссылок?
Для посетителя — да. Для робота — нет. Нужна параллельная лента с обычными <a href> на ?page=n или эквивалент CMS. Иначе индексируется только первый экран.
Чем пагинация отличается от SEO категорий?
SEO категории решает, как ветка становится одним документом выбора. Пагинация — как копии этого листинга остаются достижимыми, не превращаясь ни в новые узлы, ни в дубли первой страницы.