Медиана

Пагинация: как не потерять страницы в индексе

Почему товары со второй страницы списка выпадают из поиска, чем опасна бесконечная прокрутка и какая разметка страниц пагинации работает сейчас.

Обновлено 18.09.2026 · 6 мин чтения

Пагинация — разбиение длинного списка на пронумерованные страницы. Для поиска её главная функция не навигационная, а транспортная: по ссылкам постраничной навигации робот добирается до элементов, лежащих глубоко в каталоге. Ошибки в разметке приводят не к падению позиций самих страниц списка, а к тому, что товары и материалы со второй страницы и дальше вообще перестают попадать в индекс.

Коротко

  • Пагинация существует ради обхода, а не ради удобства — по ссылкам постраничной навигации робот доходит до глубины каталога.
  • Canonical со второй страницы на первую — самая частая ошибка: содержимое у них разное, и товары со второй перестают обходиться.
  • Бесконечная прокрутка без ссылок в HTML делает всё, что ниже первого экрана, недостижимым для робота.
  • Страницы списка сами по себе почти не собирают трафик, но обеспечивают попадание в индекс тем, кто собирает.
  • Атрибуты rel next и rel prev как сигнал связи между страницами Google больше не использует.

Зачем пагинация нужна поиску

Постраничная навигация выглядит как элемент интерфейса, но её роль в поиске — транспортная.

Робот попадает на элементы каталога по ссылкам. Товар, который лежит на седьмой странице списка и больше нигде не упоминается, достижим ровно одним маршрутом: главная — категория — страницы со второй по седьмую — карточка. Разорвите этот маршрут в любом месте, и товар исчезнет из индекса не потому, что он плох, а потому, что до него не дошли.

Отсюда правильная постановка задачи. Вопрос «как ранжировать страницы пагинации» почти всегда не тот вопрос: сами по себе они собирают мало показов и редко на это претендуют. Вопрос, который имеет значение, — доходит ли робот по ним до конца списка.

Это же объясняет, почему в теме так много вреда от разумно выглядящих решений. Закрыть страницы списка от индексации, склеить их каноническим адресом, перевести на подгрузку по кнопке — каждое из этих действий по отдельности логично и каждое обрывает маршрут.

Что именно ломается

РешениеКак выглядит замыселЧто происходит на самом деле
Canonical со всех страниц на первуюУбрать дубли из индексаСтраницы со второй перестают обходиться, элементы теряются
noindex на страницах спискаНе засорять выдачуОбход постепенно урежается, вглубь каталога робот заходит реже
Disallow для параметра страницыСэкономить бюджет обходаМаршрут вглубь закрыт полностью, экономия обернулась потерей
Прокрутка без ссылок в HTMLСовременный интерфейсДля робота список заканчивается на первой порции
Ссылки только «вперёд» и «назад»Минималистичная навигацияДо конца длинного списка робот идёт слишком долго и часто не доходит

Общий механизм у всех строк один: замысел касается страниц списка, а последствия — элементов, на которые эти страницы ссылаются. Владелец сайта смотрит на категорию, видит, что она в порядке, и не связывает с ней пропажу товаров.

Проверять это удобнее не по спискам, а по элементам: сколько карточек получает показы и какая доля от общего числа это составляет.

Три схемы разбивки и что с ними делает робот

Классическая нумерация. У каждой страницы свой адрес, все они доступны по обычным ссылкам. Робот обходит их независимо друг от друга, порядок значения не имеет. Схема самая предсказуемая и по-прежнему самая надёжная.

Кнопка «показать ещё». Первая порция в HTML, остальные подгружаются по нажатию. Работает для поиска только при одном условии: за кнопкой стоят настоящие адреса, и в разметке присутствуют обычные ссылки на них. Если подгрузка идёт запросом без изменения адреса, всё, кроме первой порции, для робота отсутствует.

Бесконечная прокрутка. То же самое, что предыдущая схема, но без явного действия пользователя. Отдельная сложность в том, что состояние прокрутки не сохраняется в адресе: человек не может дать ссылку на то, что нашёл, а робот не может вернуться в ту же точку.

