Каталог и техникапозиция 4 из 9
Пагинация в каталоге магазина: ?page=, «показать ещё» и canonical
Что разобрано ниже
Пагинация нужна поиску не ради самих страниц 2, 3 и 10, а ради товаров, которые на них лежат: через неё робот находит карточки, до которых нет других ссылок. Поэтому главное правило простое — у каждой страницы списка есть собственный постоянный адрес и обычная HTML-ссылка на неё. Сортировки, вид списка и число товаров на странице, наоборот, новых страниц для поиска создавать не должны.
Три типичные ситуации
Чтобы не путаться в настройках, полезно сначала понять, какой у вас случай. На практике встречаются три схемы, и у каждой свои слабые места.
Классическая нумерация. Под списком товаров ссылки «1 2 3 … 12». Самый понятный для робота вариант. Проблемы обычно с дублями: первая страница открывается и по адресу категории, и по ?page=1.
Кнопка «показать ещё». Товары догружаются под уже показанными. Удобно на телефоне, но если кнопка работает только скриптом и не меняет адрес, робот видит одну первую страницу, а всё, что дальше, для него не существует.
Бесконечная прокрутка. То же самое, только без кнопки. Риски те же, плюс тяжёлая страница после долгой прокрутки и невозможность вернуться к месту, где покупатель остановился.
Адреса страниц
Схема адресов должна быть одна на весь каталог. Оба варианта ниже рабочие, выберите один и придерживайтесь его:
https://shop.example/catalog/kurtki/
https://shop.example/catalog/kurtki/?page=2
https://shop.example/catalog/kurtki/?page=3
или
https://shop.example/catalog/kurtki/
https://shop.example/catalog/kurtki/page-2/
https://shop.example/catalog/kurtki/page-3/
Первая страница существует только по адресу категории. Если CMS умеет отдавать её же по ?page=1 или /page-1/, настройте 301-редирект на чистый адрес. Несуществующая страница, например ?page=999 при двенадцати реальных, должна отдавать код 404, а не копию первой страницы или пустой список с кодом 200.
Canonical на страницах пагинации
Здесь чаще всего ошибаются. Соблазн понятен: поставить на все страницы ?page=N canonical на первую страницу, чтобы «не было дублей». Но страница 5 — не копия страницы 1: на ней другие товары. Если поисковая система примет такой canonical, она может перестать обходить глубокие страницы, и товары на них останутся без входящих ссылок.
Надёжный вариант — canonical на саму себя:
<!-- на https://shop.example/catalog/kurtki/?page=3 -->
<link rel="canonical" href="https://shop.example/catalog/kurtki/?page=3">
Чтобы страницы пагинации не конкурировали с первой за запрос категории, сделайте их заголовки отличными и менее «продающими»:
title: Куртки детские — страница 3 | {магазин}
H1: Куртки детские, страница 3
Текст категории, баннеры и блок популярных фильтров выводите только на первой странице. Google с 2019 года не использует разметку rel="prev" и rel="next" как сигнал, поэтому опираться на неё не стоит; ссылки на соседние страницы в самом списке важнее.
Сортировки, вид и число товаров
Параметры вроде ?sort=price_asc, ?view=list или ?count=48 показывают те же товары в другом порядке. Для поиска это копии, и робот не должен тратить на них время.
| Параметр | Пример | Меняет набор товаров? | Что сделать |
|---|---|---|---|
| Номер страницы | ?page=3 | Да | Индексировать, canonical на себя |
| Сортировка | ?sort=price_asc | Нет | Canonical на страницу без сортировки, Clean-param |
| Вид списка | ?view=list | Нет | Canonical, Clean-param, лучше хранить в cookie |
| Товаров на странице | ?count=48 | Частично | Canonical на вариант по умолчанию, Clean-param |
| Метки рекламы | ?utm_source=… | Нет | Clean-param, canonical |
Для Яндекса такие параметры перечисляют в Clean-param, и робот склеивает адреса с основным:
User-agent: Yandex
Clean-param: sort&view&count /catalog/
Параметр page в Clean-param не добавляйте: он меняет содержимое, и склейка уберёт из индекса нужные страницы. Для Google ту же задачу решает canonical, Clean-param он не читает. Если сортировка сочетается с фильтрами, правила для фильтров разобраны на странице о фасетной навигации.
Как сделать «показать ещё» и бесконечную прокрутку безопасными
Схема, при которой удобство не мешает индексации:
- Под кнопкой «показать ещё» в HTML лежит обычная ссылка на следующую страницу:
<a href="/catalog/kurtki/?page=2">. Скрипт перехватывает клик и догружает товары, а робот просто переходит по ссылке. - При догрузке адрес в строке браузера меняется на
?page=2,?page=3через History API. Покупатель может поделиться ссылкой или вернуться к месту, где остановился. - Каждая такая страница открывается напрямую и отдаёт свои товары в исходном HTML, без выполнения скриптов.
- Под бесконечной прокруткой остаётся классическая нумерация в подвале списка — для робота и для тех, кто хочет перейти сразу к концу.
Чем больше товаров догружено на одной странице, тем тяжелее она становится. Это заметно по показателям отзывчивости на телефонах, подробнее — в материале о скорости каталога.
Сколько товаров на странице
Чем больше товаров на одной странице, тем меньше страниц пагинации и тем ближе к первой странице оказываются все карточки. Но перегруженная страница медленнее грузится. Разумный компромисс подбирают по категории: в разделе с крупными фото одежды товаров на странице меньше, в разделе крепежа с компактными строками — больше. Если в категории сотни страниц, это повод не увеличивать число товаров, а разделить её на подкатегории — как это сделать, описано на странице о структуре каталога.
Как проверить
Откройте страницу 3 любой крупной категории и посмотрите исходный код: есть ли список товаров без выполнения скриптов, какой canonical, какие title и H1. В Яндекс Вебмастере проверьте через «Страницы в поиске», не исключены ли страницы пагинации как дубли первой, а в «Статистике обхода» — нет ли среди обходимых адресов массы сортировок. В Google Search Console инструмент проверки URL покажет, какой canonical выбрал Google для страницы пагинации и совпадает ли он с вашим. Полный обход раздела по блокам удобно делать по чек-листу аудита магазина.
Проверить в своём магазине
- У каждой страницы пагинации постоянный адрес, на который ведёт обычная HTML-ссылка.
- Первая страница доступна только по адресу категории,
?page=1перенаправляет на него. - Canonical на страницах пагинации указывает на саму страницу, а не на первую.
- Несуществующие номера страниц отдают код 404.
- Сортировки, вид списка и метки склеены через canonical и Clean-param, параметр
pageне склеен. - Кнопка «показать ещё» меняет адрес и опирается на настоящую ссылку на следующую страницу.
Вопросы владельцев магазинов
Нужно ли закрывать страницы пагинации тегом noindex?
Обычно нет. Noindex на страницах пагинации со временем может привести к тому, что робот реже ходит по ссылкам с них, и глубокие товары теряют входящие ссылки. Лучше оставить страницы открытыми, сделать им отличные от первой страницы заголовки и убрать с них текст категории.
Может ли страница 2 обогнать первую страницу категории в поиске?
Такое случается, когда страницы пагинации слишком похожи на первую: тот же title, тот же H1, тот же текст. Если на страницах 2 и дальше в заголовке есть номер, а текст и продающие блоки остаются только на первой, поисковой системе проще выбрать для запроса правильную страницу.
Подходит ли бесконечная прокрутка для каталога магазина?
Подходит, если под ней есть настоящие адреса страниц и обычные ссылки на них, а адрес в браузере меняется при догрузке. Без этого робот видит только первую порцию товаров, а покупатель теряет место в списке при возврате с карточки.
Что делать, если сортировки уже попали в индекс?
Поставьте на страницы с сортировкой canonical на адрес без параметра, добавьте параметр в Clean-param для Яндекса и уберите ссылки с сортировкой из тех мест, где их видит робот, например из карты сайта. Адреса выпадут из индекса постепенно, после повторного обхода.
Проверено редакцией 24.10.2026. Интерфейсы Вебмастера, Метрики и Search Console время от времени меняются — названия разделов сверяйте со справкой сервисов.