Пагинация и SEO: как оформить постраничную навигацию
Пагинация — это разбивка длинного списка на страницы: каталог товаров, лента статей, форум. Кажется мелочью, но именно из-за неё интернет-магазины теряют товары из индекса, плодят дубли заголовков и размывают вес. Разберём, как оформить страницы листинга так, чтобы поисковик видел все товары, не считал страницы дублями и отправлял пользователя на нужную карточку.
Зачем поисковику ваша пагинация
Представьте каталог из 600 товаров, разбитый по 40 на страницу — это 15 страниц листинга. Поисковый робот заходит на первую страницу, видит ссылки на товары и на страницы 2, 3, 4… Если навигация оформлена правильно, он обойдёт все страницы и найдёт все 600 карточек. Если неправильно — застрянет на первой странице, и товары с дальних страниц просто не попадут в индекс. То есть пагинация — это маршрут робота по вашему каталогу.
От того, как сделаны ссылки между страницами, зависит, дойдёт ли робот до конца каталога. Сравните два сценария:
Три главные проблемы пагинации
Как делать правильно
1. Каждая страница пагинации — самостоятельный URL
Страницы должны иметь нормальные, индексируемые адреса: /catalog/obuv/?page=2 или /catalog/obuv/page/2/. Ссылки «вперёд/назад» и номера страниц — обычными тегами <a href>, а не кнопками на JavaScript. Тогда робот переходит по ним и обходит весь каталог. Это самое важное правило: если ссылок-href нет, дальние товары для поиска не существуют.
2. Уникализируйте мета по страницам
Чтобы страницы не были дублями, добавляйте номер в title и description второй и далее страниц: «Обувь — каталог» → «Обувь — каталог, страница 2». Это снимает претензию «одинаковые заголовки» и показывает поиску, что страницы разные части одного списка.
3. Canonical — на саму страницу, не на первую
Раньше советовали ставить canonical всех страниц на первую — сейчас это ошибка: так вы говорите поиску «индексируй только первую», и товары со 2-й и далее выпадают. Правильно: каждая страница указывает canonical на саму себя (/catalog/obuv/?page=2 → canonical на /catalog/obuv/?page=2). Исключение — вариант «Показать всё» (см. ниже).
4. rel="next" / rel="prev" — можно, но не панацея
Атрибуты rel="next" и rel="prev" подсказывают связь страниц в серии. Google официально перестал их использовать как сигнал индексации, но они не вредят и помогают другим системам и доступности. Главное — не полагаться только на них: рабочую связку дают индексируемые href-ссылки + self-canonical + уникальные мета.
5. «Показать всё» — если страница не гигантская
Если все товары умещаются на одну страницу без вреда для скорости, можно сделать версию «Показать всё» (view-all) и направить canonical страниц пагинации на неё. Но если товаров сотни и страница станет тяжёлой и медленной — не стоит: скорость важнее. Для больших каталогов оставайтесь на обычной пагинации с self-canonical.
Бесконечная прокрутка и кнопка «Ещё»
«Бесконечная прокрутка» и подгрузка по кнопке «Показать ещё» удобны людям, но опасны для SEO: если новые товары появляются только через JavaScript и не имеют обычных URL, робот их не увидит. Решение — гибрид: подгрузка для людей плюс настоящие постраничные ссылки <a href="?page=2"> в коде (можно скрытые), чтобы робот всё равно обошёл каталог. Тогда и пользователю удобно, и товары в индексе.
Сортировки и фильтры поверх пагинации
Пагинация редко живёт одна — поверх неё накладываются сортировки и фильтры, и тут URL начинают размножаться лавинообразно. ?page=2&sort=price&color=red — это уже комбинация трёх параметров, и таких сочетаний тысячи. Разделяйте две сущности:
- Сама пагинация (
?page=2) — индексируемая, с self-canonical, как описано выше. - Сортировки (
?sort=price) — это тот же набор товаров в другом порядке, то есть дубль. Их канонизируют на версию без сортировки или закрывают через Clean-param. - Фильтры — ценные срезы под спрос делают отдельными посадочными, мусорные комбинации закрывают. Подробно — в статье про Clean-param и параметры URL.
Главное — не плодить индексируемые страницы вида «2-я страница каталога, отсортированная по цене, с фильтром по цвету»: это идеальный генератор дублей и слив краулингового бюджета.
Пагинация отзывов и комментариев
Пагинация бывает не только в каталоге. На карточке товара или в статье отзывы и комментарии тоже разбивают на страницы (?comments-page=2). Логика здесь другая: основной контент — это сам товар или статья, а отзывы дополняют его. Поэтому страницы комментариев обычно канонизируют на основную страницу, а не делают самостоятельными — пользователю и поиску нужна карточка целиком, а не «вторая страница отзывов» в выдаче. Исключение — если отзывов очень много и они сами по себе ценный, ранжируемый контент; тогда подход ближе к обычной пагинации.
Глубина пагинации и краулинговый бюджет
Чем глубже страница (стр. 50, стр. 200), тем реже до неё добирается робот: каждый «клик» от главной — это лишний шаг, и на дальние страницы бюджета обхода может не хватить. Если каталог огромный, не полагайтесь на то, что робот доползёт до сотой страницы по цепочке. Помогает уплощение структуры: дробите большие категории на подкатегории и фильтр-страницы под спрос, чтобы товары были доступны не через «листай 200 страниц», а через осмысленные разделы в пару кликов от главной. Хорошая структура и карта сайта снимают проблему глубокой пагинации лучше, чем любые ухищрения с самими страницами листинга.
Чек-лист пагинации
- Страницы пагинации имеют нормальные индексируемые URL
- Номера страниц и «вперёд/назад» — обычные <a href>, не JS-кнопки
- Title и description содержат номер страницы (стр. 2, 3…)
- Canonical каждой страницы указывает на саму себя
- Не ставите canonical всех страниц на первую
- Бесконечная прокрутка дублирована href-ссылками для робота
- Проверили в индексе товары с дальних страниц
Коротко
Пагинация — это маршрут робота по каталогу. Делайте страницы листинга самостоятельными индексируемыми URL с обычными href-ссылками, добавляйте номер страницы в мета, ставьте self-canonical (а не на первую страницу), используйте rel=next/prev как вспомогательный сигнал и дублируйте бесконечную прокрутку обычными ссылками. Тогда поисковик обойдёт весь каталог, не сочтёт страницы дублями и приведёт пользователя к нужному товару.