Online retailers are spoiled for choice when it comes to selecting an e-commerce platform for their store. But it would be foolish to state that one single platform is superior to all the others: each platform has unique strengths and weaknesses, and you will also find that some e-commerce platforms are better for smaller businesses, while others excel performance wise for businesses with large product catalogues and a high number of daily transactions.
Magento is one e-commerce platform that is ideally suited for use with large catalogues, but can work well too with smaller catalogues. However, when it comes to performance and SEO, all platforms require a little configuration, and Magento is no different. But Magento shines in allowing for much more detailed and technical SEO configuration and control than other e-commerce platforms, with both Magento Open Source and Enterprise versions of the platform. And while there are extensions available that can make managing the technical SEO aspects of Magento easier, it helps to have an understanding of how Magento’s SEO differs from other e-commerce platforms, and why you need to fiddle with some of the technical settings. This still applies even if you have a digital agency taking care of most of the Magento back-end, because they will still need to discuss changes they want to make with you, and having some knowledge will prevent these conversations from being one-sided, where you simply agree to whatever they are proposing.
In this article we will take an in-depth look at the more technical aspects of Magento SEO, along with what changes can or should be made to ensure your online store is both user and search engine friendly.
Layered or Faceted Navigation
Many e-commerce sites make use of layered or faceted navigation to give visitors to the site more control over being able to filter products according to a number of variables, which could include availability, brand, colour, style, and more. Using Amazon as an example, you are able to filter departments, categories, sub-categories, and actual products according to a very large number of options, which for Amazon even includes being able to filter according to the average customer rating.
There’s no denying the value in using a layered or faceted navigation system, since it enables your customers to find what they are looking for quickly and easily, with no need to browse through dozens of pages. But the filtered results are displayed on dynamically generated pages, with query string parameters added onto the URL, and if they’re cached they could end up being indexed by Google. This doesn’t sound too bad in principle, but in practise it means you end up with multiple pages that are a little thin on content and perceived value, which Google could – in turn – rank lower as a result.
There are two recommended solutions that allow you to continue using filtered results, and to even link to filtered results, without any negative SEO impact. The first is to use the canonical tag, though this works best when implemented before launching your online store. The second method – which should be used in conjunction with canonical tags – is to add noindex, follow tags to all the filtered results pages. This would allow Google and other search engine bots to still crawl the page and to follow any links on the page, but without indexing the page. There are other methods that you could use, but the two discussed here are the most reliable at keeping pages from being indexed without diminishing any value they add to your site.
Use of Hierarchical URLs
Use of hierarchical URLs make the user experience undeniably better both on your site, and on SERPs: visitors have a better idea of where they are in terms of your site structure, and can easily navigate one or two folders up by manually editing the site address in the address bar. But in large e-commerce stores it can very easily lead to duplicate pages, when certain products are listed under more than one product category.
There are two ways of avoiding this, and it would be up to you and your developer or agency to decide which approach is best for your site. The first, less complex approach, is to ditch the use of category paths with products, so each product URL would consist of your domain followed by the product name e.g. www.yourdomain/your-product-name/. The page itself can still include a breadcrumb path listing the primary and sub-category, but the URL itself does not include this information, so the user experiencing isn’t degraded. Alternatively, you can include a canonical tag on each page, pointing to the original version of the product. Though if you ever forget to include a canonical tag, you could end up hurting your rankings.
Clean URLs are more user friendly, and therefore also more SEO friendly. To avoid having unnecessary numbers to each product URL, ensure you have Add Store Code to URL set to No.
You should also ensure that Server URL Rewrites is set to Yes, which will prevent index.php from being added to all URLs. Shorter URLs that are readable by a human are generally better, since it can influence whether or not someone follows a link to your site from SERPs.
Use Correct URL Rewrites
Magento used to have a habit of creating 302 redirects rather than 301 redirects: one tells search engines the redirect is only temporary, while the other tells search engines it is permanent. There’s nothing wrong with setting a 302 redirect if the new URL/redirect truly is temporary, but most redirects tend to be permanent. So it is wise to do the occasional crawl of your entire website to look for any 302s and to then check that they should remain a 302 redirect, or be updated to a 301. Manually adding redirects after you have already changed the URL can be a bit tedious in Magento, so you might want to consider instead turning on the Create Permanent Redirect for old URL option, which will create a permanent (301) redirect whenever you update a URL Key.
You can do this by going to Stores >> Configuration >> Catalog >> Catalog >> Search Engine Optimization >> Create Permanent Redirect for URLs if URL Key Changed and setting it to Yes (Y).
Add and Configure Sitemaps
Out-of-the-Box, Magento supports XML sitemaps, which are critical for helping search engines properly crawl your site. But the settings only allow for basic configuration of your sitemap which, for large stores, isn’t enough. There are third-party extensions you can use to configure your XML sitemap in more detail, or you can speak to your developer or agency for assistance. Having two or more sitemaps – splitting them so you have one for products, another for categories and content, and possibly a third for brands, make crawling and indexing pages easier, and can also make it simpler for you to monitor the indexing of pages. The default XML sitemap generation included with Magento also doesn’t make it possible for you to exclude certain pages that you don’t want crawled. You can control this through the inclusion of relevant meta tags, or via your robots.txt file, but being able to exclude them via your sitemap also helps save on crawl budget.
Additionally, Magento 2 doesn’t include the ability to create an HTML sitemap. XML sitemaps help search engines crawl your site, and find their way around thousands of pages. And an HTML sitemap makes it easier for a human visitor to your website to find their way around. Having an HTML sitemap isn’t as critical as having an XML sitemap, but it can give a nice boost to user experience, by helping users find their way around your site if your navigation happens to be a little complex. This ensures users don’t abandon your site out of sheer frustration. But since Magento 2 doesn’t support this by default, you will again need to resort to a third-party extension, or seek assistance from your developer or digital agency.
The only way to configure the robots.txt file in Magento is by going to Stores >> Configuration >> Design >> Search Engine Robots >> Edit Custom instruction of robots.txt File.
The primary reason for editing the robots.txt file in the past was for blocking certain pages or directories from being crawled and indexed by search engines. But through proper use of your XML sitemap, canonical tags, and meta tags such as noindex, follow, etc. you can achieve the same results without the risk of accidentally blocking search engines from crawling and indexing pages that should be crawled. Speak to your developer or digital agency before you make any changes to the robots.txt file to ensure it is the best approach, and that it is done correctly. Remember the old expression “when in doubt, go without”.
Site performance is a very important SEO factor, and one that can influence your site’s ranking in several ways. By their very nature, e-commerce stores can suffer from performance issues if you aren’t constantly monitoring it, and optimising where necessary. And the more products and images you include in your store catalogue, the more you need to focus on performance. Several points you and your developer or digital agency should focus on include:
- Making sure you store is hosted on a server that has been properly configured and optimised for e-commerce. Paid Magento solutions all make use of Magento or Adobe’s own cloud platform, but Magento Open Source is self-hosted and self-managed.
- Make sure your images are the optimal size, and that they have been compressed to reduce the file size, without negatively affecting the image quality. Magento doesn’t offer this feature by default, but there are a number of third-party options you can explore.
- Additionally, you should consider the use of a CDN service for your images, which can improve performance significantly.
- Speak to your developer or agency about enabling caching features (Store >> Configuration >> Advanced >> System >> Full Page Cache) and flat catalog (Store >> Configuration >> Catalog >> Catalog >> Storefront). These too can improve page load time, but the decision should be carefully thought through.
Performance optimisation is an ongoing task, but you shouldn’t merely implement recommended practices. Always look at how they might affect your store, and whether the improvements are worth the effort. What works for one store might not work for yours, and the last thing you want is to see your site performance tank as a result of implementing an untested performance optimisation.
Explore Magento SEO Extensions
Magento is supported by hundreds of extensions that either add new functionality to the platform, or offer better ways of implementing and managing the default features of Magento. While remembering that any extension you add to your implementation of Magento can affect site performance, you shouldn’t be hesitant to explore the use of extensions if it can benefit you and your store.
Mageworx is a name that you will encounter often when exploring extensions, particularly in relation to their SEO Suite which offers a number of features that make managing many aspects of your store’s SEO easier. Most of their extensions are not free, but the features each extension includes make it a worthwhile investment.
Your developer or agency could well have other suggestions for Magento extensions, so discuss the use of extensions with them first. They could have better knowledge of which extensions are necessary, and which would work best with your specific configuration of Magento.
The amount of custom technical SEO configuration that Magento gives you access to can seem a little overwhelming at first, but given the importance of SEO it certainly isn’t a bad thing. However, that fact – and this guide – doesn’t replace the need for professional SEO guidance, since Google – the dominant search engine globally – is constantly making adjustments to their algorithms and the factors they consider important for site rankings. Instead they both serve as a form of encouragement for you to grow you foundational knowledge of technical SEO, so that you are better equipped to discuss the various aspects of it with your developer or agency.