Уникализация пагинации WordPress

Уникализация пагинации WordPress
Автор блога
Андрей WPM

Андрей WPM

Закрывать или уникализировать пагинацию?

Всем салют! Сегодня вы узнаете для чего нужна уникализация пагинации на сайте и как её произвести. Для тех кто ещё не в курсе, Яндекс 4 июля в своём блоге анонсировал тревожную новость. Теперь, робот Яндекса беспрепятственно будет индексировать страницы пагинации, даже если они ссылаются на главную страницу каталога (архива) с помощью rel="canonical".

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

Источник: Яндекс блог.

До этого момента, многие (в том числе и я) вебмастера закрывали страницы пагинации канониклом, дабы избежать частичного дублирования контента. Способ который я рекомендовал для этого, продолжает работать для поисковой системы Google, но для Яндекса уже нет. Более подробнее как закрыть страницы пагинации с помощью rel="canonical" я описывал в статье по настройке плагина Yoast SEO. Вот результат нового алгоритма:

страницы пагинации в поиске яндекс
Проиндексированные страницы пагинации (неканонические)

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

  1. Жестко закрыть от индексации страницы пагинации.
  2. Уникализировать страницы пагинации по максимуму.
  3. Забить на очередное обновление Яндекса smile .

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

 

Последствия от закрытия пагинации с помощью тега robots/noindex:

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

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

В-третьих, если у вас будут жестко закрыты страницы пагинации, то пауки не будут обходить эти страницы. Что может привести к более долгой индексации сайта в целом. Когда стоит rel="canonical", то краулер всё равно индексирует страницу и все ссылки на ней, тем самым, быстрее попадает на страницы с контентом. А если они будут закрыты, то до контента ему нужно будет добираться какими-то другими способами.

 

Последствия при уникализации страниц пагинации на сайте:

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

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

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

 

Последствия при игнорировании обновления Яндекса:

Во-первых, велика вероятность, что в индекс влетят страницы пагинации, которые по большому счету не несут никакой ценности. И навряд ли будут участвовать в поиске наравне. Скорее всего, будут просто висеть мёртвым грузом в индексе. А чем больше у вас мёртвых страниц в индексе, тем меньше уважения к вашему сайту со стороны ПС (это факт!).

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

В-третьих, это просто глупо и не профессионально. smile

 

Закрываем пагинацию тегом robots/noindex.

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

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

Хук (скрипт) для пагинации:

add_action( 'wp_head', 'wpm_robots_noindex_paggination' );
function wpm_robots_noindex_paggination(){
	if( is_paged() ){
		echo '<meta name="robots" content="noindex">';
	}
}

Вставляем его в файл functions.php вашей темы или же создаем простенький плагин. Если подключена дочерняя тема, то вставляем в functions.php дочерней темы.

Данный хук автоматически проставит тег robots на страницах пагинации вашего сайта. Только на них! После этого, вам нужно будет удалить все не нужные страницы с индекса Google и Яндекс или же просто дождаться пока они сами отвалятся.

 

Удаление не нужных страниц из Яндекса.

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

Инструмент: удаление ссылок из Яндекса.

 

Попутно, можно удалить не нужные страницы которые вы возможно закрывали ранее, но они до сих пор находятся в индексе. Для этого перейдите в поисковик Яндекс и введите в строку следующую конструкцию – site:ваш-сайт.рф

оператор site в яндексе
Ищем не нужные страницы в поиске Яндекс

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

 

Удаление не нужных страниц из Google.

В Гугле принцип такой же как и в Яндексе. Сначала определяетесь какие страницы нужно удалить из поиска, ищите попутно мусорные страницы и удаляете их в специальном инструменте. Только тут есть некоторые отличия. Google пишет, что он временно удалит эти страницы с поиска. Это значит, что если он посчитает, что страница достойна и она не будет в будущем закрыта, то он её всё равно добавит.

Инструмент: удаление ссылок из Google.

 

Оператор для поиска такой же. Отличие в самом инструменте. Здесь можно удалить как отдельную страницу, так и сразу раздел сайта. Например, раздел с метками. В моём случае, в индекс попадают ссылки с 301 редиректом (я пока думаю чем заменить свой действующий плагин).

