Skip to content

Instantly share code, notes, and snippets.

@evgv
Last active January 5, 2019 01:55
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save evgv/5bf080ae1f637c2eff838ce7e1c3f78b to your computer and use it in GitHub Desktop.
Save evgv/5bf080ae1f637c2eff838ce7e1c3f78b to your computer and use it in GitHub Desktop.
Magento. Update content of meta robots tag

Update content of meta robots tag

Declare observer into config.xml

    
    <frontend>
        <events>
            <controller_action_layout_generate_xml_before>
                <observers>
                    <noindex>
                        <type>singleton</type>
                        <class>{MODEL ALIAS}/observer</class>
                        <method>changeRobots</method>
                    </noindex>
                </observers>
            </controller_action_layout_generate_xml_before>
        </events>
    <frontend>

Add observer function

    /**
     * Update content of meta robots tag 
     * Set <meta name="robots" content="NOINDEX,NOFOLLOW"> if request params has a "cat" param
     *
     * @event controller_action_layout_generate_xml_before
     * @param Varien_Event_Observer $observer
     */
    public function changeRobots(Varien_Event_Observer $observer) 
    {
        $full_action_name = $observer->getEvent()->getAction()->getFullActionName();
        
        if (
            $full_action_name == 'catalogsearch_result_index' ||
            $full_action_name == 'catalog_category_view'
        ) {
            $params = Mage::app()->getRequest()->getParams();
            
            if(isset($params['cat'])) {
                $layout = $observer->getEvent()->getLayout();
                $layout->getUpdate()->addUpdate('<reference name="head"><action method="setRobots"><value>NOINDEX,NOFOLLOW</value></action></reference>');
                $layout->generateXml();
            }
        }
    }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment