Ваш путь: Главная » WooCommerce и WordPress » текущая страница

возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2024-02-13 в теме: WooCommerce и WordPress
Запросто с WordPress создание и продвижение сайтов ATs media

Индексация страниц noindex,follow – корзины и оформления заказов – обновление woocommerce

В очередном обновлении woocommerce 3.2.0 добавлено автоматическое закрытие страниц от индексирования в noindex,follow – в общем, это замечательно! Странички – корзина и оформление заказа – целесообразнее закрыть от индексирования.

 

Теперь страницы закрыты (без всяких кастомных фильтров) от индекса noindex,follow: noindex, это запрет индексирования контента и ссылок в документе, и follow – разрешает обход странички и ссылок роботом, но НЕ индексирование!..

 

…всё здорово, однако, у кого-то до обновы могли быть закрыты какие-то страницы напрочь: т.е в noindex,nofollow. И теперь, после обновления плагина, если проверить, к примеру, “RDS баром” получится две пары тегов разных значений: особо не страшно… Но давайте с этим разберёмся точнее и сделаем так, как нам нужно:

 


 

 

 

 

Как известно: если на страничке (в документе) наблюдается две пары тегов – так частенько бывает у веб мастеров – робот предпочтёт тот тег, который разрешает проход по документу…

 

 

…пример на скрине:

 

 

 

noindex follow woocommerce

 

 

 

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

 

 

 

 

А в ЭТОМ посте помещена большая подборка полезного кода для работы с магазином на Woocommerce.

 

Условные теги woocommerce

 

 

 

 

 

как убрать в обновлении woocommerce теги noindex,follow

 

 

 

 

После обновления woocommerce 3.2.0 – в исходном коде будет примерно так:

 

 

 

noindex follow - корзины woocommerce

 

 

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

 

 

Также в тексте статьи, может кому-то пригодится, предложу вариант уборки через фильтр – init – строку стилистики css галереи (строка также показана выше на скрине):

 

<noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript>.

 

 

 

Формирования обработки обоих описанных выше метастрок находится в:

 

 

/woocommerce/includes/wc-template-functions.php

 

 

В спойлере дан пример одной из функций обновлённого плагина: эта функция отвечает за вывод <meta name=’robots’ content=’noindex,follow’ />.

 

 

Функция wc_page_noindex

/**
* Disable search engines indexing core, dynamic, cart/checkout pages.
*
* @since 3.2.0
*/
function wc_page_noindex() {
if ( is_page( wc_get_page_id( 'cart' ) ) || is_page( wc_get_page_id( 'checkout' ) ) || is_page( wc_get_page_id( 'myaccount' ) ) ) {
wp_no_robots();
}
}
add_action( 'wp_head', 'wc_page_noindex' );

 

 

 

 

Итак: если вы закрывали странички “корзина” и “оформление заказа” и пр. WOOC от индексирования каким-то иным способом (пример дам в финале статьи), то у вас получится, как и говорилось выше, две пары закрывающих тегов, однако – разных значений!

 

 

 

…Цель сегодняшней работы – нужно оставить только какую-то одну пару: так правильнее.

 

 

Но тут закавыка вот в чём: если мы отключим наши кастомные фильтры, то – пара, выводимая кодом noindex,nofollow удалится, – но останется другая из обновления wooc noindex,follow

 

Это ничего! документ в любом случае закрыт от индексирования. Однако напоминаю: разрешён follow для прохода роботом!

 

 

Вот и подошли к важнейшему в теме: коли нам нужно полностью закрыть какую-то отдельную страничку в noindex,nofollow, читаем далее…

 

 

 

Один владелец магазина нынче у меня спросил: “как убрать теги, которые внедрены в финальное 3.2.0 обновление wooc, но оставить свои, которые были – т.е noindex,nofollow ??”.

 

 

Да, иногда целесообразнее оставить код сайта таким, каким он был до обновления, чтобы исключить так называемое “мигание кода”: не надо путать поисковики!

 

 

…например, такой вариант – для того, чтобы убрать метатеги robots в обновлении wooc, нужно прописать в файл функций functions.php активной темы следующий код:

 

 

 

