! Запросто с WordPress - доступная ручная работа по правилам оптимального интернета
...здесь Ваша реклама.?.
Здравствуйте !
написано: — 
отредактировано: 2018-05-22
издатель:  в теме: WooCommerce и WordPress реплики: 21 комментарий
 
Запросто с WordPress - студия ATs media fashion Reception WordPress golden

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

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

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

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


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

 

 

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

 

 

 

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

 

 

 

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

 

 

 

Далее…

 

 

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

 

 

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

 

 

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

 

 

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

 

 

 

 

 

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

 

 

 

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

 

 

 

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

 

 

 

/*** ЗАКРЫВАЕМ СТРАНИЦЫ МАГАЗИНА ОТ ПОИСКОВИКОВ ***/
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";
}
add_action( 'wp_head', 'echo_meta_tooo_wp_head' );
/*** ФИН ЗАКРЫВАЕМ СТРАНИЦЫ МАГАЗИНА ОТ ПОИСКОВИКОВ ***/

 

 

 

 

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

 

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

 

 


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

 

 


подписка feedburner Online консультация по работе c сайтом на WordPress

 

 


Благодарности)) и вопросы в комментариях - помогу… в чём дюжу
А также Вы можете просто:
Нажатия на кнопочки определяют Ваше высокое гражданское сознание
Удачи в работе и творчестве..!
 ! самое читаемое:
   Выведем последние комментарии в любом месте сайта — несколько вариантов   Убираем циклическую ссылку h1 логотипа на главной странице   Как исключить вывод (выборочно) поста с главной страницы сайта — регулировка в админке   Как выбрать хостинг — пошаговые инструкции (обзоры 4 хостингов) — нюансы модного ssl сертифицирования   Ускоряем сайт: основные кэш и gzip правила .htaccess которые нужно знать   Как перевести сайт на https — сертификат ssl — шифрование   Санкции вебмастера Яндекс (фатальные ошибки) — предупреждения, или что это?..   Создаём плагин — добавочный файл функций — my-functions.php   Что такое Яндекс? SEO оптимизация сайта за пределами Google   Продвижение контентом или нужно настраивать сайт — валидный код шаблона..?   Уже в этом году WordPress потребует от пользователей протокол HTTPS   Включаем обслуживание gzip сжатия файлов на хостинге и в htaccess   Как самостоятельно установить в Notepad++ плагин Compare   Как к статье добавить блок ссылок на похожие по теме записи сайта
↔ перетаскивайте ленту ↔
ещё статьи по теме:

смотреть ещё статьи в теме WooCommerce и WordPress
меточная навигация:


Комментарии © 21 к статье: Индексация страниц noindex,follow — корзины и оформления заказов — обновление woocommerce

  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 "";

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

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

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

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

 необходимо принять правила конфиденциальности и пользовательского соглашения
Яндекс.Метрика
? основная линейка услугSkype консультацияЕсли вы выбрали для своего сайта WordPress и только-только начинаете изучать панель управления контентом, то этот вариант оnline консультаций — практически по любым вопросам — для вас! вопросы сюдаSkype онлайн