Логотип seo-prodvizhenie-biznesa.ru
+7 (921) 333-77-45

Пагинация каталога: rel=next отменили, что ставить вместо него

Пагинация каталога: rel=next отменили, что ставить вместо него
Анатолий Кузнецов
Анатолий Кузнецов
SEO-оптимизатор с 20-летним стажем. Автор блога seo-prodvizhenie-biznesa.ru о продвижении и доработке сайтов.

Пагинация каталога больше не управляется атрибутами rel=next и rel=prev: Google официально сообщил об этом в 2019 году и добавил неприятную подробность — как индексирующий сигнал они не использовались задолго до объявления. Яндекс отдельного сигнала пагинации не применял никогда.

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

Что отменил Google в 2019-м и чего у Яндекса не было никогда

Отменили одно: трактовку rel=next и rel=prev как указания считать несколько адресов одной последовательностью. Раньше по этой логике вес страниц списка сводился к первой, а карточки со всех страниц считались частью общего набора. Сейчас каждая страница живёт сама по себе.

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

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

Что делали по старым инструкциям Работает ли сейчас Что вместо этого
Прописывали rel=next и rel=prev, чтобы «склеить» список как сигнал индексации — нет оставить как разметку, не рассчитывать на неё
Ставили канонический адрес всех страниц на первую во вред: дальние страницы выпадают из обхода самоканонический адрес на каждой странице
Закрывали пагинацию от индексации лишает робота пути к карточкам оставить открытой, но различимой

Как робот обходит большой каталог без этих атрибутов — в материале про то, как Яндекс обходит каталог из 500 страниц.

Чем заменить rel=next: обходимые ссылки на страницы 2 и 3

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

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

  • Ссылки на ближайшие номера и на последнюю страницу. Нумерация «1 2 3 … 40» даёт короткий путь вглубь вместо сорока переходов.
  • Один вид адресов. Умеет шаблон и номер в пути, и параметр с номером — оставьте одно, со второго редирект.
  • Первая страница без номера. Адрес раздела и «страница 1» не должны быть двумя рабочими адресами.
  • Ссылки видны сразу. Блок, который появляется после нажатия на «ещё», в исходном коде отсутствует.
  • Устойчивая сортировка. При случайном порядке состав второй страницы меняется при каждом обходе.

Канонический адрес на первую страницу — почему это вредит каталогу

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

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

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

Вариант обработки Что будет с обходом карточек Когда уместен
Самоканонический адрес на каждой странице карточки со всех страниц доступны роботу базовый вариант для любого каталога
Канонический на первую страницу дальние страницы теряют обход, карточки выпадают практически никогда
Канонический на страницу «показать все» карточки доступны, если она грузится быстро раздел до сотен позиций
Запрет обхода в robots.txt дальние карточки не видны вообще когда у товара есть другие пути

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

Заголовок и описание страниц пагинации: номер обязателен

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

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

Бесконечная прокрутка, «показать ещё» и шаг выдачи

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

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

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

Для больших разделов разумнее дробить ассортимент на подкатегории и фильтры: подкатегория отвечает на конкретный запрос, а сороковая страница списка — ни на один. Как из фильтров делают посадочные страницы, я показывал в материале про фильтры в каталоге, которые приносят до 40% трафика.

Фильтры, сортировки и метки поверх пагинации: арифметика дублей

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

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

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

Clean-param, Disallow и канонические адреса: что где работает

Директива Clean-param в robots.txt — инструмент Яндекса: она сообщает роботу, что параметр на содержимое не влияет и адреса с ним и без него надо считать одним. Указывается имя параметра и, при необходимости, префикс пути; синтаксис — в справке Яндекс.Вебмастера, раздел про robots.txt. Способ самый точный: адрес остаётся доступен людям, но обход на него не тратится. Google директиву игнорирует, аналога у него сейчас нет.

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

Тип адреса Яндекс Google Если не делать ничего
Сортировка, отображение, шаг выдачи Clean-param канонический без параметров, при объёме плюс Disallow кратный рост адресов
Рекламные метки Clean-param канонический адрес без метки дубли и разбитая статистика
Идентификаторы сессий убрать в движке убрать в движке бесконечное число адресов
Страницы пагинации самоканонические, открыты самоканонические, открыты терпимо при разных заголовках
Фильтры без спроса Disallow по маске Disallow по маске десятки тысяч малоценных страниц

Практический вывод: robots.txt магазина, работающего на обе системы, пишут разными блоками — общие запреты для всех роботов и отдельный блок с Clean-param для Яндекса. Сколько трафика реально приходит из Google, я считал в материале о том, что Google в России ещё жив.

Тонкие страницы пагинации и пустые страницы после удаления товаров

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

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

Ситуация Правильный ответ сервера Почему
Номер страницы больше числа существующих 404, не найдено адреса нет и не будет
Раздел сократился, дальние страницы опустели 404 либо 301 на последнюю существующую 301 сохраняет прежние ссылки
Раздел удалён, товары перенесены 301 на новый раздел сохраняет ссылки и людей из закладок
«Страница 1» запрошена с номером 301 на адрес раздела без номера убирает второй рабочий адрес одной страницы

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

Краулинговый бюджет и карта сайта каталога

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

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

В отчёте «Индексирование → Страницы в поиске», на закладке исключённых, нужны два статуса. «Дубль» — нашёлся более подходящий аналог; массово на пагинации это одинаковые заголовки или канонические адреса на первую страницу. «Малоценная или маловостребованная страница» — на дальних страницах ожидаемо, на первых страницах разделов тревожно.

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

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

