Содержание13
- Что такое пагинация и зачем её делают
- Пагинация, «Показать ещё» или бесконечная прокрутка?
- Как поисковик находит страницы пагинации?
- Адреса страниц: ?page=N и первая страница
- Нужен ли canonical на страницах пагинации?
- Title, description и текст на страницах 2, 3 и дальше
- Rel next и prev, noindex и robots.txt
- Бесконечная прокрутка без потерь для поиска
- Как проверить пагинацию на сайте?
- Частые ошибки с пагинацией
- С чего начать, если в каталоге уже есть пагинация
- Частые вопросы
- Источники
Пагинация — разбивка длинного списка товаров, статей или отзывов на пронумерованные страницы. Для поиска она безопасна, если у каждой страницы свой адрес вида ?page=2, свой canonical на саму себя и обычные ссылки a href на соседние страницы. Кнопка «Показать ещё» и бесконечная прокрутка без таких адресов прячут часть списка от робота.
Что такое пагинация и зачем её делают
Пагинация, или постраничная навигация, — блок с номерами страниц и ссылками «Назад» и «Далее» внизу списка. Его ставят в каталогах, разделах блога, ленте новостей, отзывах на карточке товара.
Причина простая: длинный список тяжело показать целиком. Google перечисляет плюсы показа по частям: страница быстрее открывается на устройстве пользователя, передаётся меньше данных, сервер работает эффективнее, а сайт надёжнее — слишком длинный список может исчерпать ресурсы и вызвать ошибки в браузере и на сервере.
Для SEO пагинация — компромисс. Посетителю удобно, а поисковику нужно добраться до каждого товара на странице 2, 3 и дальше. Если робот не увидит эти страницы, товары с них будут известны поиску только из карты сайта и других разделов.
Пагинация безопасна для поиска, пока робот может пройти по всем страницам списка обычными ссылками.
Пагинация, «Показать ещё» или бесконечная прокрутка?
Есть три способа показать список по частям, и Google сравнивает их по удобству для посетителя. Мы добавили колонку о том, что каждый способ значит для поиска.
| Способ | Плюсы для посетителя | Минусы для посетителя | Что видит робот |
|---|---|---|---|
| Пагинация | видно размер списка и свою позицию в нём | надо переходить между страницами | все страницы, если номера — ссылки a href |
| Кнопка «Показать ещё» | все результаты на одной странице, видно общее число | нельзя показать очень большой список | только первую порцию, если нет отдельных адресов |
| Бесконечная прокрутка | просто листать вниз | непонятно, сколько осталось до конца | только первую порцию, если нет отдельных адресов |
Для каталога и блога берите классическую пагинацию: её проще всего настроить правильно. «Показать ещё» и бесконечная прокрутка подходят для ленты, где порядок не важен, — но только если за ними стоят адреса страниц, о которых ниже.
Мнение. Если каталог продаёт через поиск и в разделе больше одной страницы товаров, не меняйте пагинацию на бесконечную прокрутку ради красоты. Если всё-таки меняете, сначала сделайте адреса для каждой порции.
Как поисковик находит страницы пагинации?
Робот находит страницы по ссылкам. Google пишет, что обычно сканирует адреса из атрибута href элементов a, а кнопки не нажимает и функции JavaScript, которые обновляют контент по действию пользователя, не запускает.
Отсюда главное правило: номера страниц и ссылка «Далее» должны быть настоящими ссылками.
<nav class="pagination" aria-label="Страницы каталога">
<a href="https://site.ru/catalog/okna/">1</a>
<span aria-current="page">2</span>
<a href="https://site.ru/catalog/okna/?page=3">3</a>
<a href="https://site.ru/catalog/okna/?page=3">Далее</a>
</nav>
Google советует на каждой странице ставить ссылку на следующую и ссылку на первую страницу списка, чтобы при выборе целевой страницы он отдавал предпочтение первой. Ссылки с решёткой вроде #page2 не подходят: Google игнорирует всё после символа #, и такую ссылку робот может принять за уже просканированную.
Чтобы робот нашёл все товары, даже если пагинация где-то сломана, Google советует создать файл sitemap или фид Merchant Center.
Факт. Роботы Google не нажимают кнопки и не запускают JavaScript, который подгружает контент по действию пользователя: страницы пагинации они находят по ссылкам a href.
Адреса страниц: ?page=N и первая страница
У каждой страницы списка должен быть свой постоянный адрес. Google рассматривает каждую страницу пагинации как отдельную и предлагает добавлять в адрес параметр ?page=n. Подойдёт и путь вида /page/2/ — важно, чтобы адрес не менялся и по нему всегда открывалось одно и то же.
Первую страницу держите на адресе раздела без номера. Если CMS отдаёт её ещё и по адресу ?page=1, получается дубль: поставьте с него 301 редирект на адрес раздела и уберите ?page=1 из ссылок пагинации.
В Яндексе есть своя ловушка — директива Clean-param в robots.txt. В ней перечисляют параметры, которые роботу не нужно учитывать. Если по ошибке добавить туда page, Яндекс перестанет различать адреса ?page=2 и ?page=3 и сведёт их к адресу раздела — товары с дальних страниц потеряют проход для робота. В Clean-param — только метки, идентификаторы сессий и сортировки, но не номер страницы.
Номер страницы — значащий параметр: он меняет содержимое, поэтому его не склеивают и не убирают из адреса.
Нужен ли canonical на страницах пагинации?
Нужен, но каждой странице — на саму себя. Google прямо пишет: не используйте первую страницу списка в качестве канонической, назначайте каждой странице её собственный канонический адрес.
Canonical со всех страниц на первую — частая и вредная настройка. Она говорит поисковику, что страница 2 копирует страницу 1, хотя товары на них разные. Яндекс в таком случае может и сам не послушаться: робот не учтёт канонический адрес, если контент неканонических страниц существенно отличается от канонической. Но рассчитывать на это не стоит — пропишите правильный canonical сразу.
Правильная схема для раздела с тремя страницами:
| Адрес | canonical | Что ещё |
|---|---|---|
| /catalog/okna/ | /catalog/okna/ | ссылки на 2, 3 и «Далее» |
| /catalog/okna/?page=2 | /catalog/okna/?page=2 | ссылки на 1, 3 и «Далее» |
| /catalog/okna/?page=3 | /catalog/okna/?page=3 | ссылки на 1 и 2 |
| /catalog/okna/?page=1 | — | 301 на /catalog/okna/ |
Исключение — сортировки и фильтры. Варианты одного списка вроде ?order=price Google советует закрывать от индексирования метатегом noindex или шаблоном в robots.txt, чтобы в индекс не попали копии одних и тех же страниц. Как записать такой шаблон, разобрали в статье про файл robots.txt.
Title, description и текст на страницах 2, 3 и дальше
Здесь справки Яндекса и Google расходятся. Яндекс, когда разбирает одинаковые заголовки и описания, советует разнообразить автоматические заголовки — например, добавить номер страницы. Google, наоборот, пишет, что для страниц со списком результатов можно использовать одно название и описание: он сам разберётся в последовательности.
Добавить номер в title — дёшево и устраивает обоих:
Окна ПВХ — каталог (страница 1)
Окна ПВХ — каталог, страница 2 (страница 2)
Так в Вебмастере не появятся предупреждения о дублях title, а Google это не помешает. Description на страницах пагинации можно оставить тем же или собрать по шаблону с номером.
Текст о разделе, преимущества и FAQ держите только на первой странице. На второй и дальше они повторяются слово в слово, и страницы становятся похожими друг на друга. Поисковику нужна одна сильная страница раздела, а страницы пагинации — проход к товарам.
Факт. Яндекс советует добавлять в автоматически созданные заголовки номер страницы, а Google допускает одно название и описание для всех страниц списка.
Rel next и prev, noindex и robots.txt
Раньше страницы пагинации связывали тегами link rel="next" и rel="prev" в head. Google сообщает, что раньше определял по ним следующую и предыдущую страницы, а сейчас игнорирует, хотя их могут использовать другие поисковые системы. Если теги уже стоят в шаблоне, они не мешают. Ставить их ради Google нет смысла.
Закрывать страницы пагинации от индексирования без причины не стоит. Метатег noindex убирает страницу из поиска, а запрет в robots.txt вовсе не пускает на неё робота — товары со страниц 2, 3 и дальше тогда остаются без проходных ссылок из раздела. Закрывают не пагинацию, а её копии: сортировки, фильтры без спроса, служебные параметры.
При этом не удивляйтесь, если Яндекс сам исключит часть страниц пагинации из поиска. В справке он называет страницы пагинации среди тех, что могут не попасть в поиск, наряду со страницами подбора товара и сравнений. Это нормально: в выдаче нужна страница раздела, а страницы списка нужны роботу как путь к товарам.
Бесконечная прокрутка без потерь для поиска
Бесконечную прокрутку и кнопку «Показать ещё» можно сделать дружелюбными к поиску. Для этого за каждой порцией товаров должна стоять обычная страница пагинации.
Рекомендации Google для такой схемы:
Проще говоря, под бесконечной прокруткой должна жить обычная пагинация со ссылками, которую видит робот, а посетитель видит плавную ленту. Если разработчик не готов это сделать, оставьте классические номера страниц.
Как проверить пагинацию на сайте?
Начните с исходного кода страницы раздела: найдите блок пагинации и убедитесь, что номера — это a href с адресами, а не кнопки. Откройте вторую страницу и посмотрите canonical — он должен указывать на неё саму.
В Google Search Console проверьте вторую и третью страницы инструментом проверки URL. Он покажет, какой canonical выбрал Google и какой код страницы получил робот: если ссылки на товары появляются только после скрипта, это будет видно. Как найти инструмент, описано в статье как подключить сайт к Google Search Console.
В Яндекс Вебмастере откройте «Индексирование -> Страницы в поиске» и найдите исключённые страницы пагинации. Статус покажет причину: дубль, малоценная страница или запрет индексирования. Если статус «Дубль» и основной указана первая страница, ищите canonical на первую или параметр page в Clean-param.
Отдельно сверьте, что товары с последних страниц раздела есть в карте сайта.
Частые ошибки с пагинацией
Ошибки в пагинации почти всегда сидят в шаблоне каталога, поэтому повторяются на каждой странице раздела. Вот что встречается чаще всего:
- 01 Canonical на первую страницу со всех
Страницы 2, 3 и дальше выпадают как дубли, вместе с ними слабеет путь к товарам.
- 02 Номера страниц на JavaScript
Визуально пагинация есть, а ссылок a href нет, робот видит только первую порцию.
- 03 Ссылки с решёткой
Адреса вида #page2 Google игнорирует.
- 04 page в Clean-param
Яндекс склеивает разные страницы списка в одну.
- 05 noindex или запрет в robots.txt на всю пагинацию
Товары с дальних страниц остаются без проходных ссылок.
- 06 SEO-текст на каждой странице
Одинаковый блок делает страницы списка похожими друг на друга.
- 07 ?page=1 без редиректа
Первая страница живёт по двум адресам.
С чего начать, если в каталоге уже есть пагинация
Возьмите самый большой раздел каталога и пройдите проверку из раздела выше: ссылки a href, canonical на себя, номер страницы в title, нет ?page=1 и page в Clean-param. Исправления в шаблоне раздела сразу разойдутся на весь сайт.
Затем проверьте сортировки и фильтры: закрыты ли их варианты от индексирования и не уходят ли туда ссылки пагинации. Если вы переводите каталог на «Показать ещё» или бесконечную прокрутку, договоритесь с разработчиком, что под ними останутся адреса страниц.
Если каталог большой, а пагинация, фильтры и canonical настроены разными модулями, разобраться быстрее на аудите. В рамках SEO-аудита мы проверяем шаблоны каталога, находим, где теряются товары, и даём программисту список правок по каждому шаблону.
Источники
- Как разбивка на страницы и постепенная загрузка страниц влияют на отображение результатов в Google Поиске — Google
- Устранение неполадок на страницах с отложенной загрузкой — Google
- Одинаковые заголовки и описания (дубли) — Яндекс
- Канонический адрес страницы — Яндекс
- Директива Clean-param — Яндекс
- Почему страницы исключены из поиска — Яндекс