-10%Переходите к нам от другого подрядчика — дадим скидку на первый этап работ

Пагинация и бесконечная прокрутка каталога на 1С-Битрикс: SEO и UX

Пагинация и бесконечная прокрутка каталога на 1С-Битрикс: SEO и UX постраничной навигации

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

Эта статья — практический разбор пагинации, «показать ещё» и бесконечной прокрутки на 1С-Битрикс с точки зрения SEO и UX: чем способы отличаются, как сделать ЧПУ-адреса страниц вместо параметров, какой ставить canonical, что стало с rel=next/prev и как построить подгрузку так, чтобы она не убивала индексацию. Материал из нашей практики проектирования SEO-структуры каталогов — без «секретов продвижения», по делу.

Коротко

  • Ключевой вопрос не «пагинация или прокрутка», а есть ли в разметке настоящие ссылки на страницы /page-2/, /page-3/. Без них робот не увидит товары дальше первого экрана.
  • Бесконечную прокрутку и «показать ещё» строят поверх обычной пагинации как прогрессивное улучшение: ссылки для робота, подгрузка на JS для пользователя.
  • Делайте ЧПУ-пагинацию (/page-2/) вместо ?PAGEN_1=2, страницы пагинации держите самоканоническими, а не канонизируйте на первую.
  • rel=next/prev Google больше не использует для индексирования — не полагайтесь на них; закрывайте дубль page-1 и отдавайте 404/301 за пределами реального диапазона страниц.

Зачем каталогу продуманная разбивка списка

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

Именно третья задача чаще всего проваливается незаметно. Магазин выглядит красиво, покупатели листают ленту, менеджеры радуются плавной прокрутке — а половина ассортимента тем временем отсутствует в поиске, потому что её адреса нигде не прописаны как ссылки. Поэтому продуманная разбивка каталога — это не про «красивую кнопку», а про баланс между тремя интересами: скоростью, удобством и видимостью в поиске.

Что мы называем «страницей пагинации»

Под страницей пагинации мы понимаем адрес, который показывает определённую порцию товаров раздела: первая страница — базовый URL категории, вторая и далее — отдельные адреса (в идеале ЧПУ вида /catalog/obuv/page-2/). Каждая такая страница — самостоятельный документ с точки зрения поисковика: у неё свой URL, свой набор товаров и свои метатеги. От того, как эти документы устроены и связаны, зависит, попадут ли товары в индекс и не появится ли лавина дублей.

Три способа разбивки: краткий обзор

На практике каталог разбивают одним из трёх способов или их комбинацией. У каждого своя механика взаимодействия с пользователем и своя цена для SEO.

Важно понимать: эти способы не взаимоисключающие. Правильная архитектура — когда в основе лежат настоящие страницы пагинации с ЧПУ-адресами, а «показать ещё» или прокрутка надстраиваются сверху скриптом. Тогда пользователь получает плавный UX, а робот — честные ссылки. Ниже разберём каждый способ по отдельности, а затем покажем, как их правильно совмещать.

Классическая 1 2 3 → ссылки /page-N/ видит робот Показать ещё Показать ещё клик = следующая порция, управляет юзер Бесконечная авто-подгрузка риск для робота
Схема: три способа разбивки. Классическая пагинация даёт роботу настоящие ссылки, «показать ещё» отдаёт управление пользователю, «бесконечная» подгружает сама — и без ссылок опасна для индексации.

Классическая пагинация: плюсы и минусы

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

Сильные стороны

Слабые стороны

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

«Показать ещё» и подгрузка по кнопке

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

Этот способ хорош тем, что легко делается SEO-безопасным. Кнопка «Показать ещё» по своей сути — это ссылка на следующую страницу пагинации. Если реализовать её как настоящий <a href="/catalog/obuv/page-2/">, а JS лишь перехватывает клик и подгружает содержимое, то мы получаем идеальную картину: пользователь видит плавную подгрузку, а робот — обычную ссылку на вторую страницу. Именно так устроен и пейджер блога B2Bsite: «Показать ещё» является ссылкой на следующую страницу, а скрипт лишь надстраивается сверху.

Принцип: кнопка «Показать ещё» должна быть ссылкой на следующую страницу пагинации, а не пустым <button>, который дёргает загрузку через JS. Тогда без JavaScript она остаётся рабочей навигацией, а с ним — плавной подгрузкой.

