Что такое пагинация. Как сделать числовую пагинацию в WordPress без плагинов Как сделать пагинацию

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

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

.

Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA

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

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

Сегодня пагинации бывают нескольких типов:

  • Прямая нумерация («1», «2», «3»...).
  • Прямая с указанием позиций в списке («1-10», «10-20» ...).
  • Обратная с позициями («40-30», «30-20», «20-10» ...).
Зачем нужна пагинация

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

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

Как сделать пагинацию

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

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

Для начала определяем, сколько у нас будет страниц, сколько из них будет отображаться в пагинации и какова текущая. Возьмем 45 страниц, текущую возьмем с $_GET"а (если ее нет, она равна 1). Число страниц, отображаемых в пагинации, оставляем гибким, чтобы корректировать число ссылок справа и слева от текущей.

Мы прописали сами данные, приступим к разработке пагинации. Она реализуется с помощью специальной функции - makePage, которая задается 4 параметрами: $iCurr (текущая страница), $iLastPage (последняя страница), $iLeftLimit (лимит слева), $iRightLimit (лимит справа).

Прописываем код:

Вывод при этом может иметь следующий вид:

Рассмотрим написанный код. Наиболее простым вариантом из возможных является ситуация, когда мы в центре (к примеру, на странице 8), справа и слева свободно отображаются страницы.

Если мы находимся в начале, используем другой код:

При этом $iSlice - это число элементов, которые не показываются с левой стороны, их нужно добавить с правой стороны.
И последний вариант. Представим, что мы находимся в конце пагинации. Прописываем другой код:

На этом все.

Проблемы с пагинацией при SEO

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

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

Робот поисковиков находится на сайте ограниченное время. Представим, что бот зашел в интернет-магазин мужской одежды, где на каждой странице представлено 30-40 позиций, отличие позиций заключается лишь в наименовании брендов. Робот может просто не дойти до нужной позиции, потому что она находится на нижнем уровне. Однако владельцу интернет-ресурса нужно обратное, чтобы страницы были проиндексированы.

Если говорить о повторяющемся контенте, позиция поисковиков к нему резко отрицательная. Объясняется это просто: каждой странице должен соответствовать релевантный контент. Если контент схож, например, список товаров + описание групп одинаковые либо похожи, поисковику трудно определить релевантную страницу из представленных.Значимость страниц распыляется и теряется, главная страница уже не выделяется на фоне остальных. Следовательно, в выдаче поисковика сайт теряет позиции.

SEO и пагинация

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

Закрыть пагинацию для индексации

Многие задаются вопросом, как закрыть страницы пагинации от индексации. Для этого есть несколько решений.

  • Использовать мета-тег NOINDEX.

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

Здесь важно проработать XML карту ресурса. Если страницы ресурса динамичные, то есть можно использовать фильтры, ссылка первой веб-страницы должна выглядеть так: название домена/catalog. Со страниц «название домена/catalog?page=1» делаем редирект 301 на веб-страницу «название домена/catalog».

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

  • Использовать файл robots.txt.

Страницы пагинации имеют определенный вид «вид http://название домена/category/page/n», в которых n- номер страниц. Необходимо прописать robots.txt, присвоить ему определенную команду: «Disallow: /category/page». Данный способ универсален и подходит для любых поисковиков. Однако нюанс сохраняется: весь контент со страниц пагинации, кроме контента первой, будет исключен.

Применять страницу «Смотреть все» и тег CANONICAL

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

Здесь также не обойтись без нюансов: если товаров много, такая страница будет загружаться долго. Зато тег распознается всеми поисковиками (Google считает его приоритетным) и контент будет полностью проиндексирован.

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

Всем привет! Есть в SEO, как кажутся, элементарные и очевидные вещи, но если немного разобраться в них, возникает много вопросов и нюансов, которые беспокоят владельцев проектов. Сегодня я хочу поговорить про страницы пагинации (или еще их называют страницами листинга). Хочется написать развернутый урок: что, зачем и почему, чтобы все разъяснить, как удалось это сделать с уроком .

Я уже рассказывал на своем блоге, (там же и рассказывал, что такое постраничная навигация). Теперь пришло время показать, что нужно с ними делать с точки зрения SEO. Многих беспокоят следующие вопросы:

  • стоит ли их закрывать индексацию пагинации в robots.txt;
  • может стоит закрыть их с помощью meta name="robots";
  • или лучше использовать rel=canonical;
  • а может вообще их оставить открытыми для индексации;
  • ну и другие вопросы.

Итак, поехали!

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

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

  • карточек товаров;
  • информационных постов;
  • обсуждения на форумах.
Индексация пагинации

Лучше страницы пагинации не запрещать от индексирования, чтобы роботы доходили до как можно большего количества товаров/постов (особенно важно, когда у вас очень много товаров). Но опять же, несмотря на то, что страницы открыты для индексирования, я бы рекомендовал сделать так, чтобы они не участвовали в основном поиске. Я противник низкокачественных страниц в индексе и считаю, что в поиске должны быть только нужные страницы, и важность подобных страниц будет выше, нежели будет полно низкосортного контента. Как же тогда быть?

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

