Ваш путь: Главная » Техническое SEO, Seo-Plus продвижение » ( читаемый пост: перейти в Читаемое )
заказать разработку или сопровождение вашего сайта/блога

написано: — 
отредактировано: 2020-06-15
издатель: в теме: Техническое SEO, Seo-Plus продвижение пост видели: 229
Запросто с WordPress — создание сайтов ATs media

Закроем страницы пагинации в noindex,follow — страницы архивов

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

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

Закроем страницу архива в noindex,follow (либо noindex,nofollow, в зависимости от требований). Без плагинов. Хотя, многие воскликнут — зачем? с этим же замечательно справляются большинство плагинов! а я отвечу: не всегда целесообразно прибегать к использованию плагинов.

Обратимся к условным тегам Вордпресс (к тому же, теги возможно создавать свои).

Но обо всём по порядку…


 

 

 

 

 

…лирическое вступление:

 

 

Предположим, мы создали некую страницу и хотим вывести на этой странице выборку каких-то требуемых постов сайта — ленту…

т.е. собрать в один архив интересные посты какой-то категории, либо метки, автора, или произвольного типа, либо же отовсюду по чуть-чуть… Всё замечательно! однако, чтобы исключить дублирование контента, эту ленту (архив) нужно каким-то образом закрыть, либо открыть индексацию… т.е добавить в код метатеги noindex,follow таким образом сообщить роботу возможные разрешения…

 

 

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

 

 

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

 

Отыскивают в сети некий код… дописывают его в файл функций и — не тут-то было! При тестировании возникает ошибка… (хотя, это не ошибка, а так — недоработка… Да и ПС на это сильно ругаться не станет) однако…

 

 

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

 

 

 

страницы пагинации архивов в noindex,follow

 

 

 

…чтобы получилось так, как на фото ниже:

 

 

 

страницы пагинации архивов в noindex,follow

 

 

 

 

К слову: в ситуации, когда RDS бар покажет два метатега noindex,follow и noindex,nofollow — ПС-робот как правило выбирает наименее строгий мета! то есть в данном случае noindex,follow.

 

noindex,follow — страница разрешена к проходу робота, НО не индексации контента

noindex,nofollow — роботам запрещён проход и индексация…

 

 

 

 

 

 

к оглавлению

Как закрыть страницы пагинации архивов в noindex,follow

 

 

 

 

Исходя из ситуации описанной выше, правильный теоретический подход по скрытию страниц пагинации в noindex,follow будет следующий.

 

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

 

 

Предположим, страница ленты с архивом имеет ID 4.

 

Если нам требуется вывести информацию (в данном случае атрибутику noindex,follow) только на этой странице, воспользуемся следующим тегом:

 

 

if ( is_page( '4' ) ) — наряду с ID страницы может быть указан слаг: слагаемый фрагмент ссылки, например popular

 

 

Полный код будет выглядеть так:

 

 

/*комментарий*/
add_action('wp_head', 'mihalica_metapage_robots');
function mihalica_metapage_robots() {
    if (is_page( '4 ') )     // 4 ID страницы, либо возможно использовать ссылку страницы типа: popular
{
    echo "".'<meta name="robots" content="noindex,follow" />'."\n"; } }
/*закрываем стр. к ИНДЕКСУ*/

 

 

После прописки этого кода в файле функций (или там, где вы прописываете код), на главной странице архива (НЕ включая стр. пагинации) тег для роботов будет выведен.

 

 

Функция кода активируется в шапке сайта wp_head при помощи строки экшн add_action:

 

add_action('wp_head', 'mihalica_metapage_robots');

 

 

functions.php — как разбить на отдельные функциональные части.

 

 

 

важная справка: если вы используете для закрытия страниц метатеги robots noindex,follow — в этом случае эти страницы ДОЛЖНЫ быть открытыми в файле robots.txt. Помните об этом!

 

 

 

 

к оглавлению

добавим тег noindex,follow абсолютно ко всем страницам пагинации

 

 

 

 

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

 

 

 

