Ustaw NOINDEX, NOFOLLOW na poszczególnych produktach

17

Mój sklep Magento ma następujące funkcje, które pozwalają Google / wyszukiwarkom na przeszukiwanie całej witryny.

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

Potrzebuję teraz określonych produktów, które:

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

aby google ich nie indeksował / nie indeksował. czy to możliwe? Produkty byłyby losowe (tj. Nie wszystkie z jednej kategorii), więc w razie potrzeby muszę to zrobić dla poszczególnych produktów.

Wiem, że mogłem to zrobić na podstawie adresu URL, takiego jak:

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

ale z czasem może ich być setki / tysiące.

Dziwna kaczka
źródło

Odpowiedzi:

23

W Magento admin, podczas edycji produktu przejdź do zakładki designi dodaj następujące elementy do custom layout:

<reference name="head">
      <action method="setRobots"><meta>NOINDEX,NOFOLLOW</meta></action>
</reference>
Sander Mangel
źródło
+1 ALE powiedział, że mogą istnieć tysiące produktów ...
paj
1
@paj prawda, ale produkty są losowe, więc jest to jedyna czysta opcja.
Sander Mangel
Nie powinno być <value>NOINDEX,NOFOLLOW</value>zamiast <meta>NOINDEX,NOFOLLOW</meta>?
Arvind07
18

możesz obserwować takie wydarzenie 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');
          }
     }
}
Marius
źródło
gdzie „twój stan tutaj” może być atrybutem niestandardowym, umożliwi to szybkie masowe importowanie wartości atrybutu niestandardowego dla 1000 produktów.
paj
@paj. Pewnie. To może być wszystko. Atrybut produktu, ustawienie konfiguracji.
Marius