Оффтоп SEO блиц
498

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

Что такое пагинация

В закладки

Пагинация (pagination, пейджинг, листинг) происходит от слов «page» и «navigation» и в буквальном смысле означает «постраничную навигацию». Вывод массива данных (например товаров в категории интернет-магазина) с разбиением на несколько страниц.

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

Нужно ли закрывать ее от индексации

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

К сожалению, на момент написания заметки ни в одной CMS данный функционал не реализован полноценно, что заставляет проводить доработки и вносить правки в логику работы. Если этого не сделать, то
страницы-пагинации будут дублировать контент, заголовки и мета-теги первой страницы, а поисковые системы, как известно, негативно относятся к дублям на сайте.

Отношение к пагинации у Яндекса и Google

В своем блоге Яндекс советует использовать атрибут rel="canonical" тега <link>, в котором в качестве канонического адреса необходимо указывать первую страницу. В поиске будет участвовать только она одна, но остальные страницы будут посещаться поисковым роботом, с которых он перейдет на страницы товаров.

Google же предлагает три варианта реализации:

  • Ничего не делать и положиться на алгоритм Google — он сам выберет страницу с наиболее релевантным содержимым.
  • В атрибуте rel="canonical" в качестве канонической указать страницу «Показать все», на которой выводились бы все товары категории.
  • Указать логическую связь между страницами пагинации с помощью атрибутов rel="next" и rel="prev" для тега <link>.

Первый вариант отметаем сразу, так как в Яндексе будет полный беспорядок.

Второй вариант имеет право на жизнь, что подтверждается представителем Яндекса в одном из обсуждений «Клуба о поиске Яндекса». Но если на вашем сайте в категории огромное количество товаров, которые будут выведены на одной странице, это может создать сложности для индексации и верного восприятия содержимого страницы. К тому же, таким образом вы даете понять поисковикам, что именно эту страницу необходимо ранжировать, а значит в поиске будет появляться именно она, и при переходе на нее пользователи будут долго ждать полной загрузки. Получается, что пагинация не будет выполнять своей функции. Поэтому такой способ применим только для небольших каталогов.

Третий вариант отлично работает для Google, но, к сожалению, данные атрибуты не воспринимаются Яндексом, и без дополнительных настроек будет неразбериха, как и при первом варианте.

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

Чтобы найти компромисс между рекомендациями Яндекса и Google, мы в своей работе придерживаемся следующих правил:

  • Страницы пагинации открыты для индексации (исключение составляют страницы вида пагинация+сортировка и пагинация+фильтрация, если для фильтрации не предусмотрен корректно реализованный функционал смарт-фильтра).
  • Текст с описанием категории выводится только на первой странице. На второй, третьей и так далее страницах он не выводится (не скрывается в display:none, а именно не выводится). Это актуально для интернет-магазинов и неактуально, например, для раздела статей или новостей — в этом случае у разделов не бывает описаний, а в качестве контента выступают превью статей/новостей.
  • Первая страница должна быть доступна только по адресу без префикса пагинации. Например, в Bitrix пагинация по умолчанию строится с помощью GET-параметров, которые имеют вид PAGEN_1=N, где N — номер страницы пагинации. Допустим, первая страница категории имеет вид /catalog/category/, вторая — /catalog/category/?PAGEN_1=2, третья — /catalog/category/?PAGEN_1=3 и так далее. В этом случае важно, чтобы первая страница НЕ была доступна по адресу /catalog/category/?PAGEN_1=1 (это можно настроить с помощью 301-редиректов и правильного построения ссылок в навигационной цепочке).
  • Мета-теги и заголовок Title не должны дублироваться. Например, если для первой страницы задан оптимизированный title, то для страниц пагинации его можно строить по шаблону «%name% — страница N», где %name% — название категории, а N — номер страницы пагинации.
  • Используем атрибуты rel="next" и rel="prev" тега <link> — для Google это будет плюсом, для Яндекса вреда не принесет.

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

  • Указание в качестве канонической страницы вида «Показать все» для больших каталогов неприемлемо, как описывалось выше.
  • Указание в качестве канонической первой страницы категории создаст трудности для Google — это не вписывается ни в одну рекомендацию и может создать проблемы при индексации и верном восприятии сайта.
  • Задание уникальных мета-тегов и заголовков в совокупности с различными выводимыми товарами делает страницы пагинации уже не дубликатами — на каждой из них свой контент. По этой же причине связывать их через rel="canonical" становится нелогично.
  • Благодаря оптимизированным мета-тегам, заголовкам и описанию, в поиске приоритет всегда будет отдаваться первой странице категории. Однако если возникнет ситуация, что в выдаче Яндекса ее место займет какая-либо страница пагинации, это можно расценивать как сигнал о переоптимизации страницы, что упрощает обнаружение данного фильтра.

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

