Réglez NOINDEX, NOFOLLOW sur des produits particuliers

17

Ma boutique magento dispose des éléments suivants pour permettre à Google / moteurs de recherche d'explorer l'ensemble du site.

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

J'ai maintenant besoin de certains produits particuliers:

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

afin que google ne les explore pas / ne les indexe pas. Est-ce possible? Les produits seraient aléatoires (c.-à-d. Pas tous d'une même catégorie), je dois donc pouvoir le faire produit par produit si nécessaire.

Je sais que je pourrais le faire sur une base d'URL comme:

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

mais il pourrait y avoir au fil du temps des centaines / milliers de ces derniers.

canard étrange
la source

Réponses:

23

Dans l'administrateur Magento, lors de la modification d'un produit, accédez à l'onglet designet ajoutez ce qui suit à custom layout:

<reference name="head">
      <action method="setRobots"><meta>NOINDEX,NOFOLLOW</meta></action>
</reference>
Sander Mangel
la source
+1 MAIS il a dit qu'il pourrait y avoir des milliers de produits ...
paj
1
@paj true mais les produits sont aléatoires, c'est donc la seule option propre.
Sander Mangel
Devrait - il pas au <value>NOINDEX,NOFOLLOW</value>lieu de <meta>NOINDEX,NOFOLLOW</meta>?
Arvind07
18

vous pouvez observer l'événement controller_action_layout_generate_blocks_aftercomme ceci:

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
la source
où "votre condition ici" pourrait être un attribut personnalisé, cela vous permettrait d'importer rapidement en masse la valeur d'attribut personnalisé pour des milliers de produits.
paj
@paj. Sûr. Ça peut être n'importe quoi. Un attribut de produit, un paramètre de configuration.
Marius