Требования Яндекса

Причем в данном случае проблем с индексацией товаров или постов не будет, так как rel=canonical не запрещает ходить роботам по страницам, но в индексе будет только основная страница в обоих поисковиках.

Требования Google

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

И да, есть такой момент: Яндексу все равно на теги rel=prev и rel=next, он не понимает их и просто игнорирует.

А что же говорят SEOшники?

Мнений на эту тему очень много, приведу парочку.

Кто-то говорит, что каждую страницу пагинации нужно подтачивать под разные запросы. К примеру, первую страницу под "Купить ноутбук", вторую под "Купить ноутбук недорого", третью под "Купить ноутбук в интернет-магазине" и так далее. Не делайте так. Поисковики не настолько тупые, может быть это еще и работало лет 5-8 назад, но сейчас однозначно так не стоит делать.

А кто-то говорит запретить в robots.txt или использовать тег meta name="robots" content="noindex,follow". Я раньше тоже так делал, но это не совсем правильно, так как поведенческие факторы со страниц пагинации не будут передаваться. Да и Яндекс также говорит:

Я не продвигаю страницы категорий на блоге (а зря, я рассказывал про пользу правильной ), все руки не доходят, как-нибудь доберусь обязательно, уберу "noindex, follow". Тем, кто продвигает категории, рекомендую использовать инструкцию выше.

Дублирование в пагинации

Кстати, если Яндекс считает, что страницы пагинации - это дубли, то Google так не считает, ему главное указать rel=prev и rel=next. Если вы используете тег rel=canonical на основную страницу, то в индексе будет только она. Если же использовать только rel=prev и rel=next, страницы пагинации будут попадать в индекс поисковых систем.

Теги prev и next показывают роботу, что страницы связаны в логической последовательности, как бы это одна большая страница. Именно поэтому одновременно использовать rel prev/next и rel canonical на основную страницу - неправильно. То есть, если вы хотите указать и каноникал, и prev/next, тогда каноникал указываем только на саму страницу (саму на себя).

Как оформить страницы пагинации

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

Если у вас интернет-магазин, можно добавить ссылку на страницу "Все товары" данной категории. Это позволит просмотреть страницу сразу, без переходов на другие страницы. В этом случае rel=canonical поисковики рекомендуют ставить rel=canonical на эту страницу со всеми товарами без пагинации. Но здесь нужно быть аккуратным, потому что если выводить много товаров/постов, то страница подгружается дольше, а поисковики любят как можно более быстрые сайты.

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

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

Кто-то делает бесконечный скроллинг (товары/посты подгружаются по мере пролистывания страницы вниз). Если вы делаете это, снова нужно быть аккуратным. Либо кто-то выводит кнопки "Показать еще":

Бесконечный скроллинг и прочие javascript/ajax использовать можно, но чтобы не было проблем, я бы рекомендовал сделать так, чтобы все элементы индексировались и отдавались роботу. И все же, я бы продублировал бесконечный скроллинг цифрами 1,2,3,4, так как некоторым пользователям так удобнее. Вот пример:

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

1, 2, 3 ... 10, 20, 30, 40, 50, 60, 70...79.

Вывод - как же в итоге поступить правильно?

