How to Set Noindex Nofollow in Magento 2

Today, we’re going to teach you guys how to set ‘no-follow and no-index tags for specific pages in a Magento 2 store.

Magento 2 allows you to control specific pages of your store to be crawled and indexed by search engines.

Noindex basically stops search engine crawlers from crawling & indexing the specified pages.

Nofollow, on the other hand, stops search engine crawlers from following links on specific pages.

Now, Magento 2 does come with an option to set Noindex & Nofollow tags for the entire store. But many times, you’ll have to set Noindex & Nofollow tags for only specific pages.

So, how does one can do that in Magento 2?

In this tutorial, we will show you exactly how to set Noindex & Nofollow tags for specific pages in your Magento 2 store.

How to Set Noindex & Nofollow for Specific Page in Magento 2?

Please follow the below steps to set Noindex & Nofollow tags for specific pages in your Magento 2 store.

Step 1. Create Event.xml File.

First of all, we need to create an event.xml file in the app\code\Vendor\Extension\etc\frontend\ folder and paste the following code:

<?xml version="1.0"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">

    <event name="layout_load_before">

        <observer name="add_robot_page" instance="Vendor\Extension\Observer\Noindexfollow" />

    </event>    

</config>

 

Step 2. Create Noindexfollow.php file.

After that, we also need to create a Noindexfollow.php file in the app\code\Vendor\Extension\Observer\ folder and paste the following code:

<?php

namespace Vendor\Extension\Observer;

use Magento\Framework\Event\Observer;

use Magento\Framework\Event\ObserverInterface;

class Noindexfollow implements ObserverInterface

{

    protected $request;

    protected $layoutFactory;

    public function __construct(

        \Magento\Framework\App\Request\Http $request,

        \Magento\Framework\View\Page\Config $layoutFactory)

    {

            $this->request = $request;

            $this->layoutFactory = $layoutFactory;

    }

    public function execute(Observer $observer)

    {

        $fullActionName = $observer->getFullActionName();

        /* Here we give for category page, you can chages as per your need */

        if ($fullActionName == "catalog_category_view")

        {

                $this->layoutFactory->setRobots('NOINDEX,NOFOLLOW');

        }

    }

}

 

Conclusion

And there you go!

This is the easiest way to set Noindex & Nofollow tags for specific pages in your Magento 2 store.

And if you need our professional assistance, feel free to contact us at any time.