Когда пагинацию каталога трогать не нужно

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

Обратная сторона: есть четыре ситуации, когда пагинацией занимаются до текстов и ссылок. Больше тридцати страниц списка в разделе; прокрутка без нумерации в коде; канонические адреса на первую страницу; новые товары попадают в поиск больше месяца.

Порядок внедрения и ошибки, которые я вижу чаще всего

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

Шаг Что сделать Как проверить
1. Инвентаризация разделы, страницы списка, набор параметров выгрузка адресов из логов
2. Ссылки в коде нумерованная пагинация ссылками, включая последнюю поиск номера второй страницы в коде
3. Канонические адреса канонический на первую заменить самоканоническим код второй страницы
4. Заголовки и описания номер со второй страницы, убрать текст раздела сравнить первую и последнюю
5. Ответы сервера 404 на номера вне диапазона, 301 с «страницы 1» подставить большой номер
6. Параметры разделить на меняющие состав и показ, Clean-param проверка robots.txt в панели
7. Карта сайта оставить товары и разделы, убрать пагинацию отчёт по файлам карты сайта
8. Контроль месяц следить за обходом и исключёнными страницами обращения к карточкам растут, к параметрам падают

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

  • Канонический адрес всех страниц на первую. Ставится раз в шаблоне и годами держит в поиске двадцать товаров из восьмисот.
  • Запрет индексации пагинации «против дублей». Дублей не будет — вместе с обходом карточек.
  • Disallow по номеру страницы. Самый быстрый способ отрезать роботу путь к дальним товарам.
  • Прокрутка без нумерации в коде. Ставят при редизайне, падение начинается через месяцы.
  • Одинаковые заголовки на всех страницах списка. Наполняет раздел исключённых страниц.
  • Пустые страницы с кодом успеха. Появляются после сокращения ассортимента и живут годами.
  • Clean-param прописан, а Google не учтён. Директиву он игнорирует, дубли для него остаются.
  • Два вида адресов у одной страницы. Старый вариант не отключили после переделки шаблона.
  • Правки без замера. Не зафиксировав долю обращений к карточкам до изменений, результат не с чем сравнить.

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

Коротко

  • Google в 2019 году подтвердил: rel=next и rel=prev не индексирующий сигнал, у Яндекса его и не было.
  • Атрибуты остаются валидным HTML и полезны браузерам, удалять не нужно — просто не рассчитывайте на них.
  • Замена одна: настоящие ссылки на страницы 2, 3 и последнюю в коде, доступные без скриптов.
  • Канонический адрес пагинации на первую выключает обход дальних страниц; нужен самоканонический.
  • Запрет индексации и обхода убирают дубли ценой доступа к карточкам — каталогу не годятся.
  • Различимость даёт номер в заголовке и описании со второй страницы и текст раздела только на первой.
  • Бесконечная прокрутка без нумерации в коде оставляет в поиске только первую порцию товаров.
  • Число страниц сокращают шагом выдачи вместе с отложенной загрузкой картинок; «показать все» — до нескольких сотен позиций.
  • Параметры показа гасят в Яндексе через Clean-param, в Google — каноническими адресами и запретами.
  • Номер вне диапазона должен отдавать 404, «страница 1» — редирект на адрес раздела, а перенаправление на главную даёт мягкие ошибки.
  • Расход обхода проверяют по «Статистике обхода» и исключённым страницам со статусами «Дубль» и «Малоценная».
  • Главный измеритель — за сколько дней робот доходит до нового товара; карта сайта ссылок не заменяет.

Увеличьте позиции и продажи вашего сайта

Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:

Анатолий Кузнецов — SEO-оптимизатор

Остались вопросы по продвижению?

Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.

Связаться со мной →

Комментарии

Сергей Владимирович

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

Анатолий Кузнецов автор

Частая находка на современных шаблонах. Прежде чем менять, проверьте второй путь к карточкам: есть ли товары в подборках, в блоках «похожие», в фильтрах-посадочных. Если есть, потери меньше, чем кажется. Задача разработчику формулируется одной фразой: выводить в блоке пагинации обычные ссылки на страницы, включая последнюю, и оставить кнопку рядом.

Марина

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

Анатолий Кузнецов автор

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

Игорь

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

Алексей Петрович

Вопрос про Clean-param. В адресах сортировка, метки кампаний и параметр валюты. Валюта меняет только отображение цены, товары те же. Её тоже в Clean-param или лучше убрать из адреса?

Анатолий Кузнецов автор

Лучше убрать, а выбор валюты хранить на стороне пользователя. Причина не в поиске, а в предсказуемости: одна страница существует в нескольких вариантах написания, и они расползутся по ссылкам и рассылкам. Если убрать нельзя, Clean-param закроет вопрос для Яндекса, а для Google нужен канонический адрес без параметра.

Ольга

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

Дмитрий

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

Анатолий Кузнецов автор

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

Наталья Сергеевна

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

Виктор

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

Анатолий Кузнецов автор

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

Роман

Дополню про порядок параметров. Фильтры собирались в том порядке, как их нажимал пользователь, и один набор свойств давал шесть вариантов адреса. Зафиксировали алфавитный порядок — уникальных адресов в обходе стало в разы меньше.

Екатерина

Не поняла момент с заголовком первого уровня. Его точно не надо менять на страницах пагинации? Подрядчик настаивает, что номер нужен и в нём, иначе страницы «неуникальны».

Павел

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

Андрей Николаевич

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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

 Нажимая «оставить комментарий» вы принимаетеправила конфиденциальности 

Прокрутить вверх