특정 제품에 NOINDEX, NOFOLLOW 설정


17

내 magento 저장소에는 Google / 검색 엔진이 전체 사이트를 크롤링 할 수 있도록 다음이 있습니다.

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

이제 특정 제품에 필요한 제품이 필요합니다.

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

Google이 크롤링 / 인덱싱하지 않도록합니다. 이게 가능해? 제품은 임의적이므로 (즉, 하나의 범주에서 모두가 아님) 필요한 경우 제품별로 제품별로이 작업을 수행 할 수 있어야합니다.

나는 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 admin에서 제품을 편집 할 때 탭으로 이동 design하여 다음을 추가하십시오 custom layout.

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

+1 그러나 그는 수천 개의 제품이있을 수 있다고
말했었습니다

1
@paj true이지만 제품은 무작위이므로 이것이 유일한 깨끗한 옵션입니다.
Sander Mangel

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

여기서 "여기의 조건"은 사용자 정의 속성 일 수 있습니다. 이렇게하면 1000의 제품에 대한 사용자 정의 속성 값을 빠르게 대량으로 가져올 수 있습니다.
paj

@paj. 확실한. 무엇이든 될 수 있습니다. 제품 속성, 구성 설정
Marius
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.