Общее правило для двух последних схем формулируется просто: интерфейс может быть любым, но под ним должны лежать адресуемые страницы, ссылки на которые видны без исполнения скриптов. Как проверить, что видит робот в исходном коде, описано в техническом аудите.

Разметка, которая работает

Набор правил короткий.

Canonical каждой страницы — на себя. Со второй страницы — на вторую, с третьей — на третью, с учётом того, что параметры сортировки в адрес канонического не входят. Логика та же, что в общем разборе канонических адресов: страницы разные, склеивать их нечем.

Заголовок и описание различаются между страницами. Достаточно указания номера. Одинаковые метатеги на сорока страницах — источник массовых предупреждений в панели вебмастера и повод для системы считать страницы дублями.

Ссылки на соседние и на несколько удалённых страниц. Навигация только «вперёд» и «назад» делает последнюю страницу каталога недостижимой за разумное число переходов. Ссылки на первую, последнюю и промежуточные сокращают путь — это тот же приём, что и в перелинковке.

Первая страница списка без номера в адресе. Вариант с явной единицей должен переадресовываться на базовый адрес категории, иначе появляется дубль на ровном месте — механика описана в структуре адресов.

Параметры сортировки и фильтров не смешиваются с номером страницы. Сортировка не создаёт нового содержимого, номер страницы создаёт. Первое канонизируется, второе — нет.

Как проверить свою пагинацию

Две команды показывают, видит ли робот переходы вглубь и что указано на второй странице.

curl -s 'https://example.com/catalog/' \
  | grep -oE 'href="[^"]*page[=/][0-9]+[^"]*"' | sort -u | head -n 20
curl -s 'https://example.com/catalog/page/2/' \
  | grep -iE '<link[^>]*canonical[^>]*>|<meta[^>]*robots[^>]*>'

Разбор ответов:

  • Первая команда вернула несколько разных адресов — ссылки на другие страницы присутствуют в исходном HTML. Это основное, что требуется от навигации.
  • Первая команда вернула пусто — ссылок в коде нет, навигация собирается скриптом. Для робота список заканчивается на первой порции, и всё остальное достижимо только из других мест сайта.
  • Вторая команда показала canonical, ведущий на /catalog/ — та самая ошибка со склейкой на первую страницу. Значение нужно исправить на адрес самой второй страницы.
  • Вторая команда показала <meta name="robots" content="noindex"> — страницы списка закрыты от индексации. Это осознанное решение, если элементы имеют другие входы, и авария, если не имеют.
  • Обе команды отработали, но адреса в выводе первой отличаются от того, что открывается в браузере — навигация подменяется скриптом поверх исходной разметки, и проверять придётся оба варианта.

Массово то же самое собирается краулером по всем категориям сразу, а факт обхода глубоких страниц роботом подтверждается только серверными журналами.

Симптом → причина → что делать

В индексе только первые страницы категорий, дальше пусто. Проверьте canonical на второй странице и наличие ссылок в исходном HTML. Обе причины дают одинаковую картину, а лечатся по-разному, поэтому смотреть надо оба места.

Товары из конца каталога не появляются в поиске месяцами. Маршрут до них слишком длинный: робот не доходит до тридцатой страницы списка. Сократите путь — добавьте ссылки на промежуточные страницы, разбейте категорию на подкатегории, добавьте элементы в карту сайта.

Панель показывает тысячи страниц-дублей с параметрами. Номер страницы смешался с сортировкой и фильтрами, и комбинации перемножились. Разведите их: сортировку канонизируйте на базовый адрес, номер страницы оставьте самостоятельным.

После перехода на бесконечную прокрутку упал трафик карточек, а не категорий. Категории остались на месте, потому что их адреса не менялись. Пропали входы вглубь. Верните адресуемые страницы под интерфейсом прокрутки — сам интерфейс можно оставить.

Где пагинация не нужна и где она не поможет

Разбивка на страницы решает задачу объёма. Там, где объёма нет, она создаёт проблемы вместо того, чтобы решать.

