特定の製品にNOINDEX、NOFOLLOWを設定します


17

私のmagentoストアには、Google /検索エンジンがサイト全体をクロールできるようにするために次のものがあります。

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

いくつかの特定の製品が必要になりました。

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

Googleがクロール/インデックス付けしないようにします。これは可能ですか?製品はランダムである(つまり、すべてが1つのカテゴリからではない)ため、必要に応じて製品ごとにこれを実行できるようにする必要があります。

私は次のようなURLベースでそれを行うことができることを知っています:

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

しかし、時間がたてば、数百/数千に達する可能性があります。

回答:


23

Magentoの管理画面で、製品を編集するときにタブに移動しdesign、次を追加しますcustom layout

<reference name="head">
      <action method="setRobots"><meta>NOINDEX,NOFOLLOW</meta></action>
</reference>

+1
しかし

1
@paj trueですが、製品はランダムなので、これが唯一のクリーンオプションです。
サンダーマンジェル

<value>NOINDEX,NOFOLLOW</value>代わりにすべきではありません<meta>NOINDEX,NOFOLLOW</meta>か?
-Arvind07

18

次の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');
          }
     }
}

「ここの条件」はカスタム属性である可能性があります。これにより、数千の製品のカスタム属性値をすばやくインポートできます。
paj

@paj。承知しました。何でも構いません。製品属性、構成設定。
マリウス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.