Плюсы «показать ещё»

Бесконечная прокрутка: соблазн и риск

Бесконечная прокрутка автоматически подгружает новую порцию, как только пользователь долистал до низа. Кнопки нет — лента продолжается сама. Такой UX отлично работает в лентах соцсетей и медиа, где цель — удержать внимание как можно дольше и где нет задачи «дойти до конкретного товара». В интернет-магазине у прокрутки есть несколько специфических проблем.

UX-проблемы прокрутки в магазине

SEO-риск

Главная опасность — не в UX, а в индексации. Если прокрутка сделана «в лоб», подгрузка идёт по AJAX-запросу к API, а в исходной разметке первой страницы нет ссылок на остальные, то для робота каталог заканчивается на первой порции. Все товары, которые появляются только при прокрутке, оказываются недоступны поисковику. Об этом — отдельный раздел ниже, потому что это самая частая и самая дорогая ошибка.

Сравнение способов: UX и SEO

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

КритерийКлассическая пагинацияПоказать ещёБесконечная прокрутка
Индексация всех товаровНадёжная (есть ссылки)Надёжная, если кнопка — ссылкаРискованная без ссылок
Контроль пользователяПолныйПолныйОграниченный
Доступность футераВсегдаВсегдаЗатруднена
Сохранение позицииПо адресу страницыЧастичноЧасто теряется
Плавность листанияНиже (перезагрузка)ВысокаяМаксимальная
Нагрузка на устройствоНизкаяУмереннаяВысокая (растёт DOM)
Сложность SEO-настройкиНизкаяНизкаяВысокая

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

Почему прокрутка без ссылок вредит индексации

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

Теперь представим «чистую» бесконечную прокрутку без ссылок. В HTML первой страницы лежат, скажем, 24 карточки товара. Больше в разметке ничего нет — остальные подгружаются скриптом при прокрутке через запрос к API. Что видит робот:

  1. Загружает первую страницу. Находит 24 карточки товара и ссылки на них.
  2. Ищет ссылки дальше. Ссылок на страницу 2, 3, N в разметке нет — есть только скрипт, реагирующий на прокрутку.
  3. Не находит продолжения. Каталог для робота заканчивается на 24 товарах, даже если реально их 2400.
  4. Не индексирует остальное. 99% ассортимента остаётся вне поиска — не потому, что запрещён, а потому что не найден.

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

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

SEO-дружественная подгрузка: ссылки + JS

Хорошая новость: отказываться от плавного UX не нужно. Правильная схема — прогрессивное улучшение. В основе лежат настоящие страницы пагинации с ЧПУ-адресами и обычными ссылками, а подгрузка на JavaScript надстраивается сверху. Если скрипт не сработал (медленный интернет, отключённый JS, робот) — остаётся полностью рабочая навигация по ссылкам.

Как это устроено технически

  1. Рендерим полноценный пейджер. Внизу списка сервер отдаёт настоящие ссылки на страницы: /catalog/obuv/page-2/, /page-3/ и так далее — они присутствуют в HTML до всякого JS.
  2. Кнопка «Показать ещё» — тоже ссылка. Она указывает на следующую страницу пагинации через href, а не является пустым элементом.
  3. JS перехватывает клик/прокрутку. Скрипт отменяет стандартный переход, запрашивает следующую страницу и добавляет карточки в конец списка без перезагрузки.
  4. Обновляем адрес в браузере. Через History API меняем URL на текущую подгруженную страницу, чтобы позиция сохранялась и её можно было скопировать.
  5. Оставляем деградацию. Без JS ссылки работают как обычная пагинация — робот и пользователь на медленном соединении не теряют доступ к товарам.

Именно так устроен пейджер в блоге на этом сайте: функция blog_render_pager() выводит реальные <a> на страницы /page-N/, первая страница живёт по чистому URL без page-1, а кнопка «Показать ещё» — это ссылка с атрибутом data-next, поверх которой JS может догружать карточки. Тот же принцип переносится на каталог 1С-Битрикс.