Список из полутора десятков элементов делить не нужно: одна страница обходится проще, чем три, и человеку удобнее. Разбивка по три-четыре элемента на страницу, встречающаяся в шаблонах блогов, — чистый вред: она умножает число адресов и растягивает маршрут до старых материалов.

Не поможет она и там, где корень проблемы в структуре каталога. Категория на четыреста позиций с сорока страницами списка — это не задача пагинации, а сигнал, что нужны подкатегории. Пагинация переносит нагрузку с одной страницы на сорок, но общий путь до элемента не сокращает.

Отдельная граница — скорость. Страницы списка обычно самые тяжёлые на сайте: много изображений, фильтры, скрипты. Медленная страница пагинации замедляет весь маршрут вглубь, и это ощущается сильнее, чем медленная карточка; про измерение — в разборе скорости загрузки.

И последнее ограничение: пагинация не влияет на то, ранжируется ли сам элемент. Она отвечает только за то, дойдёт ли до него робот. Если товар в индексе, но показов нет, причина лежит в другом месте.

Спорное место

Совет «оставляйте страницы пагинации открытыми» звучит уверенно, но у него есть цена, о которой обычно молчат. Открытые страницы списка тратят обход, попадают в отчёты как малополезные и иногда конкурируют с самой категорией в выдаче по её же запросам.

Рекомендация всё равно остаётся такой, потому что альтернатива хуже. Но честнее сформулировать её как выбор меньшего вреда, а не как правило: мы соглашаемся на лишние адреса в базе ради того, чтобы элементы каталога оставались достижимыми.

Есть и ситуация, где выбор меняется. Если у товаров есть независимые входы — из карты сайта, из подборок, из связанных материалов, — закрытие страниц списка перестаёт быть опасным и снимает мусор из индекса. Проблема в том, что проверить наличие таких входов труднее, чем поставить директиву, и именно поэтому по умолчанию советуют не трогать.

Частые вопросы

Нужно ли ставить canonical со второй страницы на первую?

Нет, и это самая дорогая из типичных ошибок. Содержимое второй страницы отличается от первой, поэтому указание противоречит наблюдениям системы и обычно игнорируется. Хуже другое: когда оно всё-таки принимается, страницы со второй по последнюю перестают обходиться, а вместе с ними теряются ссылки на элементы, которые дальше нигде не встречаются.

Закрывать ли страницы пагинации от индексации?

Директива noindex допустима, если страницы списка не нужны в выдаче, но у неё есть побочный эффект: со временем система обходит такие страницы реже. Поскольку именно они ведут вглубь каталога, реже обходятся и элементы. Безопаснее оставить страницы открытыми и обеспечить элементам другие входы — из карты сайта и связанных материалов.

Работают ли атрибуты rel next и rel prev?

Google объявил, что не использует их как сигнал связи между страницами последовательности. Разметка не вредит и остаётся валидной, но полагаться на неё как на решение проблемы нельзя. Практическая замена — обычные ссылки в HTML на соседние и на несколько удалённых страниц, доступные без исполнения скриптов.

Что лучше для поиска — постраничная навигация или бесконечная прокрутка?

Для поиска — постраничная навигация, потому что каждая её страница имеет собственный адрес и обходится независимо. Бесконечная прокрутка допустима, когда за ней стоят настоящие адреса, доступные без скриптов. Если подгрузка работает только по действию пользователя и ссылок в исходном коде нет, всё за пределами первой порции для робота не существует.

Нужна ли страница «показать все»?

Она полезна как дополнительный вход, если открывается достаточно быстро и не весит десятки мегабайт. На больших каталогах такая страница обычно нежизнеспособна: она медленно грузится у людей и тяжело обходится роботом. Когда список умещается в разумный объём, вариант со всеми элементами сразу упрощает и навигацию, и обход.

Источники

  1. Пагинация — Wikipedia
  2. Рекомендации по нумерации страниц — Google
Артём Строев
Пишу про измеримый маркетинг и видимость в ИИ-поиске. Публикуюсь под псевдонимом — почему так.