С точки зрения SEO, неправильная работа с пагинацией может вызвать серьезные проблемы с индексацией содержимого вашего сайта.
Мы подготовили пошаговое руководство по пагинации для seo, в котором рассмотрены основные проблемы и их решения с детальными примерами.
Для начала небольшая справка:
Пагинация – это порядковая нумерация страниц, которая обычно находится вверху или внизу страниц сайта.
В большинстве случаев применяется для главных страниц и разделов. Зачастую выглядит так:
Детально про то, что такое пагинация описано в Википедии.
Мы считаем этот момент важным для внутренней оптимизации сайта, поэтому в данном руководстве по пагинации для SEO рассмотрим главные нюансы и решения.
Ближе к делу!
Давайте рассмотрим некоторые из потенциальных проблем, которые возникают, когда вы используете пагинацию, без учета потенциальных проблем:
Лимит посещение поисковыми роботами для вашего сайта
Когда поисковые роботы будет сканировать ваш сайт, глубина и количество страниц, которые они будут посещать за один раз, будут варьироваться в зависимости от траста сайта, частоты обновления контента и т.д. И, если у вас есть огромное количество страниц с пагинацией, то, вероятность того, что поисковые роботы будут ходить по всем страницам пагинации и проиндексируют все конечные страницы (товары/статьи) существенно падает. Кроме того, лимит будет расходоваться на посещение страниц пагинации, а не на посещении действительно важных страниц сайта.
Проблема с дубликатами
В зависимости от структуры ваших страниц с пагинацией, весьма вероятно, что некоторые страницы могут содержать похожее или идентичное содержание. В дополнение к этому, вы будете часто обнаруживать, что у вас на сайте одинаковые теги title и meta description. В этом случае, дублированный контент может вызвать затруднение у поисковых систем, когда приходит время, чтобы определить, максимально релевантные страницы для определенного поискового запроса.
На данный момент у SEO специалистов есть 4 способа для решения данной проблемы.
Вариант 1. Удаление постраничной пагинации из индекса с помощью noindex
В большинстве случаев данный метод есть приоритетным и максимально быстро реализуемым. Его суть в исключении всех страниц пагинации из индекса, кроме первой.
Реализуется он следующим способом: такой мета-тег
<meta name=»robots» content=»noindex, follow» />
добавляется с секцию <head> на все страницы кроме первой. Таким образом мы исключаем из индекса все страницы пагинации, кроме главной страницы каталога и при этом обеспечиваем индексацию всех товаров/страниц которые принадлежат данному каталогу.
Нюансы, которые следуют учесть:
- если вы размещаете текст описания главной страницы каталога, то его все равно желательно размещать только на первой странице.
- следует проверить чтобы при не дублировался URL первой страницы. Например, если пагинации у вас реализована таким образом:
site.com/catalog?page=2
site.com/catalog?page=3
…
site.com/catalog?page=N
то, если вы находитесь на не первой странице, ссылка на первую страницу должна быть
site.com/catalog
при этом с такой страницы
site.com/catalog?page=1
должен быть настроен 301 редирект на site.com/catalog.
Плюсы
- подходит для Яндекса
- наименее сложный из всех решений
- отличный способ исключить все страницы пагинации из индекса, если нет никаких логических оснований для их включения в индекс.
Минусы
- хоть и решает потенциальную проблему пагинации, но, при этом, исключаем постраничный контент из индекса
- если много товаров, то, если не использовать xml карту сайта, товары которые глубоко находятся в каталоге будут долго индексироваться.
Вариант 2. «Смотреть всё» и rel=“canonical”
Данный способ рекомендует использовать Google: его суть заключается в создании отдельной страницы «Смотреть всё», где выводятся все товары/страницы из данного каталога, а на всех страницах пагинации мы проставляем rel=“canonical” на страницу «Смотреть всё».
Реализация данного метода: после того как вы создали страницу «Смотреть всё» (например, это site.com/catalog/view-all.html), то на всех страницах пагинации необходимо в секцию <head> разместить:
<link rel=»canonical» href=»http://site.com/catalog/view-all.html» />.
Таким образом мы показываем поисковым системам, что каждая страница пагинации, как бы является частью страницы «Смотреть всё».
Google утверждает (https://support.google.com/webmasters/answer/1663744?hl=ru), что
- для них это наиболее предпочтительный метод
- пользователи предпочитают просматривать сразу всю категорию на одной странице (хотя этот момент довольно спорный и зависит от ситуации).
Нюансы:
Страница «Смотреть всё» должна довольно быстро загружаться, желательно в пределах 1-3 секунды. Поэтому, такой способ идеально подходит для категории у которых кол-во страниц с пагинацией от 5 до 20 и не подходит для каталогов у которых сотни страниц пагинации.
Плюсы:
- приоритетный метод для Google
- все содержимое пагинации будет в индексе поисковой страницы через страницу «Смотреть всё»
Минусы:
- не подходит если много страниц или много качественных картинок для товаров/статей.
- довольно сложная реализация на большинстве стандартных CMS.
Вариант 3. Rel=“prev”/“next”
Наш последний вариант для решения проблемы с пагинацией может быть самым сложным, но это, пожалуй, самый универсальный метод для Google (Яндекс на данный момент не учитывает данные директивы). Поскольку реализация довольно сложная, то вы должны быть очень осторожны при применении этого метода. Давайте посмотрим, как это работает.
Например, вы имеете 4 странице в каталоге:
Используя rel=»prev»/»next» вы, по сути создаете цепочку между всеми страницами в данном каталоге. Данная цепочка начинается с первой страницы: для этого вы добавляете в секцию <head> :
<link rel=»next» href=»http://site.com/page2.html»>
Для первой страницы это единственный атрибут. Для второй страницы необходимо указать как предыдущую страницу, так и следующую:
<link rel=»prev» href=»http://site.com/page1.html»>
<link rel=»next» href=»http://site.com/page3.html»>
Для третьей страницы делаем аналогично второй
<link rel=»prev» href=»http://site.com/page2.html»>
<link rel=»next» href=»http://site.com/page4.html»>
Когда же мы находимся на последней четвертой странице, то должны указать только предыдущую страницу в цепочке:
<link rel=»prev» href=» http://site.com/page3.html»>.
Используя данные атрибуты rel=»prev»/»next», Google объединяет данные страницы в единый элемент в индексе. Как правило для пользователей, это будет первая страница, так как обычно она является наиболее релевантная страница.
Нюансы:
- rel=»prev» и rel=»next» являются для Google вспомогательными атрибутами, а не директивами.
- в качестве значений могут использоваться как относительные, так и абсолютные URL (в соответствии с допустимыми значениями тега <link> )
- если указать в документе ссылку <base> , относительные пути будут определяться на основе базового URL
- если Google обнаружит ошибки в вашей разметке (например, если отсутствует ожидаемое значение атрибута rel=»prev» или rel=»next»), дальнейшее индексирование страниц и распознавание содержания будет выполняться на основе собственного эвристического алгоритма Google.
- следует проверить чтобы при не дублировался URL первой страницы
Плюсы:
- позволяет решить проблему пагинации без использования «Смотреть всё»
- реализация происходит лишь с незначительными изменениями в HTML
Минусы:
- данные атрибуты не учитываются Яндексом
- реализация может быть довольно сложной
- очень внимательно нужно проставлять связи в цепочке страниц
Вариант 4. AJAX и Javascript прокрутка
Вы вероятно, столкнулся с бесконечными прокруткой товаров на сайтах электронной коммерции, на которых товары постоянно загружаются при прокрутке к нижней части экрана. Хотя это и хорошая возможность улучшить юзабилити, этот метод также необходимо использовать правильно. Желательно, чтобы товары не автоматически загружались при прокрутке, а внизу, под последними товарами, была кнопка «Показать еще N товаров». Хорошую реализацию данного метода вы можете посмотреть на сайте wikimart.ru побродив по конечным веткам каталога.
Правильное использование параметров
В некоторых случаях когда вы используете атрибуты rel=»prev»/»next», то страницы с пагинацией могут содержат параметры, которые не изменяют контент:
- сесионные переменные,
- сортировки,
- изменение кол-ва элементов на страницу.
В таком случае мы получаем дубли контента. Решением такой проблемы может быть использование сочетания rel=»prev»/»next» и rel=”canonical”.
Для этого, во-первых, вы должны убедиться, что все страницы пагинации с rel=»prev»/»next» используют тот же параметр. Во-вторых, для каждого URL с параметром необходимо прописать его каноническую страницу без этого параметра. Например, у нас есть те же самые 4 страницы пагинации и мы для отслеживания пользователей используем идентификатор сессии sessionid=55:
Правильное использование фильтров и rel=“prev”/“next”
Теперь, рассмотрим пример, когда мы используем параметры, по которым мы можем/хотим выдать уникальное содержании и нам важно держать такие отфильтрованные страницы в индексе. Например, у нас есть категория с кроссовками и мы хотим создать посадочные страницы для поисковой выдачи с разными брендами, использую при этом параметры в URL.
В таком случае:
- не нужно использовать rel=”canonical” на основную категорию, так как содержания уникально
- создать для каждого бренда свои уникальные цепочки на основе атрибута rel=“prev”/“next”
- сделать для каждого фильтра уникальные и релевантные title, descriprion и текст описания категории.
Вот как это выглядит наглядно:
Заключение
В итоге наши рекомендации по решению проблемы с пагинацией:
- если у вас есть техническая возможность сделать страницу “Смотреть всё” и такие страницы быстро грузятся и не очень большие по размеру, то можно воспользоваться этим вариантом, так как его рекомендует Google, а Яндекс понимает директиву rel=”canonical”
- но, наверное, в большинстве случаев оптимальным будет сочитания варианта использования атрибута rel=”next/prev” (понимает Google) и мета-тега robots=”noindex,follow” (понимает и Google, и Яндекс)
А что вы думаете по пагинации для SEO?