Слой 1 — HTML <a href="/page-2/"> настоящие ссылки видит робот и работает без JS Слой 2 — JavaScript перехват клика, подгрузка порции + History API, обновление URL надстраивается Результат Пользователь: плавная подгрузка Робот: обходит все /page-N/ весь ассортимент в индексе
Схема: прогрессивное улучшение. Настоящие ссылки на страницы — фундамент, JS-подгрузка — надстройка. Робот обходит все страницы, пользователь получает плавный UX.

ЧПУ-пагинация в 1С-Битрикс: /page-2/

По умолчанию постраничная навигация в компонентах 1С-Битрикс работает через GET-параметр вида ?PAGEN_1=2. Технически это рабочий вариант, но у него есть недостатки: адрес выглядит менее аккуратно, параметр может комбинироваться с другими и порождать дубли, а человекопонятный ЧПУ-адрес /catalog/obuv/page-2/ чище и лучше воспринимается. Поэтому на SEO-ориентированных проектах пагинацию переводят на ЧПУ.

ВариантПример адресаКомментарий
Параметр PAGEN (по умолчанию)/catalog/obuv/?PAGEN_1=2Работает, но легко порождает параметрические комбинации
ЧПУ-пагинация/catalog/obuv/page-2/Чистый адрес, аккуратная перелинковка, проще контролировать
Первая страница/catalog/obuv/Всегда базовый URL без page-1 — иначе дубль

Число «1» в PAGEN_1 — это номер компонента постраничной навигации на странице; если на странице несколько списков, у каждого свой счётчик. При переходе на ЧПУ этот технический нюанс скрывается за чистым адресом /page-N/, что заодно снижает шанс на случайные дубли из-за нескольких параметров.

Ключевое правило ЧПУ-пагинации: первая страница раздела — это всегда чистый URL /catalog/obuv/, без page-1. Адрес /catalog/obuv/page-1/ либо не должен существовать, либо редиректиться 301 на базовый. Иначе вы получаете два адреса с одинаковым контентом — классический дубль первой страницы.

/catalog/obuv/page-1/ /catalog/obuv/ 301 /catalog/obuv/ (стр. 1) /catalog/obuv/page-2/ /catalog/obuv/page-3/ canonical → сама на себя canonical → сама на себя canonical → сама на себя
Схема: page-1 редиректится 301 на базовый URL, а каждая страница пагинации самоканонична — ссылается сама на себя, а не на первую. Так товары со 2-й и далее индексируются самостоятельно.

Настройка пагинации в компонентах каталога

В 1С-Битрикс каталог обычно выводит комплексный компонент bitrix:catalog, который включает в себя списки разделов и товаров (catalog.section) и работает в SEF-режиме — то есть с человекопонятными адресами. Постраничная навигация формируется шаблоном bitrix:system.pagenavigation, а её вид и логика задаются на уровне шаблона компонента. Именно там определяется, как выглядят ссылки на страницы и по какому адресу они ведут.

Что участвует в настройке

На практике настройка сводится к тому, чтобы шаблон постраничной навигации формировал ЧПУ-адреса вместо параметров и выводил их обычными ссылками, а комплексный компонент корректно эти адреса разбирал. Это работа на уровне шаблона сайта, без вмешательства в ядро платформы, что важно для обновляемости. Когда пагинация каталога и настройка редиректов и склейки URL сделаны согласованно, дубли и пустые страницы не появляются.

Canonical на страницах пагинации

Это самый спорный и самый важный вопрос пагинации. Атрибут rel="canonical" сообщает поисковику, какой адрес считать основным среди похожих. И здесь легко допустить дорогую ошибку. Рассмотрим два подхода.

ПодходКак работаетПоследствия
Самоканоничность (рекомендуется)Каждая страница пагинации ссылается сама на себя: /page-2/ → /page-2/Товары со всех страниц индексируются как самостоятельные; поисковик видит весь ассортимент
Canonical на первую страницуВсе страницы пагинации указывают каноническим адресом на /catalog/obuv/Поисковик может счесть товары со 2-й и далее второстепенными и хуже их индексировать
Canonical на «view all»Страницы указывают на единую страницу «показать все»Уместно лишь при реальной, быстрой странице со всеми товарами; на больших каталогах непрактично