подборка основных условных тегов WP расписана здесь.

как найти и убрать циклические ссылки… работа с условными тегами.

 

 

 

Для того, чтобы добавить информацию на страницы пагинации (важно ! на все страницы сайта, на которых отрабатывает пагинация) существует такой условный тег:

 

 

is_paged(' ')

 

 

Очень возможно, что этот тег у вас на сайте на ряду с иными уже используется! (или в плагином или сами ручками прописывали) по типу:

 

 

if (is_category( ' ' ) or is_tag( ' ' ) or is_paged( ' ' ) or is_search( ' ' ) or is_author( ' ' ))

 

 

В этом случае, на всех страницах пагинации соответственно с условиями выше метатег роботс уже будет выведен.

 

 

Замечательно! …однако, в нашем случае, все эти благостные решения с использованием условных тегов, хороши для архивов по умолчанию (рубрик, меток и т.д.).

Мы же, создали свой собственный архив, используя страницу с ID 4, а значит потребуются и настройки более утончённые.

 

 

Что ж, давайте попробуем наш архив пролистать по страницам!

 

 

…как и говорилось выше, на страницах пагинации появится ошибка, как на скриншоте выше! Лишний тег! …потому что информация robots в соответствии с условным тегом if (is_page( '4 ') ) и у кого уже используется if ( ! is_paged(' ') ) будет выведена на всех сопутствующих страницах!

 

 

 

к оглавлению

как убрать лишний тег noindex,follow на кастомной странице пагинации

 

 

 

 

Поможет всё тот же условный тег if ( is_paged(' ') ) немного подредактированный: припишем значок ! что обусловит инвертирование — обратное действие:

 

 

if ( ! is_paged(' ') ) //информация будет выведена НЕ на страницах пагинации

 

 

Немного модернизируем — переработаем самый первый по статье код — добавим к нему всего одну строку:

 

 

if (is_page('4'))
if ( ! is_paged())  // добавим этот условный тег, который в нашем случае запретит вывод тега robots на странице с ID 4

 

 

Теперь, если попробовать архив пролистать по страницам — никакого лишнего тега не обнаружится..! Что нам и требовалось…

 

 

Это действие назовём — локальные правки по конкретной странице архивов.

То есть наши правки отменят на конкретной странице архива (с id 4) результат условного глобального действия  is_paged()) — для всех архивов сайта.

 

 

Полный код должен выглядеть так:

 

 

/*закрываем стр. пагинации к ИНДЕКСУ noindex,follow"*/
add_action('wp_head', 'mihalica_metapage_robots');
function mihalica_metapage_robots() {
    if (is_page('4'))     // 4 ID страницы, либо возможно использовать ссылку страницы типа: popular
    if (!is_paged())      // исключаем на страницах пагинации лишний мета
{
    echo "".'<meta name="robots" content="noindex,follow" />'."\n"; } }
/*закрываем стр. к ИНДЕКСУ*/

 

 

 

Важно!

 

Это я показал решение для конкретной страницы с id 4.

Однако, если у вас уже используется условие is_paged() в каком-то общем варианте кода, как упомянуто выше по тексту, тогда нужно сделать так, как показано ниже:

 

 

if (is_category( ' ' ) or is_tag( ' ' ) or is_paged( ' ' ) or is_search( ' ' ))

if ( ! is_page('4')) // добавляете к основному коду это условие - со знаком инвертирования !

 

 

То есть значок «!» обусловит запрет вывода метатега на кастомной странице.

 

 

Существует несколько способов, указать кастомные страницы, один из вариантов описан ниже.

 

 

Если запутались, то непременно посмотрите видео!! в нём всё подробно рассказано и показано…

 

 

 

Небольшое отступление…

…для тех читателей, которые смотрели видео — вот итоговый пример кода, который работали в кино…

 

 