Кстати! По поводу того, что бессмысленно уже прятать ссылки от индексации с помощью js скриптов и php редиректов я писал статью – "Как закрывать от индексации ссылки в 2019?" рекомендую ознакомиться.

удаление ссылок из поиска google
Удаление ссылок и каталогов из поиска Google

Здесь я удалил из индекса стразу все ссылки которые начинаются с директории /open... Но так же, можно удалять и отдельные страницы. Просто выберите подходящий вам вариант. Если вы хотите удалить все страницы пагинации, просто введите: vash-site/blog/page и в конце оставьте пустым.

 

Уникализация пагинации на сайте WP.

Если же вы не хотите упускать потенциальный трафик из поиска, то тогда вам придется немного поработать. Я имею ввиду, что нужно будет произвести некоторые действия, чтобы поисковики воспринимали страницы как надо. Для следующих инструкций, нужно будет установить (если ещё не установлен) плагин оптимизации Yoast SEO. С помощью него, мы будем уникализировать часть данных на сайте в автоматическом режиме.

Уникализация пагинации будет проходит в несколько этапов:

  1. Постараемся сделать максимально уникальными заголовки и описания (title и description).
  2. Уникализируем анонсы статей так, чтобы они не пересекались с основным контентом.

Начнем мы с заголовков, так как это самый важный пункт в SEO оптимизации. Если поисковик проиндексирует все страницы пагинации на вашем сайте, то ему будет сложно понять, чем эти страницы отличаются. А по умолчанию, все страницы пагинации создаются автоматически по шаблону страницы блога. Из этого следует, что все страницы будут с одинаковыми title и description, что очень не хорошо.

 

Уникализируем title и description на страницах пагинации.

Сделать полностью уникальными мета теги в пагинации практически не возможно, так как они генерируются автоматически. Тем не менее, можно сделать их немного разными, добавив в них номера страниц. То есть, если тайтл на странице блога был: "Блог о WordPress", то на странице пагинации тайтл будет "Блог о WordPress | Страница 2 из 6". И так, на каждой странице пагинации. Таким образом, мы дадим понять поисковику, какая эта страница по счёту. И по логике вещей, он должен понять, что страницы разные. То же самое и с дескрипшеном.

Делается это проще чем вы могли подумать. Нужно зайти в настройки плагина Yoast SEO и выбрать раздел "Отображение в поисковой выдаче". На этой странице нажать кнопку "Нужна помощь?" чтобы открылось вспомогательное окно. В нём вам нужна вкладка "Переменные сниппета" (см. скриншот).

настройки yoast переменные сниппета
Раздел настроек с переменными сниппета

В этой вкладке находятся все переменные, которые можно использовать в настройках этого плагина. По умолчанию, он показывает только 4 переменные, когда вы настраиваете сниппет. Остальные можно брать отсюда и вставлять в нужные мета данные. В нашем случае, нам нужна переменная, которая будет выводить номер страницы. Она находится в дополнительных переменных и называется – Номер страницы %%page%%.

переменная номер страницы
Нужная переменная для страниц пагинации

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

 

Куда вставлять переменную %%page%%?

Вставлять переменную вам нужно в мета теги страницы блога. Если у вас главная страница лента анонсов, то редактировать главную. Если же, как у меня, главная статическая, а лента блога на отдельной странице /blog/ или /news/ например, то редактируем её. Для этого открываем "настройки Yoast SEO Отображение в поисковой выдаче" и отсюда переходим к редактированию нужной страницы.

редактирование мета тегов для пагинации
Выбор нужной страницы для редактирования мета тегов

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

уникализация пагинации на сайте wp
Уникализация страниц пагинации в ленте анонсов

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

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

уникализация пагинации на странице категорий
Уникализация пагинации в архивах и категориях

Аналогично и с другими нужными разделами, если они не закрыты от индексации. Но это только половина того, что нужно сделать. Самое тяжелое впереди.

 

Уникализируем анонсы постов/новостей.

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

  1. Прописать каждому посту/новости свой уникальный анонс.
  2. Поместить анонс в тег цитаты <blockquote> (крайний случай).

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

Чтобы прописать уникальные анонсы записям, вам нужно будет отредактировать каждую запись на вашем сайте вручную. smile Страшно? Понимаю! Но сделать придется. Работа не из лёгких, но это разовый "геморрой", потом просто для новых постов сразу прописывать (как я сейчас) и никаких проблем не возникнет.

 