Актуальная безопасная практика для каталога магазина — самоканоничность. Каждая страница пагинации канонична сама себе. Логика такая: страница /page-2/ — это не дубль /page-1/, у неё другой набор товаров, а значит она самостоятельный документ, достойный собственного места в индексе. Если же канонизировать все страницы на первую, поисковик получает сигнал «основной контент — на первой странице», и товары, которые есть только на страницах 2, 3, N, рискуют выпасть из индекса. Для магазина это прямая потеря видимости ассортимента.

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

Исключение — ситуация, когда вторая страница действительно является дублем первой из-за технического параметра (например, добавился незначимый GET, но контент не изменился). Тогда каноничность на основной адрес оправдана. Но это про параметрический дубль, а не про нормальную постраничную навигацию. Различать эти случаи — часть работы; подробнее про параметры и склейку — в статье про редиректы, 404 и склейку URL в Битрикс.

rel=next/prev: история и текущий статус

Несколько лет назад стандартной рекомендацией для пагинации были теги <link rel="next"> и <link rel="prev"> в <head>. Они указывали поисковику на предыдущую и следующую страницы в серии, помогая ему понять, что это единая последовательность. Многие SEO-руководства и модули настраивали эти теги как обязательный элемент пагинации.

Ситуация изменилась: Google публично сообщил, что уже несколько лет не использует rel=next/prev как сигнал для индексирования. Иными словами, эти теги перестали быть инструментом склейки серии страниц в понимании крупнейшего поисковика. Что это значит на практике:

Итог: относитесь к rel=next/prev как к необязательному дополнению, а не к фундаменту. Фундамент пагинации — обычные ссылки, по которым робот доходит до всех товаров, и корректный canonical. Разные поисковые системы могут вести себя по-разному, но принцип «настоящие ссылки важнее спецтегов» универсален.

Метатеги на страницах пагинации

Если товары со второй и последующих страниц должны индексироваться (а в самоканонической схеме — должны), возникает вопрос метатегов. Что писать в title и description для /page-2/? Оставить такими же, как на первой странице, значит создать десятки страниц с одинаковыми метатегами — это дубли метаданных, которые поисковик не любит.

Практика уникализации

В 1С-Битрикс метатеги страниц каталога управляются через SEO-свойства инфоблоков и шаблоны метатегов, куда можно подставить номер страницы постраничной навигации. Механику шаблонов метаданных мы подробно разбираем применительно к фильтру, и те же приёмы работают для пагинации: единый шаблон с подстановкой переменных вместо ручного заполнения каждой страницы.

Дубль page-1 и страницы за диапазоном

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

Дубль первой страницы

Возникает, когда первая страница доступна по двум адресам: чистому /catalog/obuv/ и техническому /catalog/obuv/page-1/ (или ?PAGEN_1=1). Оба отдают идентичный контент — это дубль. Лечение: первая страница живёт только по базовому URL, а любые варианты с page-1 или PAGEN=1 отдают 301-редирект на чистый адрес. В самоканонической схеме именно базовый URL является каноническим для первой страницы.

Пустые страницы за пределами диапазона

Если в разделе 20 страниц, а кто-то (или робот, нашедший битую ссылку) запрашивает /page-999/, страница не должна отдавать пустой список товаров с кодом 200. Пустая страница с кодом «всё хорошо» — это мусор в индексе: поисковик набирает пустышки-дубли, которые тратят краулинговый бюджет. Правильная реакция:

СитуацияПравильный ответ сервера
Запрошена страница за пределами диапазона404 Not Found либо 301 на последнюю/первую страницу
Запрошена /page-1/301 на базовый URL раздела
Раздел без товаров (пустая категория)Осмысленная страница либо 404 — но не «битый» пустой список 200
Существующая страница в диапазоне200 OK, самоканоническая
Правило кодов ответа: реальная страница пагинации — 200 и самоканонична; page-1 — 301 на базовый URL; выход за диапазон — 404 или 301. Пустой список товаров с кодом 200 за пределами диапазона недопустим: это фабрика дублей.

Сортировки и фильтр в пагинации

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

Сортировки

Сортировка меняет порядок тех же товаров, но не сам их состав в рамках раздела. Для поиска это дубль. Практика: параметры сортировки (?sort=, ?order=) закрывают от обхода в robots и/или канонизируют версию с сортировкой на версию без неё. Пользователю сортировка нужна, роботу — нет, поэтому её держат вне индекса.

