Перейти к основному содержанию
SEO оптимизация страниц пагинации в Drupal

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

пагинация страниц

Многие оптимизаторы не уделяют достаточного внимания вопросу оптимизации страниц пагинации и зачастую просто закрывают их от индексации в robots.txt, оставляя лишь первую страницу. 

Рассмотрим наиболее приоритетный с моей точки зрения вариант - оптимизацию страниц пагинации с использованием тегов rel="next" и rel="prev" а также cannonical на примере сайтов на CMS Drupal. Почему именно этот метод? Давайте разбираться. 

Представим что у вас интернет магазин где есть категория товаров, скажем, "Видеорегистраторы". В категории добавлено около 1000 разных регистраторов, но если мы перейдем на страницу категории, то там они будут выводиться постранично, по 40 шт на страницу. Если мы закрываем страницы пагинации от индексации, то теоретически ограничиваем ее видимость наполненности для роботов поисковых систем только первой страницей, то есть сорока товарами. А задача поисковиков, как мы знаем,  дать наиболее полный ответ на поисковый запрос пользователей. То есть, в нашем случае, в числе всех прочих алгоритмов на запрос "Купить видеорегистраторы" также будет учитываться и количество предложений на сайте (странице категорий), и наша задача не скрывать от поисковых роботов весь ассортимент товара доступный в данной категории. 

Использование rel="next" и rel="prev"  для страниц пагинаций - рекомендация Google, Яндекс по этому вопросу ничего не говорит, лишь бы страницы были открыты на индексацию. Второй момент - атрибут rel="canonical". Google допускает проставлять на каждую страницу свой  rel="canonical", то есть например:

<link href="http://www.example.com/article?story=abc&amp;page=2" rel="canonical" />
<link href="http://www.example.com/article?story=abc&amp;page=1&amp;sessionid=123" rel="prev" />
<link href="http://www.example.com/article?story=abc&amp;page=3&amp;sessionid=123" rel="next" />

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

CMS Drupal в качестве примера выбрана потому, что это моя любимая CMS с  которой я постоянно работаю)) 

Настройка и оптимизация пагинации в CMS Drupal

1. Необходимые модули:

  1. Metatag (и умение работать с ним)
  2. Custom Tokens
  3. Pager Tokens

Устанавливаем все, и с помощью модуля Custom Token создаем собственный токен, который будет отвечать за вывод номера страниц в тегах Title и Description для того, чтобы они не считались дублями. Итак, переходим к созданию токена (admin/structure/token-custom/add) и вставляем примерно следующий код:

<?php
$output = '';
$url = $_SERVER['REQUEST_URI'];
$findpage   = '?page=';
$pos = strpos($url, $findpage);
if ($pos == true) {
    $result = substr($url, strpos($url, '=') + 1, strlen($url));
    $result *= 1;
    $result++;
    $output = '- Ваш Бренд - страница '.$result;
}
return $output;
?>

Получится должно что-то вроде такого:

edit_token.png

2. Настройка метатегов

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

  1. В заголовке пишем нужный нам тайтл и в конце ставим наш созданный ранее кастом токен ["custom:pager-number"]
  2. В описании пишем мета описание, и в конце тоже ставим кастом токен ["custom:pager-number"]
  3. В поле "Канонический URL" вставляем токен ["current-page:url:absolute"]
  4. В поле "Ссылка на предыдущую страницу" вставляем ["current-page:url:with-previous-page-number"]
  5. В "Ссылка на следующую страницу" ["current-page:url:with-next-page-number"]

!!В квадратных скобках уберите "", я поставил, так как СK editor исправляет эти токены в работающие ссылки)) 

В итоге должно получится примерно следующее:

termin_taksonomii_kategoriya.png

termin_taksonomii_paginaciya.png

Обратите внимание, что каноническая страница у нас получится одна - это первая страница. То есть, все остальные страницы пагинации открыты для индексации, у них разные теги Meta Title и Description, благодаря тому, что мы вставили номера страниц, но при этом, на всех страницах пагинации в теге rel="cannonical" будет стоять ссылка на самую первую, основную страницу. Вот пример кода второй страницы одной из категорий моего блога:

image_1.png

3. Открываем страницы для индексации в robots.txt

  1. Проверяем доступны ли для индексации страницы с URL типа: site/category?page=1 (например в Яндекс вебматере с  помощью инструмента "Анализ robots.txt" )
  2. Если страницы пагинации закрыты для роботов - добавляем в robots.txt директиву: Allow: *?page

Об авторе

Автор этого блога. В SEO более 10 лет. Кроме SEO интересуюсь всем, что связано с технологиями и заработком в интернете, о чем и стараюсь делиться с читателями.