Как прописать уникальный анонс к записи/посту.

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

анонс записи на блоге
Отрывок/анонс при редактировании записи

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

демонстрация анонса на блоге
Так выглядит анонс на блоге wpmaster.kz

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

 

Как поместить анонс в блок цитаты <blockquote>.

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

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

Чтобы поместить анонс в цитату, придется кавырять шаблон вашего сайта. Без этого никак. Но это совсем не сложно. Для нашей задумки, нам нужен файл который выводит список анонсов (то есть ленту). Обычно это файл content.php или как-то по другому, но со словом content.

Найдите поиском (или вручную) одну из функций:

  • the_excerpt() – сразу выводит анонс ничего больше не делает.
  • get_the_excerpt() – получает анонс и модернизирует его.

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

оборачиваем анонс в цитату
Помещаем анонсы статей в блок цитаты

Естественно, вам ещё придется добавить соответствующие стили для этой цитаты. Иначе анонсы у вас могут отображаться не совсем так, как вы хотите. Но тут уже надо будет исходить из вашего дизайна сайта, я пример привести не смогу. У меня для цитат одни стили, у вас совершенно другие. Чтобы легче было стилизовать, можете добавить к тегу цитаты свой класс или айди и по нему устанавливать свои стили. Будет что-то подобное:

<blockquote id="id_bq"><?php the_excerpt(); ?></blockquote>
или
<blockquote class="class_bq"><?php the_excerpt(); ?></blockquote>

Самое главное! Чтобы не было ошибок, когда будете оборачивать функцию тегом цитаты, следите за правильным открытием и закрытием php пространства. Если вы не понимаете о чём я, лучше попросите знающего этот язык, человека.

 

Уникализация пагинации – Завершение.

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

Надеюсь эта статья была для вас полезна. И тему – "Уникализация пагинации" можно считать закрытой. Если возникли вопросы, задавайте, не стесняйтесь. Отвечаю практически всем. До встречи, на страницах блога wpmaster.kz

Видео по теме - Пагинация в Яндексе:

Андрей WPM
Опубликовал - Андрей WPM

Друзья, блогу нужна ваша поддержка. Если вам понравилась статья или она вам помогла решить задачу, поделитесь ею в одной из соцсетей. Этим вы поможете дальнейшему развитию. Всем активистам - спасибо!


CTRL+D

Бонус для читателей WPMaster.kz. Предлагаю познакомиться с новым разделом на блоге - Промокоды. Только самые лучшие и нужные промокоды для покупок плагинов, тем, обучения, сервисов и т.д.



16
Вопросы не по теме статьи, задавайте в разделе "Флудилка".

avatar
1000
  Подписаться  
новее старее
Уведомление о
Александр Зырян
21 комм.
Александр ( webnub.ru )

Как все сложно, каждую неделю что-то новое выдумывают. Лучше понять ситуацию помогают видео в конце статьи

Евгений
6 комм.
Евгений ( technoshowgroup.ru )

Здравствуйте!
Здорово, работает. Уникализировали пагинацию. Рабочий метод, спасибо!
А как быть с главной. Главная - статическая страница, пагинация не предусмотрена, но при вводе /page/7/, происходит дублирование содержимого главной страницы. Я понимаю, что здесь надо просто прописать rel="canonical" главной странице. А где это сделать? Подскажите пожалуйста!
Спасибо!

Евгений
6 комм.
Евгений ( technoshowgroup.ru )

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

Азамат
2 комм.
Азамат

Добрый день! Спасибо за статью, познакомился с вашим блогом сегодня, и уже прочел несколько статей, очень интересно и позновательно . Тема с пагинацией для меня вроде понятна, но есть нюансы. Для каталога интернет магазина где карточки товара идут только например с названием и ценой, можно просто оптимизировать первую страницу каталога, а другие либо отдавать через cannonical, либо закрыть через robots-noindex,follow (текст нельзя, а по ссылкам ходить можно). Но вот с анонсами статей и новостей не совсем понятно. С одной стороны если уникализировать title, description и добавить цитаты, то получатся действительно уникальные страницы пагинации, но какую они несут пользу для пользователя?… Подробнее »