Stellen Sie NOINDEX, NOFOLLOW für bestimmte Produkte ein

17

Mein Magento-Shop bietet Folgendes, damit Google / Suchmaschinen die gesamte Website crawlen können.

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

Ich brauche jetzt einige bestimmte Produkte:

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

damit google sie nicht crawlt / indexiert. Ist das möglich? Produkte würden zufällig sein (dh nicht alle aus einer Kategorie), daher muss ich in der Lage sein, dies bei Bedarf Produkt für Produkt zu tun.

Ich weiß, ich könnte es auf einer URL-Basis tun wie:

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

Aber es könnte im Laufe der Zeit Hunderte / Tausende von diesen geben.

seltsame Ente
quelle

Antworten:

23

Wenn Sie in Magento Admin ein Produkt bearbeiten, gehen Sie zur Registerkarte designund fügen Sie Folgendes hinzu custom layout:

<reference name="head">
      <action method="setRobots"><meta>NOINDEX,NOFOLLOW</meta></action>
</reference>
Sander Mangel
quelle
+1, aber er hat gesagt, es könnte Tausende von Produkten sein ...
paj
1
@paj stimmt, aber die Produkte sind zufällig, daher ist dies die einzige saubere Option.
Sander Mangel
Sollte es nicht <value>NOINDEX,NOFOLLOW</value>statt sein <meta>NOINDEX,NOFOLLOW</meta>?
Arvind07
18

Sie können das Ereignis controller_action_layout_generate_blocks_afterwie folgt beobachten:

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
quelle
Wenn "Ihre Bedingung hier" ein benutzerdefiniertes Attribut sein könnte, können Sie den benutzerdefinierten Attributwert schnell für Tausende von Produkten in großen Mengen importieren.
Paj
@paj. Sicher. Es kann alles sein. Ein Produktattribut, eine Konfigurationseinstellung.
Marius