/*Новое в WOOC - УБИРАЕМ мета ROBOTS noindex,follow в wp_head*/
add_action( 'init', 'wc_pageats_noindex' ); // отключаем функцию добавленную в 3.2 meta_robots - noindex,follow
function wc_pageats_noindex(){
remove_action( 'wp_head', 'wc_page_noindex' );
}
/*УБИРАЕМ ИЗ ШАПКИ noindex,follow*/

 

 

 

С robots закончили!

 

 

Далее…

 

 

…как упоминал выше, уберём из wp_head такую строку (если кому-то нужно):

 

 

<noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript>

 

 

Решение (в файл функций):

 

 

/*УБИРЁМ ИЗ ШАПКИ МЕТА wooc (из исходного кода) строку стилей*/
add_action( 'init', 'remove_custom_action' );
function remove_custom_action(){
remove_action( 'wp_head', 'wc_gallery_noscript' );
}
/*УБИРЁМ ИЗ ШАПКИ МЕТА wooc*/

 

 

 

 

 

Ну и как эпилог:

 

 

 

как закрыть странички магазина на woocommerce в noindex,nofollow

 

 

 

Вот код, которым можно произвольно закрывать любую страничку в магазине на woocommerce в noindex,nofollow.

 

 

 

/*ЗАКРЫВАЕМ СТРАНИЦЫ МАГАЗИНА ОТ ПОИСКОВИКОВ*/
add_action( 'wp_head', 'echo_meta_tooo_wp_head' );
function echo_meta_tooo_wp_head() {
$echo = false;
$uri = $_SERVER['REQUEST_URI'];
//if (mb_strstr($uri, 'cart')) $echo = true;
if (mb_strstr($uri, 'checkout')) $echo = true;// слаг checkout (хвостик ссылки) в адресе документа...
if (mb_strstr($uri, 'my-account')) $echo = true;
if ($echo) echo "".'<meta name="robots" content="noindex,nofollow" />'."\n";
}
/*ФИН ЗАКРЫВАЕМ СТРАНИЦЫ МАГАЗИНА ОТ ПОИСКОВИКОВ*/

 

 

 

 

Коли остались какие-то вопросы, задавайте…

 

 

…или может быть у вас есть свои варианты по сегодняшней теме – пожалуйста, делитесь…

 

 


...А мне остаётся только раскланяться... и пожелать полезной работы в сети

 

 


