Magento is the most used e-commerce platform in the world and powers over 200,000 e-commerce stores. Magento can be SEO-friendly, however the “out of the box” installation does have a number of SEO issues. With this in mind, this guide is designed to help Magento users configure their installation in the most effective way from an SEO perspective.
There are a number of issues with URLs with the out of the box Magento implementation – such as the use of category paths within URLs and also layered navigation pages. Product URLs should be set to top-level, meaning they don’t use their category path, which can cause duplicate content issues. The product URLs should be: “example.com/example-product.html instead of example.com/category/sub-cat/example-product.html”. Layered navigation pages can cause a lot of issues with over indexation and they should be prevented from being indexed by using the canonical tag and potentially noindex, follow meta robots tags.
I would also recommend keeping the query string parameters, rather than trying to mask the fact that they’re dynamic – here’s an example: “Example.com/category?price=2000-5000 Example.com/category/price/2000-5000”. You can assign rules based on the query strings but it’s much harder if the URLs are using static directories. For example, my MageSEO extension can be used to assign manual rules (using different match types) to sets of pages that you don’t want search engines to index.
Use of The Canonical Tag
You should be using the canonical tag on category and product pages to ensure that search engines know when dynamic or duplicate pages aren’t the primary version of a given page. Layered navigation pages or trailing slash pages are examples of those that should be canonicalised to the primary URL. So for example, if “example.com/category” and “example.com/category/” are the same, one of the pages should be referenced in the canonical tag on both pages, which tells search engines that the primary one is the page that should be indexed. Canonical tag is generally very effective if you’re launching a new website, or re-platforming one that has not previously had over-indexation issues – however if you already have issues with over-indexation, it’s not necessarily the best option. I often use meta robots tags to address this issue, as it allows you to submit a removal request in Google Webmaster Tools to fix the issue faster – the canonical tag doesn’t meet the requirements for doing this.
Out of the box, Magento uses 302 redirects by default – this should be changed in the back-end configuration to use 301 redirects, as these pass value. Headers Magento page templates often mis-use headers and it’s common for category pages to have multiple H1 headers, the homepage not to have a H1 heading and category page to have product headings set to H2s. Headers are only a minor on-page signal, however it’s worth fixing them.
Pages That Shouldn’t Be Indexable
As above layered navigation pages shouldn’t be indexed, as they can be a big over-indexation and duplication issue. Catalog search pages shouldn’t be accessible to search engines, as they don’t have any unique content and they’re not valuable to searchers. You should use the noindex, follow tag to prevent search engines from accessing these pages. Wishlist pages, checkout pages, and image pages (depending on how you’re using images) also add no value and shouldn’t be indexable. These are just a few examples – the general rule of thumb should be to prevent any page without unique, valuable content from being indexed – other examples could be duplicate review pages (a common Magento problem), image pages (not files, but pages) and redundant duplicate products (can often be found on the previous /catalog/ URL structure).
Magent’s rewrite engine can cause a number of issues from an SEO perspective, such as appending numbers at the end of URLs (due to it thinking that URLs had previously existed), unnecessary redirect loops and unwanted redirects – which can conflict with the canonical tag to cause even more issues. I also wrote this piece on Magento SEO, which covers this in a bit more details and a few additional points.
Paginated pages (eg: ?p=2) should use the rel next and prev tags to illustrate that they’re pagination pages. This can be achieved by using a module or by asking your developers to add the tag. This can be achieved by either by adding the rel next or prev tag to the link attribute or via the head.
In conclusion, Magento can be a great platform from an SEO perspective, however it does have problems if you’re using an ‘out of the box’ configuration. Third party plugins or a good developer can help you to overcome issues with the platform and once they’ve been resolved, it’s actually really good from an SEO perspective.
Pagination Screenshot via http://www.collaboration133.com Feb 2014.