As many of you will already know, I do a lot of consultancy around Magento SEO projects and migrations. I get around 5 emails per week asking me questions about various different SEO considerations for Magento websites, so I thought I’d put this post together.
The following questions have been asked over the last couple of years – if there are any others that you want me to answer, or if you have a question, feel free to drop me an email on [email protected].
I’m aiming to keep this post updated as I receive new questions.
How should I deal with Session IDs on Magento?
Session IDs are very common with Magento and they can cause severe duplicate content issues, as there’s no limit to the number of duplicated URLs that can be generated. Session IDs are used to track a user’s session and they’re usually generated via the checkout, to track what items have been added to cart. A session ID will be appended to the end of URLs, here’s an example: domain.com/page?__SID=df23n54jtklg.
The best way to deal with this is to properly fix the issue, which will require development resource. If you’re not in a position to fix this, I would recommend blocking the URLs via the robots.txt or assigning meta robots rules (noindex, follow) – I would also recommend providing instructions to Google via the parameter handling options in Google Webmaster Tools.
You should also block you checkout pages so that crawlers won’t access pages with the session ID appended to the end of the URL.
How should I structure my product URLs?
In the SEO configuration settings (catalog > search engine optimisation) you can choose whether to serve category paths in product URLs – this is the main thing you need to consider for product URLs. I would recommend using top-level product URLs (eg: domain.com/product.html rather than domain.com/category/sub-cat/product.html) as this will prevent the product being duplicated if it’s featured in more than one category.
I would say that this is the main issue with URLs.
What’s the best customer review module for Magento, from an SEO perspective?
I personally really like BazaarVoice, because it provides a lot of customisation options and has some really advanced functionality. That said, BazaarVoice is quite expensive and it’s subscription-based.
The default Magento module is actually quite good, although you might want to use additional module or work with your developer to get more from it.
BazaarVoice also has schema support, making it easier to get the ratings schema appearing on your product listings.
Ekomi is also worth looking at.
What’s the best Magento SEO module?
As many of you will already know, I released a Magento SEO module last year, so I’m obviously going to be slightly biased. That said though, there are some other really good modules that offer similar features, so here are the one’s I recommend.
MageSEO ($249) – this is the module that I released and it offers REGEX-based meta robots rules, a back-end robots.txt editor, pagination control (rel next and prev), page-level canonical editor, trailing slash canonical options, page-level sitemap removal options.
MageWorx ($399) – this module is probably the most used and it’s been around for quite a while – it’s very similar to MageSEO but with a few additional options and without the REGEX meta robots editor.
MageSEO SEOpack (free) – This was the original SEO module that I released when I was working at GPMD. This module allows you to block dynamic pages using meta robots rules and set rel next and prev pagination options.
If you think I’ve missed one, please let me know in the comments below and I’ll add it in.
How should I deal with the trailing slash canonical issue?
The trailing slash canonical issue is one of the most talked about technical SEO issues with the Magento platform, as most URLs on Magento sites render with or without a trailing slash – meaning there are two versions of each page. This generally becomes a problem when large sites have links pointing to both versions, which can lead to both pages ranking and also means the link value is split between two pages.
The obvious choice with the trailing slash issue is to apply a rewrite rule, however whenever I’ve tried this I’ve always had an issue somewhere (checkout, admin etc). I use MageSEO to assign a primary URL suffix (either / or no /), which then ensures that the canonical tag points to that suffix on all pages across the website.
Are there any SEO benefits of going with Magento Enterprise over Magento Community?
I’ve not seen any benefits of Magento Enterprise over Community from an SEO perspective. The only thing that could arguably be considered is that EE has caching out of the box, so might be faster – but this can be achieved with CE too and is unlikely to make any difference.
How should I deal with pagination?
A couple of years ago, Google introduced the rel next and prev tags, to indicate when pages are being used for paginated results. I would recommend using these tags (more info on manual implementation here) on your paginated pages and also the noindex, follow meta robots tag.
You can also implement the rel next and prev tags via the MageSEO module.
What’s the best way to house a blog on Magento?
Whenever I’ve introduced a blog on a Magento website, I’ve used the fishpig extension, which is basically a WordPress integration module for Magento. The Fishpig module makes integrating the two platforms very simple.
How should I deal with my filtered / layered navigation in Magento?
Layered / faceted navigation is probably the most common Magento SEO issue and it’s also probably the most detrimental.
I would recommend instead using the noindex, follow meta robots tag, which tells search engines not to index the pages, but to still follow the links. You should still have the canonical tag, however I’ve seen very few cases where it’s prevented over-indexation issues when it’s not been added from the start. I’ve also seen plenty of cases where the canonical tag has been implemented from day one of an ecommerce launch, however the pages have still been indexed and lead to duplicate content issues.
In the event that you’re having issues with crawl budget, I would recommend using the robots.txt to block the pages.
Which layered navigation modules are best for SEO?
There are lots of layered navigation modules available, such as Manadev and AheadWorks which allow you to serve comprehensive filters to users to help them filter your products on category and sub-category pages. Both of these modules have SEO options, although I’d recommend using them alongside an SEO module.
There are lots more layered navigation modules available for Magento – feel free to recommend some in the comments below and I’ll add them in.
How can I prevent the Magento rewrite engine from appending -1,-2 etc to URLs?
Magento’s rewrite engine is known for causing SEO issues, with the numbers being appended to URLs being the most common one. The URLs are created when Magento thinks that the URL is already in use or has been used in the past – uploading via CSV can cause this issue because you’re essentially over-writing the existing URLs.
There’s also an error in a recent Magento Enterprise release that causes a lot of these issues.
When you come up against this issue, you need to work with your developer to clean up the rewrites in place, so basically removing anything unnecessary and replacing lots of individual redirects with more efficient rewrite rules.
In the past I’ve sat down with developers, reviewed the rewrites in place, noted any that are needed and then deleted the table and started again, replacing the redirects that were actually required.
Should my https / secure pages be indexed?
It’s quite common for secure pages to be indexed, however they’re generally just duplicate versions of the non-secure pages, unless you’re using the https protocol across your website. The best ways around this is to either canonicalise https pages to the http equivalent or add a robots.txt file to the https version of the website and disallow certain pages or all.
Why is my Magento website so slow and will it impact my rankings?
Magento as a platform is notoriously slow and most stores have this issue at some point. That said, there are a number of ways of speeding up your Magento store, such as:
- Implement full page caching (using varnish or other available modules)
- Look at using mod_pagespeed
- Serve images via a CDN
- Use better hosting (Magento-optimised hosting is important)
- Optimise redirects in your .htaccess file (I’ve seen this cause a lot of issues post-migration)
I would suggest that page speed is only likely to impact your rankings if your site is very slow – but it’s definitely something to focus on as page speed heavily impacts user experience and can also lead to a reduced conversion rate.