Установите NOINDEX, NOFOLLOW на определенные продукты

17

В моем магазине magento есть следующее, чтобы позволить Google / поисковым системам сканировать весь сайт.

<meta name="robots" content="INDEX,FOLLOW" />

Теперь мне нужны некоторые конкретные продукты, чтобы:

<meta name="robots" content="NOINDEX,NOFOLLOW" />

так что Google не сканирует / не индексирует их. Это возможно? Товары должны быть случайными (то есть не все из одной категории), поэтому я должен быть в состоянии сделать это для каждого продукта, если это необходимо.

Я знаю, что могу сделать это на основе URL, как:

<?php
$currentUrl = Mage::helper('core/url')->getCurrentUrl();
if ($currentUrl == 'xxxxxxx')
{
    <meta name="robots" content="NOINDEX,NOFOLLOW" />
}
else
{
    <meta name="robots" content="INDEX,FOLLOW" />
}
?>

но со временем их может оказаться сотни / тысячи.

odd_duck
источник

Ответы:

23

В Magento admin при редактировании продукта перейдите на вкладку designи добавьте следующее custom layout:

<reference name="head">
      <action method="setRobots"><meta>NOINDEX,NOFOLLOW</meta></action>
</reference>
Сандер Мангель
источник
+1 НО он сказал, что может быть тысячи продуктов ...
Пай
1
@paj правда, но продукты случайные, так что это единственный чистый вариант.
Сандер Мангель
Разве это не должно быть <value>NOINDEX,NOFOLLOW</value>вместо <meta>NOINDEX,NOFOLLOW</meta>?
Arvind07
18

Вы можете наблюдать за событием, controller_action_layout_generate_blocks_afterкак это:

public function setRobots($observer) 
{
     $controller = $observer->getAction();
     $fullActionName = $controller->getFullActionName();
     if ($fullActionName == 'catalog_product_view') { //if on product page
          $product = Mage::registry('product'); //access the current product if needed
          if (your condition here) { //condition to set the robots to noindex, nofollow
              $observer->getLayout()->getBlock('head')->setRobots('NOINDEX,NOFOLLOW');
          }
     }
}
Мариус
источник
где «ваше условие здесь» может быть пользовательским атрибутом, это позволит вам быстро импортировать значение пользовательского атрибута для тысяч продуктов.
Падж
@paj. Конечно. Это может быть что угодно. Атрибут продукта, настройка конфигурации.
Мариус