Фильтры

С фильтром сложнее, потому что фильтры бывают двух видов. Технические параметрические комбинации фильтра — это дубли, которые закрывают от обхода. А осмысленные комбинации под спрос, превращённые в индексируемые ЧПУ-посадочные, — это самостоятельные страницы, и у каждой такой посадочной своя пагинация. Её строят по тем же правилам: ЧПУ-адреса страниц, самоканоничность, обработка выхода за диапазон. То есть у ЧПУ-страницы фильтра /catalog/obuv/krasnye/ есть свои /page-2/, /page-3/, и они живут по той же логике, что пагинация обычной категории.

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

Пагинация и краулинговый бюджет

На большом каталоге пагинация напрямую влияет на краулинговый бюджет — объём внимания, который поисковик выделяет сайту. Здесь есть тонкий баланс. С одной стороны, страницы пагинации нужны, чтобы робот дошёл до всех товаров. С другой — если пагинация плодит дубли (page-1, сортировки, параметры), робот тратит бюджет на мусор вместо товаров.

Как пагинация экономит или транжирит бюджет:

Фактор пагинацииВлияние на краулинг
Чистые ЧПУ-ссылки на страницыРобот эффективно доходит до всех товаров
Дубль page-1Лишний обход одинакового контента
Пустые страницы за диапазономБюджет уходит на пустышки
Комбинации сортировок в пагинацииКратный рост числа обходимых URL
Быстрый ответ страницБольше страниц за визит робота

Вывод: пагинация должна быть «худой» — минимум лишних адресов, никаких дублей и пустышек, быстрый ответ. Тогда бюджет тратится на реальные товары и категории. Тема краулингового бюджета для крупного магазина заслуживает отдельного разбора — мы посвятили ей материал про краулинговый бюджет большого магазина на 1С-Битрикс, где пагинация рассматривается в связке с robots, sitemap и скоростью.

робот бюджет Чисто /page-2/ /page-3/ товары бюджет на товары Дубли /page-1/ (дубль) ?sort= (дубль) /page-999/ (пусто) ?view= (дубль) бюджет на мусор
Схема: при чистой пагинации бюджет робота уходит на товары, при замусоренной — на дубли page-1, сортировки и пустые страницы. Задача — держать схему слева.

Скорость подгрузки и производительность

Способ разбивки каталога влияет не только на индексацию, но и на скорость — а скорость, в свою очередь, важна и для UX, и для SEO. Разные способы нагружают браузер по-разному.

Как держать подгрузку быстрой

Производительность каталога — большая тема, тесно связанная с Core Web Vitals. Подгрузка и пагинация — лишь один из её факторов, но заметный: тяжёлая бесконечная лента способна испортить метрики даже при в остальном быстром сайте. Смежные вопросы скорости мы разбираем в рубрике «Разработка и архитектура».

Мобильный UX постраничной навигации

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

Практический компромисс для мобильных: «показать ещё» как основной механизм подгрузки плюс доступный полноценный пейджер со ссылками (пусть даже свёрнутый). Так пользователь получает удобную кнопку, а робот и те, кому нужна конкретная страница, — настоящие ссылки. И обязательно оставляйте футер достижимым: важные ссылки на доставку, оплату и контакты не должны «убегать» вниз бесконечно.

Реализация: компоненты, ЧПУ, canonical

Соберём практическую последовательность внедрения правильной пагинации на 1С-Битрикс — от адресов до кодов ответа.

  1. Включите ЧПУ-адреса страниц. Настройте комплексный компонент каталога и шаблон постраничной навигации так, чтобы страницы имели адреса /page-N/ вместо ?PAGEN_1=N.
  2. Уберите дубль первой страницы. Первая страница — только базовый URL; page-1 и ?PAGEN_1=1 редиректятся 301 на чистый адрес.
  3. Выводите настоящие ссылки. В шаблоне пейджера — обычные <a href> на страницы; кнопка «показать ещё» тоже ссылка на следующую страницу.
  4. Сделайте страницы самоканоническими. Каждая /page-N/ ссылается каноническим адресом сама на себя, а не на первую страницу.
  5. Уникализируйте метатеги. Добавьте номер страницы в title (шаблоном), решите вопрос с description на глубоких страницах.
  6. Обработайте выход за диапазон. Несуществующие страницы отдают 404 или 301, а не пустой список с кодом 200.
  7. Разберитесь с сортировками. Параметры сортировки закройте от обхода и/или канонизируйте на версию без сортировки.
  8. Надстройте подгрузку. Добавьте JS-подгрузку и/или прокрутку поверх ссылок как прогрессивное улучшение, с обновлением URL через History API.
  9. Проверьте индексацию. Убедитесь в вебмастере, что товары со страниц 2, 3, N попадают в индекс, а дублей и пустышек нет.