подписка feedburner МИГ подписки - ВРЕМЯ знаний!!

 

 

 

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

 

 

 


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


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

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





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

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

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

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


  1. Спасибо тебе добрый человек!
    Из за такой подставы вукомерца, контент сайта перестал индексироваться… уроды

    Ответить - Рома

    • Пожалуйста, Рома!..
      Да – обновы нужны – но, порою, их мощь несказанно удивляет ))
      Ну, ничего…

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

  2. Подскажите, пожалуйста, а как на страницы фильтров товаров (например,
    //mysite.ru/oborydovanie/?orderby=popularity) добавить мета-тэг ?

    Чтобы закрыть от индексации дублирующие страницы с параметрами типа ?orderby=price

    Сайт на вордпрессе, используеться woocomerce. Запрет на индексацию в robots.txt не всегда помогает. Вот и возникла такая задача.

    Этот ваш код подойдет? (не силен в php):

    /*** ЗАКРЫВАЕМ СТРАНИЦЫ МАГАЗИНА ОТ ПОИСКОВИКОВ ***/
    function echo_meta_tooo_wp_head() {
    $echo = false;
    $uri = $_SERVER['REQUEST_URI'];
    //if (mb_strstr($uri, 'cart')) $echo = true;
    if (mb_strstr($uri, 'checkout')) $echo = true;// слаг checkout (хвостик ссылки) в адресе документа...
    if (mb_strstr($uri, 'my-account')) $echo = true;
    if ($echo) echo "".''."\n";
    }
    add_action( 'wp_head', 'echo_meta_tooo_wp_head' );
    /*** ФИН ЗАКРЫВАЕМ СТРАНИЦЫ МАГАЗИНА ОТ ПОИСКОВИКОВ ***/

    Спасибо.

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

    • Вот этот мета-тег: meta name="robots" content="noindex,nofollow"

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

      • Да, этот метатег использовать правильнее и надёжнее, нежели применять для “закрывания” документов средства robots.txt.

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

      • Если поставите oborydovanie то все ссылки с этим “типом” будут прикрыты noindex,nofollow или, что на мой взгляд, ловчее noindex,follow!
        Только смотрите, чтоб не закрыть саму страницу товара!
        я ж не вижу вашей примерной и реальной конструкции ссылки на товар… чтоб конкретно помочь.

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

        • вот как пример, покатит?

          function noindex (){
          if (isset($_GET['orderby']))
          {
          if (    $_GET['orderby']=='menu_order'||
          		$_GET['orderby']=='popularity'||
          		$_GET['orderby']=='rating'||
          		$_GET['orderby']=='date'||
          		$_GET['orderby']=='price'||
          	  	$_GET['orderby']=='price-desc'
          	) 
          	{
          		echo "";
              }
          }
          }
          add_action( 'wp_head', 'noindex' );
          Ответить - Михаил

          • Ну, в принципе должно покатить… хотя проще все архивы закрыть. Нет?
            токо имя функции поизящнее какое-нить, что ли.
            и add_action( 'wp_head', 'noindex' ); выше функции поставить… для субординации))
            Попозже на практике тестону…
            Спасибо, за пример…

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

  3. Большое спасибо за статью. Уже второй день Гуглю. Подскажите если в hook в функцию что вы указали поставить в checkout ?orderby . Закроет в индексе станицы сортировки ?

    Ответить - Юрий

    • Здравствуйте Юрий!
      Если вы имели в виду самый финальный код, то в его недрах указываются только СЛАГИ страниц!

      поставить в checkout ?orderby . Закроет в индексе станицы сортировки?

      Последите “у себя” внимательно URL сформированных “отсортированных” страниц!..
      Можете почитать о шорткодах WOOC – там найдёте ответы на Ваш вопрос.
      Если я Вас правильно понял.

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

  4. Поставил if (mb_strstr($uri, '?orderby')) $echo = true;//
    Выводит.

    Ответить - Юрий

    • Нет, Юрий, так выдаст ошибку!
      …Ваш подход ошибочен: Вы отфильтруйте какой-то товар по “данным”, и посмотрите сформированную ссылку на страницу… И в этой ссылке отыщете ответ.
      Переменная $uri – обусловит адрес страницы сайте (и только), – GET запросы к этой странице.
      Хотя закрыть от индекса возможно и не только этим способом.

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

      • А как правильно ? Чтобы выводит noindex для страниц фильтра бренда или сортировки товара

        Ответить - Юрий

        • По сути WOOC работает по своему классическому “плагинному” стандарту – для всех владельцев!
          А вот шаблоны могут иметь отличия меж собой… Поэтому – правильно, иметь под рукой рабочий сайт (и чёткие требования владельца), чтобы делать выводы и рекомендации.
          Попробуйте решить задачу по принципу предыдущего комма.
          Повторюсь: это, если я Вас правильно понял.

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

          • Ну в принципе , там так и есть . Url и Get запрпос
            //e-centre.com.ua/cat/kley/?filter_brend=ceresit

            Ответить - Юрий

            • Ну, в этом конкретном случае всё правильно работает: Ваша примерная страница закрыта в noindex,nofollow !

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

              • Спасибо! Вчера даже не мог понять как это сделать. А Google начал показывать эти дубли. Стоит Yoast SEO но не нашел варианта, как эти дубли убрать.
                СПАСИБО!


              • Такое случается с Yoast SEO – ну и замечательно, что разобрались!!
                Тестируйте теперь: дубли уйдут не сразу!


  5. Подскажите этот hook который в комментариях. что делает выводит. Показывает пустую страницу, ведь нет noindex?

    add_action( 'wp_head', 'noindex_wooc_88' );
    function noindex_wooc_88 (){
    if (isset($_GET['orderby']))
    {
    if (    $_GET['orderby']=='menu_order'||
    		$_GET['orderby']=='popularity'||
    		$_GET['orderby']=='rating'||
    		$_GET['orderby']=='date'||
    		$_GET['orderby']=='price'||
    	  	$_GET['orderby']=='price-desc' // и т.д.
    	) 
    	{
    		echo "".'<meta name="robots" content="noindex,nofollow" />'."\n";
    } } }
    Ответить - Юрий

    • Этот код, как я понимаю, комментатор дал для примера (он не полный).
      Лично я его не тестировал, чтобы что-то о нём конструктивно говорить… (нужно вечерком попробовать: сейчас нет под рукой сайта для примера)
      Оператор echo ""; снабдите по своим требованиям: типа так – echo "".'<meta name="robots" content="noindex,nofollow" />'."\n"
      Я код изменил мальца!!!!!

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

      • Понял. Спасибо! Заполнить Оператор echo "";

        Ответить - Юрий

  6. Доброго времени суток, такой вопрос. У меня сдвоение тегов

    Robots: index, follow || noindex,follow

    Мне нужно оставить noindex, follow. При добавлении ниже описанного кода убирается noindex,follow. Т.е. вторая пара, которую я и хочу оставить. Выручайте пожалуйста как это сделать.

    /*Новое в WOOC - УБИРАЕМ мета ROBOTS noindex,follow в wp_head*/
    add_action( 'init', 'wc_pageats_noindex' ); // отключаем функцию добавленную в 3.2 meta_robots - noindex_follow
    function wc_pageats_noindex(){
    remove_action( 'wp_head', 'wc_page_noindex' );
    }
    /*УБИРАЕМ ИЗ ШАПКИ noindex,follow*/
    Ответить - Эдгар

    • Здравствуйте Эдгар!
      Всё правильно! в комментарии к коду ясно сказано, что код убирает noindex_follow
      На какой именно странице магазина так, как вы описали, выводятся теги?

      Выручайте пожалуйста как это сделать.

      По сути – просто! точно также уберите ненужный тег index, follow, а noindex,follow оставьте!..
      Как вы прикрепляли в мета index, follow помните? подобным способом (до наоборот) и уберите…
      Хотя, предполагаю… у вас на страницах возникнет каша в этих тегах… Вы, вероятно, используете плагин для вызова index, follow?
      Для того, чтобы помочь и подсказать что-то более определённое, неплохо бы взглянуть на код сайта…
      Или, если у вас мета организовано без плагина, взгляните видео под статьей, там всё ну очень подробно рассказано… или прочтите ЭТУ статью по работе с условными тегами т.е. можно самостоятельно организовать вывод мета Robots

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

      • Михаил спасибо за ответ, честно сайт достался от разработчика с которым потеряна связь, если вам нужна ссылка то вот chief116.ru. Данные теги вызываются на странице заказов, причина почему вообще решил убрать их так как они индексируются. Как до этого делали не знаю, на сайте установлен Yoast Seo

        Ответить - Эдгар

        • Понятно!
          Посмотрите в настройках Yoast Seo – там, возможно, установлены правила Роботс…
          Либо откройте редактирование страницы Заказов – оформление заказа, корзина являются стандартными страницами WP – и посмотрите как там обстоят дела в настройках организации мета… Это если мета-установки реализованы посредством плагина. А если в коде, то вот пост по условным тегам WOOCусловныи теги WOOC
          Условные теги woocommerce — наиболее полная подборка, подробные пояснения, примеры…
          Шорткоды Woocommerce и их применение
          Настройка виджетов WooCommerce
          . Поправьте “редакции” разработчика и – готово дело))

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

          • Спасибо решил, на странице плагином было добавлено.

            Ответить - Эдгар

            • Замечательно!
              Желаю удачи! …заходите и впредь)

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

              • Спасибо


  7. Корзина закрыта, но есть страницы индексируются, в вебмастере такие страницы появились:
    /shop/?add-to-cart=2259
    /shop/?add-to-cart=2317

    Ответить - Егор

    • И эти страницы “запросов” нужно закрывать…
      Этого в статье нет. Добавлю…

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

      • Да, это очень важно!

        Ответить - Егор

        • Пока я готовлю редакцию поста – попробуйте прочесть ЭТОТ пост: по примерам и вариантам сниппетов можно что-то для себя решить.

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

  8. Михаил добрый день!
    Подскажите пожалуйста, как убрать из индексации страницы добавления в Корзину, типа mytupperware.spb.ru/kak-poluchit-idealnoe-testo-dlya-vypechki-za-3-prostyh-shaga/?add-to-cart=49147

    или добавления в wishlist mytupperware.spb.ru/products/izmelchitel-supersonic-kompakt-300-ml/?_wpnonce=d136125582&add_to_wishlist=47221

    Спасибо!

    Ответить - Илья

    • Привет, Илья! Вам нужно узнть каким образом у вас на этих страницах установлены теги: index, follow – ну а затем изменить их в требуемые вам т.е. noindex и nofollow…
      Чтоб что то-сказать более детальное по вопросу, нужно конкретно смотреть сайт)

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