Ждите новые заметки в блоге или ищите на нашем сайте.

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "SEO блиц", "author_type": "self", "tags": [], "comments": 6, "likes": 1, "favorites": 1, "is_advertisement": false, "subsite_label": "flood", "id": 41221, "is_wide": false }
00
дни
00
часы
00
мин
00
сек
(function(){ var banner = document.querySelector('.teaserSberbank'); var isAdsDisabled = document.querySelector('noad'); if (!isAdsDisabled){ var countdownTimer = null; var timerItem = document.querySelectorAll('[data-sber-timer]'); var seconds = parseInt('15388' + '59599') - now(); function now(){ return Math.round(new Date().getTime()/1000.0); } function timer() { var days = Math.floor(seconds / 24 / 60 / 60); var hoursLeft = Math.floor((seconds) - (days * 86400)); var hours = Math.floor(hoursLeft / 3600); var minutesLeft = Math.floor((hoursLeft) - (hours * 3600)); var minutes = Math.floor(minutesLeft / 60); var remainingSeconds = seconds % 60; if (days < 10) days = '0' + days; if (hours < 10) hours = '0' + hours; if (minutes < 10) minutes = '0' + minutes; if (remainingSeconds < 10) remainingSeconds = '0' + remainingSeconds; if (seconds <= 0) { clearInterval(countdownTimer); } else { timerItem[0].textContent = days; timerItem[1].textContent = hours; timerItem[2].textContent = minutes; timerItem[3].textContent = remainingSeconds; seconds -= 1; } } timer(); countdownTimer = setInterval(timer, 1000); } else { banner.style.display = 'none'; } })();
{ "id": 41221, "author_id": 166702, "diff_limit": 1000, "urls": {"diff":"\/comments\/41221\/get","add":"\/comments\/41221\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/41221"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199791 }

6 комментариев 6 комм.

Популярные

По порядку

Написать комментарий...

Комментарий удален

2

Индексация пагинации способствует сканированию сайта поисковыми роботами. Например, они получают доступ к страницам товаров, ссылки на которые идут только со 2..N страницы пагинации.

Вы можете возразить, что для этого есть xml карта сайта, но по опыту наличие ссылки на товара с сайта (с пагинации) ускоряет индексацию.
Ну и при полном закрытии пагинации, нарушается естественное распределение ссылочного веса по сайту, что тоже не очень хорошо.

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

Ответить

Комментарий удален

3

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

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

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

Ответить

Комментарий удален

1

Уточните, что вы считаете "бесполезными" страницами.
Контакты - так это одна из самых полезных страниц сайта, как для пользователя, так и для поисковика. И мне кажется, что это общепризнанный факт.

Бесполезными страницами можно назвать различные варианты каталога с гет-параметрами (сортировка, фильтрация и т.д.). Т.е. страницы, которые генерируются в огромном количестве, при этом содержание страниц практически не отличается от основного раздела.
Такие бесполезные страницы действительно необходимо закрывать, чтобы не получить огромного количества дубликатов в индексе.

Ответить

Комментарий удален

2

Если вспомнить матчасть, то вот.
https://yandex.ru/support/webmaster/recommendations/indexing.html

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

По какой логике в данный список могли попасть "Контакты" и "О компании"?

Ответить

Комментарий удален

–1

Спасибо за конструктивные комментарии) Дальнейшую дискуссию считаю бессмысленной.

Ответить

Комментарий удален

2

Смотря как закрывать. Если через robots.txt - то и не загрузит. Если через мета noindex follow - загрузит, увидит ссылки на ней, в индекс страницу не добавит.
Но вот с закрытием о компании, контактов и тем более целых категорий - явный перебор (особенно последнее). Это очевидно полезные страницы.
Плюс при открытой пагинации был нестандартный кейс ее использования - определение переоптимизации для основной (первой) страницы каталога.
Так что в индексе не мешает, пользу принести может, времени на настройку много не отнимает. Не вижу причин не использовать такие страницы.

Ответить

Комментарий удален

0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Нейронная сеть научилась читать стихи
голосом Пастернака и смотреть в окно на осень
Подписаться на push-уведомления