Эта последовательность универсальна: сначала — правильные адреса и коды ответов, потом — canonical и метатеги, и только в конце — красивая подгрузка. Если начать с прокрутки и «забыть» про ссылки, получится тот самый провал индексации, с которого мы начали.

Частые ошибки пагинации

Эти промахи встречаются чаще всего и обходятся дорого — потерянной индексацией или лавиной дублей:

Чек-лист приёмки

Практический список для проверки пагинации перед запуском:

  1. ЧПУ включены. Страницы имеют адреса /page-N/, а не ?PAGEN.
  2. Настоящие ссылки. В пейджере обычные <a href>; «показать ещё» — тоже ссылка.
  3. Нет дубля page-1. Первая страница только по базовому URL; page-1 редиректится 301.
  4. Самоканоничность. Каждая страница пагинации канонична сама себе, а не на первую.
  5. Выход за диапазон. Несуществующие страницы отдают 404 или 301, не пустой список 200.
  6. Метатеги уникальны. Номер страницы отражён в title; description не дублируется.
  7. Сортировки под контролем. Параметры закрыты от обхода и/или канонизированы.
  8. Подгрузка как улучшение. JS-подгрузка/прокрутка надстроены поверх ссылок и деградируют без JS.
  9. Производительность в норме. DOM не разрастается, изображения ленивые, порции разумного размера.
  10. Индексация проверена. Товары со страниц 2, 3, N попадают в индекс; дублей и пустышек нет.

Вывод

Пагинация каталога — это не выбор «пагинация против бесконечной прокрутки», а вопрос, есть ли в разметке настоящие ссылки на страницы. Классическая пагинация и «показать ещё» безопасны по умолчанию, потому что дают роботу честные адреса; бесконечная прокрутка красива для пользователя, но без ссылок делает большую часть ассортимента невидимой для поиска. Правильная архитектура объединяет и то, и другое: настоящие ЧПУ-страницы /page-N/ как фундамент и плавная подгрузка на JavaScript как надстройка.

Технические детали складываются в дисциплину: ЧПУ вместо параметров, самоканоничность вместо canonical на первую, уникальные метатеги со номером страницы, 301 для дубля page-1 и 404/301 за пределами диапазона, контроль сортировок и внимание к скорости. Настроенная так пагинация одинаково хорошо служит и покупателю, который листает каталог, и поисковику, который обходит весь ассортимент. А устаревшая ставка на rel=next/prev уступает место простому и надёжному принципу: настоящие ссылки важнее спецтегов.

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

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

Для SEO надёжнее классическая пагинация с настоящими ссылками на страницы: робот видит адреса /page-2/, /page-3/ и обходит все товары каталога. Бесконечная прокрутка сама по себе не запрещена, но если её сделать чисто на JavaScript без реальных ссылок, робот не найдёт товары со второй и последующих «экранов». Поэтому вопрос стоит не «пагинация против прокрутки», а «есть в разметке настоящие ссылки на страницы или нет». Прокрутку и «показать ещё» можно и нужно строить поверх обычных ссылок как прогрессивное улучшение.

Какой canonical ставить на страницах пагинации в Битрикс?

Актуальная безопасная практика — самоканонические страницы: /page-2/ ссылается сама на себя, а не на первую страницу раздела. Если поставить canonical со всех страниц пагинации на первую, поисковик может воспринять товары со 2-й и далее как второстепенные и хуже их индексировать. Единственное исключение — когда вторая и последующие страницы действительно являются дублем первой (например, из-за технического параметра), тогда каноничность на основной адрес уместна. Но обычную постраничную навигацию каталога лучше держать самоканонической.

Нужны ли сейчас теги rel="next" и rel="prev"?

