Guide to SEO Friendly Layered Navigation for Magento

We seem to be focusing on Magento more and more on this blog. Few reasons for this, firstly we are working on a few Magento websites and enjoying helping our clients with their SEO challenges and we also think Magento is a fantastic shopping cart.

However Magento does not come without challenges from an SEO perspective and one of those relates to the use of layered navigation (or faceted navigation as our US amigos would say). Layered navigation allows users to search for products by the product characteristics, just look at layered navigation in play with ASOS:

ASOS Layered Navigation

There are issues relating to layered navigation from an SEO perspective and these include:

  • Crawl depth of the search engines – Layered navigation means that website can end up with thousands of pages and combinations of filters. Search engines may not index all these additional pages (maybe you don’t want them to).
  • Duplicate content issues – Search engines could find thousands of pages that look very similar.
  • Ensuring important category/sub category pages can be found – This is usually where you may have had a static navigation and are switching to layered navigation. It can be hard for the search engines to distinguish important pages.

Here is a video from Tony Anicic about the problems of layered navigation:

Rand Fiskin from SEOmoz does a great Whiteboard Friday and highlights other solutions to the common problems of layered navigation (faceted navigation)

There are other great articles out there with good analysis of the issues and solutions to these problems:

  • Despite others saying the robots.txt file is not the way forward, Matt Evans has an excellent in depth case study on the issue.

If you find that your e-commerce store is having problems with layered navigation then consider these solutions:

    • Robots.txt – You may decide not to show certain pages in the search engines indexes and add certain filters and pages to your site’s robots.txt file. Search engines will still crawl these pages therefore and you may run out of crawl budget and the search engines may not index some of the more important pages of the site. Another factor to consider is the fact that link juice/page rank will still be flowing to these pages.
    • Rel=Canonical – The Rel Canonical tag can be used on filters and pages resulting from layered navigation however the problem with this method is that it should only be used for pages with same content (or very similar) and not ideal for layered navigation. Again, the search engines will still crawl these pages and it can eat into the crawl budget. It should be noted that some of the big retailers in the UK are using this method to deal with layered navigation.
    • No Follow – I would not recommend using the ‘No Follow’ method to handle layered navigation. This method simply stops the pages passing any link juice/page rank but does not stop them from being indexed.
    • GWT Parametres – In Google Webmaster Tools you can specify how Google handles certain parameters. This seems to be a good solution to the problem of layered navigation.
    • Javascript/Ajax – You can use javascript or ajax for the navigation and this will make the navigation invisible to the search engines (or you may decide to show navigation to users only with cookies enabled). The major disadvantage of this is that the whole navigation will be invisible to the search engines therefore you may decide on a partial html/ajax navigation.

A solution maybe is to use a variety of these methods. For example some sites may use the rel canonical tag in association with the nofollow & noindex.

The inbuilt layered navigation feature of Magento do not have the added features that a lot of the extensions offer. You will find that you need to invest in some custom coding to get Magento’s own layered navigation as SEO friendly as you would like.

Other extensions that are available to take care of layered navigation include:

        • Amasty Improved Navigation – Looks like an excellent feature list with Ajax based navigation and a host of other features. Be good if you could choose certain elements of the navigation to be Ajax based and others not to be! Provides SEO friendly URLs and custom meta tags.
        • GoMage Advanced Navigation – Similar to Amasty in that it provides the ability to hide the layered navigation from the search engines. However, it should allow you to show certain elements that you wished to be indexed (e.g. category and sub category) and then hide the rest of the navigation. GoMage will provide custom coding on the extension to adapt to your requirements.
        • Other options include both Aitoc and Nextopia, but I do not believe that these two offer the functionality that both GoMage and Amasty offer on their layered navigation extensions.

While the extensions available are great I do believe that the ideal solution depends on the website in question (e.g. how deep into the navigation they want filters indexed), here I discuss the ideal solution for the House of Fraser website.

Below you can see my brief analysis of the layered navigation on ASOS site:

In my mind layered navigation is a sure winner for conversions. I’m glad to say Peep at Conversion XL backed me up with the following:

Peep's opinion on layered navigation

Thanks for reading guys, catch me on Twitter @clickyleap and if you agree/disagree with any of the above please do leave a comment.


  1. A great resource to cover all angles of SEO for Magento navigation issues! Worth keeping for anyone looking to learn more about technical issues involved with this kind of E-Commerce SEO issue – which can really harm your rankings!

    Great work guys :)


Speak Your Mind