Definir NOINDEX, NOFOLLOW em produtos específicos

17

Minha loja magento tem o seguinte para permitir que os mecanismos de pesquisa / google rastreiem o site inteiro.

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

Agora, estou precisando de alguns produtos específicos para ter:

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

para que o Google não os rastreie / indexe. Isso é possível? Os produtos seriam aleatórios (ou seja, nem todos de uma categoria), por isso preciso ser capaz de fazer isso produto por produto, se necessário.

Eu sei que eu poderia fazê-lo em uma base de URL como:

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

mas, com o tempo, pode haver centenas / milhares delas.

Pato estranho
fonte

Respostas:

23

No Magento admin, ao editar um produto, vá para a guia designe adicione o seguinte a custom layout:

<reference name="head">
      <action method="setRobots"><meta>NOINDEX,NOFOLLOW</meta></action>
</reference>
Sander Mangel
fonte
+1 mas ele disse que não poderia haver milhares de produtos ...
paj
1
@ paj true, mas os produtos são aleatórios, portanto esta é a única opção limpa.
Sander Mangel
Não deveria ser em <value>NOINDEX,NOFOLLOW</value>vez de <meta>NOINDEX,NOFOLLOW</meta>?
Arvind07
18

você pode observar o evento controller_action_layout_generate_blocks_afterassim:

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');
          }
     }
}
Marius
fonte
onde "sua condição aqui" poderia ser um atributo personalizado, isso permitiria a importação em massa do valor do atributo personalizado rapidamente para milhares de produtos.
26415 paj
@paj. Certo. Pode ser qualquer coisa. Um atributo do produto, uma configuração.
Marius