Establecer NOINDEX, NOFOLLOW en productos particulares

17

Mi tienda magento tiene lo siguiente para permitir que los motores de búsqueda / google rastreen todo el sitio.

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

Ahora necesito algunos productos en particular para tener:

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

para que google no los rastree / indexen. es posible? Los productos serían aleatorios (es decir, no todos de una categoría), por lo que debo poder hacer esto producto por producto si es necesario.

Sé que podría hacerlo sobre una 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" />
}
?>

pero podría terminar con el tiempo en cientos / miles de estos.

Pato extraño
fuente

Respuestas:

23

En el administrador de Magento, al editar un producto, vaya a la pestaña designy agregue lo siguiente a custom layout:

<reference name="head">
      <action method="setRobots"><meta>NOINDEX,NOFOLLOW</meta></action>
</reference>
Sander Mangel
fuente
1 pero dijo que podría haber miles de productos ...
PAJ
1
@paj es cierto, pero los productos son aleatorios, por lo que esta es la única opción limpia.
Sander Mangel
¿No debería ser en <value>NOINDEX,NOFOLLOW</value>lugar de <meta>NOINDEX,NOFOLLOW</meta>?
Arvind07
18

Puedes observar el evento controller_action_layout_generate_blocks_afterasí:

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
fuente
donde "su condición aquí" podría ser un atributo personalizado, esto le permitiría importar en masa el valor del atributo personalizado rápidamente para miles de productos.
paj
@paj. Seguro. Puede ser cualquier cosa. Un atributo del producto, una configuración.
Marius