На мой взгляд есть 3 варианта наиболее правильных развития событий:

  • Если вам важен Яндекс или интересны оба поисковика (практически для всех проектов под Россию), то делаем каноникал на первую страницу.
  • Если интересует только Гугл (например, ваш сайт находится в странах СНГ, где в некоторых из них трафика в Яндексе практически нет, или зарубежные проекты), то делаем rel canonical саму на себя и прописываем prev/next.
  • Если у вас есть страница, где выводятся все товары, можно указать рел каноникал на нее, использовать rel=prev и rel=next. Тогда будет правильно для обоих поисковых систем. Но в таком случае, напомню, минусы тоже есть: если у вас имеются категории, где выводятся больше количество товаров, то это замедлит скорость загрузки сайта, а это влияет на ранжирование.
  • Во всех случаях запрета на индексирование не требуется (ни в robots.txt, ни в meta name="robots"). Не забываем, что текст размещаем только на 1-ой странице, чтобы не было дублей с большим количеством совпадений. Вы можете проследить за изменения страниц в индексе в панели вебмастеров Яндекса и Google.

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

    Ребята, кто успел попасть на предзапись моего SEO-марафона, я почти всем ответил на вопросы, осталось еще чуть-чуть, вопросов пришло очень много, разгребаю. 🙂 Если вдруг вы не успели записаться на предзапись марафона, ждите новостей на блоге (подпишитесь на рассылку по почте, чтобы не пропустить старт продаж), в феврале стартуем!

    Ну и вопрос: а что вы делаете со страницами пагинации на своих проектах?

    Сайты, как правило, содержат в себе несколько страниц. На них может располагаться как 3-5 страниц, например на landing-page, а может быть и больше, намного больше.

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

    Ещё один момент, кроме обычного JavaScript, в примере используется Bootstrap 4. Его компонент bootstrap pagination сочетается с библиотекой JQuery, а именно специальным плагином Buzina Pagination. Он позволяет разбивать всю информацию на несколько страниц с созданием навигации между ними.

    Подключение необходимых фреймворков

    Чтобы работать с Bootstrap и JQuery, их нужно подключить. Это можно сделать в вашем HTML документе, с помощью тегов . Создаем 3 парных тега ;. В них подключим Ajax.js, bootstrap 4 и сам плагин JQuery.

    Чтобы правильно подключить bootstrap нужно также использовать тег , в его атрибуте href мы указываем ссылку на наш фреймоворк. В нем будет указываться ссылка на стили, которые содержит плагин.

    Итак, мы подключили всё необходимое для работы. Осталось только подключить плагин для создания пагинации — Buzina Pagination. Для его создания мы также создаем теги и . В атрибутах "href" и "src" вводим одну и ту же ссылку.

    Плагины Buzina Pagination и Bootstrap, помимо скриптов, содержат также и необходимые стили. Их мы и подключаем через тег ;. Теперь запомните — даже если вы неплохо разбираетесь в CSS, не рекомендуем вам заходить и менять настройки плагинов. Ради интереса, вы можете открыть их в кодовом редакторе и просмотреть, но не забудьте предварительно сохранить исходную версию кода.

    В вашем HTML документе должен располагаться следующий код:


    XHTML

    Pagination для сайта при помощи jQuery: Bootstrap 4 .container { margin: 150px auto; }

    Pagination для сайта при помощи jQuery: Bootstrap 4

    Container { margin : 150px auto ; }

    Разметка страниц. HTML

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

    В нашем примере мы создаем всего 5 страниц. Создайте для каждой из них отдельный блок div. Внутри можете написать какой-нибудь текст, для визуального отображения. Если хотите, можете создать 10, 20 и 30 страниц.

    Для работы с ними вам не потребуются классы и идентификаторы. Главное, чтобы все эти страницы располагались внутри основного блока с классом example.


    Функции JQuery

    Вам нужно подключить несколько функций:


    Заключение

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

    Можете изменить скрипты по своему желанию, но только если хорошо разбираетесь в JavaScript. Главное не меняйте значения скриптов и стилей плагинов.

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

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

    Теги:

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

    Примеры и аргументы у всех свои, но суть, как правило, одна: больше страниц — лучше СЕО. Нет, не лучше. Почему я уже писал, но давайте рассмотрим подробнее постраничную навигацию на сайте . Какой должна быть порядковая нумерация страниц сайта, чтобы, как минимум, не навредить SEO. Почему не навредить? Потому что в задачи поисковой оптимизации сайта входит определение точного соответствия страницы ключевому запросу , а не создание бесконечного числа дублей одной и той же страницы с заголовком «Страница №911».

    Польза пагинации для SEO

    Давайте рассмотрим, какую невероятную пользу несет постраничная навигация для сайта в плане . Она обеспечивает доступ ко всем страницам сайта из списка страниц категории. Да, действительно. Особенно, когда у вас 50 страниц и чтобы добраться до, скажем, 21 страницы, поисковому роботу нужно углубиться на … сколько уровней? Найти на 21 странице товар или пост и углубиться еще на один уровень. Да, польза колоссальная, особенно если учесть, что поисковые боты не ходят глубже 3-4 уровней вложенности. Нет, ну конечно ходят, но ценность и сроки индексации с каждым уровнем падают в геометрической прогрессии.

    Что еще полезного нам несет порядковая нумерация страниц сайта? Она ограничивает количество ссылок на странице, ибо негоже более 100 ссылкам на одном холсте собираться. Вот это действительно польза. Есть еще косвенная польза, в виде , так как постраничная навигация — один из самых популярных и привычных методов отображения больших списков информации на сайте. За то и держим. Вот вроде бы и все.

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

    SEO постраничной навигации на сайте

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

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

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

    Исключение пагинации из индексации

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

    Исключение пагинации через Канонические ссылки

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

    А вот так выглядит код, который надо поставить на каждую номерную страницу:

    Исключение пагинации через Robots Disallow

    Представим, что адрес номерной страницы выглядит так:

    Http://site.ru/category/page/3

    Всего-то надо попросить поисковых роботов не ходить куда не надо, а именно:

    Disallow: /category/page

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

    Исключение пагинации динамических страниц

    Ежели пагинация на сайте организована средствами URL динамических:

    Http://site.ru/category?page=3

    Извольте воротиться в robots.txt прописать уже знакомые:

    Disallow: ?page=

    Clean-param: page /

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

    Ставь лайк, делай репост, подписывайся на новые статьи, которые выходят каждый день.