/*открываем к проходу рубрики и т.п. архивы - но НЕ ИНДЕКСАЦИИ роботами*/
add_action('wp_head', 'al_meta_lenty_robots');
function al_meta_lenty_robots() {
if (is_category() or is_paged() or is_search() or is_tag() or is_tax() )
if ( ! is_page( '23934' ) ) // запрет вывода мета на такой-то id странице
{
echo "\n".'<meta name="robots" content="noindex,follow" />'."\n";
}
if ( is_page( '23934' ) ) // вывод на такой-то id страние

echo "\n".'<meta name="robots" content="noindex,nofollow" />'."\n";
}
/*открываем к проходу рубрики и т.п. архивы - но НЕ ИНДЕКСАЦИИ роботами*/

 

 

…это примерная заготовка условностей в коде, — всё это нужно править под себя.

 

Если что не ясно, пишите…

 

 

 

 

к оглавлению

сопутствующие условные теги по теме страниц пагинации

 

 

 

 

К слову повествования пример проверки страницы произвольных типов:

 

 

/*для произвольного ТИПА*/
add_action('wp_head', 'mihalica_meta_type_robots');
function mihalica_meta_type_robots() {
if  (is_post_type_archive( 'name' ) ) // имя произвольного типа
{
echo "".'<meta name="robots" content="noindex,follow" />'."\n";
} }
/*для произвольного ТИПА*/

 

 

 

 

 

к оглавлению

проверка на какой конкретно странице пагинации мы находимся

 

 

 

Бывают случаи, когда нужно проверить конкретную страницу пагинации — в этом случае используем get_query_var('paged')

 

 

 

if ( get_query_var( 'paged' ) == 4 ) { 
    // отработает на 4-й странице пагинации и т.д. 
}

 

 

 

 

пример использования is_page_template()

 

 

 

 

is_page_template() — определит, используется ли указанный файл шаблона при генерации текущей страницы:

 

 

is_page_template( $template = '' )

 

 

Что примечательно, функция возвратит true в том случае, если указанный в параметре файл шаблона используется в генерации текущей  страницы, в иных случаях отдаст false.

 

 

$template - значение: путь к файлу

 

 

В подобной конструкции возможно указать полное имя файла шаблона, например page-wordpress.php

 

при этом, стартуя от версии WordPress 3.4, появилась возможность (без всяких костылей) указать путь (папку), в которой находится файл для кастомной страницы.

 

 

пример:

 

 

name/page-wordpress.php

 

 

…более примерно условие составляется так:

 

 

if (is_page_template('name/page-wordpress.php')) 
{ 
    // если файл используется выводится этот код 
    } else { 
    // если файл НЕ используется - этот код
}

 

 

 

…подборка основных условных тегов WP расписана здесь

Условные теги по работе с плагином Woocommerce

 

 

 

 

Все подобные конструкции условных тегов возможно компоновать как угодно-с!

…не убоюсь такого громкого сравнения как — возможности ограничены только рамками наших фантазий!

 

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

 

Легко, просто и удобно! — без всяких громоздких плагинов…

 

Я вовсе не отношусь к плагинам как-то отрицательно (к хорошим плагинам!), однако предпочитаю подход к решению вопросов в рациональном ключе. Априори))

 

 

 

На этом повествование заканчиваю…

 

 

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

 

 

 

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...




Нажатия на кнопочки определяют Ваше высокое гражданское сознание
Удачи в работе и творчестве..!
Статьи по теме:


Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©

 необходимо принять правила конфиденциальности 

  1. Здравствуйте, Михаил!
    Спасибо! по полочкам разложили. На первый взгляд, вроде довольно не сложная тема (условные теги) однако, в некоторых ситуациях — путаешься, теряешь время…
    Много раз убеждаюсь, что подучится нужно только у того, который знает больше «тебя» по факту, а не болтовне..
    Поэтому спасибо за труд!
    PS
    у вас в один из примеров вкрался ошибочный ID: 23934

    Ответить - Сергей

    • Спасибо, Сергей. Поправил.

      Ответить - Михаил