Google официально сообщил, что перестал использовать rel=next/prev как сигнал индексирования ещё несколько лет назад. Это значит, что рассчитывать на них как на «главный» инструмент склейки пагинации нельзя. При этом сами теги не вредят: они остаются валидной семантической разметкой, их могут учитывать другие системы и браузеры, поэтому их часто оставляют. Главный вывод: не полагайтесь на rel=next/prev как на решение SEO-задач пагинации — опирайтесь на настоящие ссылки, самоканоничность и внутреннюю перелинковку.

Как в Битрикс сделать ЧПУ-пагинацию /page-2/ вместо ?PAGEN_1=2?

Стандартный компонент bitrix:catalog и связанный с ним bitrix:catalog.section умеют работать с человекопонятными адресами страниц через настройку постраничной навигации и правила обработки URL. Включается поддержка ЧПУ в параметрах комплексного компонента (SEF-режим) и в шаблоне постраничной навигации, а фрагмент /page-N/ прописывается в правилах SEF. На практике это делается на уровне шаблона сайта и настроек компонента, а не правкой ядра. Итог — адреса вида /catalog/obuv/page-2/ вместо параметра PAGEN, которые чище выглядят и лучше воспринимаются и пользователем, и поисковиком.

Что делать со страницами пагинации за пределами реального диапазона?

Если запрошена страница, которой нет (например, /page-999/ при 20 реальных страницах), она не должна отдавать «пустой» каталог с кодом 200. Такую страницу либо возвращают с кодом 404, либо делают редирект 301 на последнюю существующую или на первую страницу раздела. Иначе поисковик набирает в индекс пустые страницы-дубли, которые тратят краулинговый бюджет и размывают качество раздела. Правильная обработка выхода за диапазон — обязательный пункт при приёмке пагинации.

Почему появляется дубль первой страницы и как его убрать?

Дубль возникает, когда первая страница раздела доступна по двум адресам: чистому /catalog/obuv/ и техническому /catalog/obuv/page-1/ или /catalog/obuv/?PAGEN_1=1. Оба отдают один и тот же контент — это классический дубль. Лечится тем, что первая страница всегда живёт по чистому базовому URL без суффикса page-1, а любые варианты с page-1 или PAGEN=1 редиректятся 301 на базовый адрес. В самоканонической схеме базовый адрес каталога и является каноническим для первой страницы.

Как сортировки и фильтр влияют на пагинацию с точки зрения SEO?

Сортировки и параметры вида порождают дополнительные комбинации адресов поверх пагинации: одна и та же вторая страница может существовать в вариантах «по цене», «по популярности» и так далее. Эти параметрические варианты — дубли, их закрывают от обхода в robots и/или канонизируют на версию без сортировки. А вот индексируемые ЧПУ-страницы фильтра — это самостоятельные посадочные, и у них своя пагинация, которую тоже нужно строить по тем же правилам: ЧПУ-адреса страниц, самоканоничность, обработка выхода за диапазон.

Замедляет ли бесконечная прокрутка сайт и как это исправить?

Да, наивная бесконечная прокрутка может тяжело сказаться на производительности: в DOM накапливаются сотни и тысячи карточек, растёт потребление памяти, страница начинает «лагать» на мобильных, а метрики скорости ухудшаются. Лечится это ограничением количества одновременно отрисованных карточек (виртуализация или выгрузка ушедших за экран), ленивой загрузкой изображений, разумным размером порции подгрузки и кэшированием ответов. Если прокрутка построена поверх обычных страниц пагинации, у пользователя всегда есть возможность перейти по ссылке, а подгрузка остаётся необязательным улучшением.

Поделиться:

Пагинация каталога мешает индексации ассортимента?

Настроим ЧПУ-пагинацию с самоканоничностью и SEO-безопасной подгрузкой, уберём дубли page-1 и пустые страницы, вернём товары со всех страниц в индекс. Рассчитаем работу по вашему сайту.

Услуга «SEO-структура»

Редакция B2Bsite

Редакция студии B2Bsite. С 2014 года команда настраивает техническое SEO интернет-магазинов на 1С-Битрикс: индексацию каталога, пагинацию и ЧПУ, дубли фильтра и краулинговый бюджет для среднего и крупного бизнеса.

← Все статьи блога