The default SEO settings within the newest version of Magento provide a firm base from which online merchants can optimise their website for organic search. However, any SEO specialist who audits an ecommerce site which is on Magento 2 will soon identify important SEO features missing from the basic settings.
This guide highlights some of the key SEO features which are absent in Magento 2, and what business owners should do to further optimise their ecommerce website.
What is Magento 2?
Simply put, Magento 2 is the most up-to-date embodiment of Magento, one of the leading ecommerce platforms in the world — used by over 200,000 online stores.
Since its release in November 2015, there has been an immense rise in search interest, helping to make it the third most common ecommerce platform at the time of writing.
Today Nike, Ford, Coca-Cola, 3M, Olympus, Christian Louboutin, Nestle Nespresso, and Proctor & Gamble all use the platform; highlighting its appeal and versatility across sectors.
Why is everyone moving to Magento 2?
It is a common assumption that Magento 1 support is going to end by November 2018, however, a Magento blog post on the subject indicates that support for Magento 1 will continue beyond this date. That said, there will be no further innovation or expansion and all ecommerce sites on Magento 1 will need to migrate eventually.
Why technical SEO is important for ecommerce websites
Since there are many Magento 2 default settings involving SEO, I’m going to cover that topic in a different blog post. However, there are still important SEO features that are missing, and in this article, I’ll identify both critical and non-critical technical SEO features which are missing from the Magento 2 platform.
From our experience as an agency, we have found that not implementing SEO actions can have a real impact on the SEO performance of ecommerce sites. Below you can see a couple of examples of ecommerce clients who have seen an improvement in search visibility after implementing recommended SEO actions on their websites.
Critical Technical SEO Actions
The technical SEO actions listed below may seem basic, but they can have a real impact on an ecommerce website’s performance in organic search.
No Magento 2 extensions have been recommended to fix the missing SEO features. This is because we want business owners to focus on the action and not on extensions. Our team recommends discussing the actions we have provided in this guide with your developer or development team before considering any extensions to fix missing SEO features.
Facet navigation is a technique for accessing information organised into categories, so users can explore information by applying filters; the most common form of facet navigation in ecommerce.
These filters allow users to search for products via colour, size, or whatever variable has been set.
If all filters and facets are crawlable and indexable by search engines, this can lead to duplicate content issues, significant waste of crawl budget, and the dilution of link signals. As most ecommerce sites use facet navigation, it is critical that any filter or facet navigation is optimised.
There are a number of different options in optimising facet navigation, which Google discussed in an official blog post named Facet navigation best (and 5 of the worst) practices. One of the best options in dealing with facet navigation according to Google’s own blog post is to:
• Add nofollow links to unnecessary filter navigation links on category pages.
• Add canonical tags to filtered URLs pointing back the main category page.
This option stops crawl budget being wasted but still allows any link equity from filter or facet URLs to be passed across to the main category page.
The Magento 2 default settings allow category pages to have self-referencing canonical tags, which deal with the duplicate content issues caused by facet and filters. To enable go to Stores -> Configuration -> Catalog -> Search Engine Optimization.
There is no functionality in the Magento 2 basic settings to add nofollow links to facet navigation URLs. This means that straight out-of-the-box ecommerce sites will be wasting crawl budget, even with the canonical tag feature in the default settings.
Facet Navigation Advice
- Ask your development team to add nofollow tags to any unnecessary facet or filter URLs in Magento 2 (if your facet navigation creates separate parameter URLs).
- Make sure you select yes for “Use Canonical Link Meta Elements For Categories” to add canonical tag to unnecessary filter URLs.
- If you’re unable to add nofollow tags to Facet navigation then you’ll need to consider blocking parameter URLs from being accessed using the /robots.txt or the parameter handling tool.
Paginated content can take many forms. On ecommerce websites, the majority of the pagination will be created by product categories with items spread across several pages (e.g. ?page=1, ?page=2, ?page=3 etc.). Paginated pages are quite common on ecommerce websites and it’s important to make sure that the sequence of pages are marked up correctly to help search engines understand the relationship between the pages.
To indicate a paginated series to search engines Google recommends using rel=”next” and rel=”prev” markup which helps to consolidate indexing properties (e.g. link equity) and rank the first page in the series.
Unfortunately, in the default settings of Magento 2 you can’t indicate paginated content using rel=”next” and rel=”prev” tags in the <head> section of paginated pages.
In fact, by selecting yes in the “Use Canonical Link Meta Elements” setting for category pages, you will actually cause the canonical tag on paginated URLs (/mens?page=1) to point back to the clean version of the URL (/mens).
This is directly against what Google recommends for paginated content. A canonical tag can still be on the page with the rel=”next” and “prev” tags, it just needs to self-reference the paginated URL (e.g. /mens?page=2).
- Ask your development team to update the global canonical tag rule to allow paginated pages to have self-referencing canonical tags.
- Ask your development team to add rel=”next” and “prev” tags to paginated pages on category pages.
Regenerate Product URL Rewrites
Creating a logical, simple, and search engine friendly URL structure is important if you want the best visibility in Google organic search results. Any URL structure change would be considered a website migration, and without implementing a 301-redirect map from the old URLs to the new, this could have long-term impacts on both revenue and organic traffic.
In the out-of-the-box settings for Magento 2, you can easily change the URL structure of your entire website through the suffix setting in Catalog > Catalog > Search Engine Optimisation.
These settings allow you to add whatever file format you want to at the end of your product and category URLs. Magento provides the following reason for adding suffixes to the end of URLs in the Catalog URLs guide on its website.
There are various reasons why people might choose to use or to omit the suffix. Some believe that the suffix no longer serves any useful purpose, and that pages without a suffix are indexed more effectively by search engines.
In the default settings it also states that you can create a permanent redirect for URLs if the URL key is changed.
In theory this means any changes made to URLs by updating suffixes will cause Magento 2 to rewrite the URLs and implement 301 redirects from old to new URLs. However, permanent product redirects are not implemented if product and category data has been imported and a website owner wants to rewrite URLs.
Those who want to rewrite URLs from imported product data will find that Magento 2 will not rewrite the product URLs. It seems Magento 2 will only compute a change if it is manually saved in the backend. As you can imagine, if you’ve got thousands of products this would take a lot of time and resources to complete.
Updating the rewrite rules automatically on imported product data was possible in Magento 1 by reindexing rewrite rules, however, to improve performance this was removed in version 2.
This means that ecommerce websites that have migrated to Magento 2, and have updated their URL structures, might find themselves unable to quickly implement 301 redirects from old URLs to the new version of the URL. This could have a significant impact on the organic search performance of an online merchant if Magento 2 does not allow indexing of rewrite rules (without manual input).
Regenerate URL Rewrite Advice
- To prevent loss of organic search traffic and revenue make sure you decide on the URL structure of your website before moving to Magento
- Make sure that you have configured the suffix rewrite rules in the Magento Catalog > Catalog > Search Engine Optimisation as you want them (with or without .html).
- If you’ve imported product data and wish to change your URL structure, make sure you have 301 redirects from your old URLs to the equivalent new URLs (preferable server side redirects).
- For any URL structure changes make sure you have server side 301 redirects in place from the Old URLs to the new equivalent URLs.
Custom Canonical tags
A canonical tag is a HTML element which allows website owners to tell search engines which page is the master version of the content from a group of pages. The canonical tag is a great way to deal with duplicate content issues on a website.
Ecommerce websites are prone to creating duplicate content through product variations, and it is crucial that online merchants are able to add custom canonical tags to their pages. So it is a positive to see that in the default settings of Magento 2, you can add global canonical tag rules to your ecommerce store.
Each global rule highlighted in the image above allows you to add self-referencing canonical tags to category and product pages across your Magento ecommerce site. Although these rules deal with the duplicate content issue caused by filter navigation on the website, it does not deal with all duplication issues. It is quite common for online merchants to have multiple pages which match similar intents, for example:
This duplication can cause keyword cannibalisation however, and can dilute ranking signals across duplicate content. Normally this duplicate content issue can be dealt with by implementing a canonical tag to make one version the preferred URL. However, in the default settings of Magento 2 you cannot edit the canonical tag at a page level.
You can edit the title tag, meta description and meta keyword tags at a page level (homepage, product and category), but there is no custom canonical tag field. If you wish to add a custom canonical tag at a page level then you’ll need to get a developer to either add the functionality.
Custom Canonical Tag Advice
- Ask your developers to add functionality so you can edit the canonical tag at a category or product page level.
Custom Meta robots
The meta robots tag is a HTML element which tells a search engine not to index a page, and/or not follow links. It can also be used to indicate to a search engine that it should index a page, and/or follow links on a page (although this is not necessary). It is a useful meta tag to stop duplicate or unnecessary content from being indexed by search engines.
The basic settings in the Magento 2 platform allows you to have a site-wide meta robots tag, providing you with four options.
To access and change the global rule, go to Content > Design configuration > global rule > edit > Search Engine Robots > Default robots.
Unfortunately, just like the canonical tag, Magento 2 does not allow you to change the content in the meta robots at a page level. You can edit other meta tags like the title tag, meta description and the meta keywords tag.
Custom Meta Robots Advice
- Make sure your global meta robots rule is set to “index, follow” to allow search engines to index your website.
- If you need to noindex a specific page, then you will need to ask your developers to add functionality, so you can edit the meta robots tag at a page level.
Control Search Bot Crawling
The /robots.txt allows website owners to give polite web crawlers (e.g. search engine bots) instructions on what URLs they can crawl. It is useful at stopping search engines from wasting crawl budget on unnecessary pages.
The default settings of Magento 2 allows you to edit your /robots.txt file with minimal effort and already has disallow rules in place to stop search engines from crawling URLs. To access your site’s /robots.txt file, go to Content > Design configuration > global rule > edit > Search Engine Robots.
Although it is very useful that Magento 2 still allows website owners to edit and update their /robots.txt file by default a number, other rules should be added to make sure that the Magento platform follows SEO best practice as soon as it is launched.
The following rules should be added to make sure crawl budget is not wasted:
- Disallow: /catalog/product_compare/
- Disallow: /catalogsearch/
- Disallow: /wishlist/
Control Search Bot Crawling Advice
- Add the Disallow: /catalog/product_compare/, Disallow: /catalogsearch/ and Disallow: /wishlist/ rules to your /robots.txt file.
Duplicate Category Parameter Footer URLs
Duplicate content is an important issue to resolve on ecommerce platforms. As already mentioned in the facet navigation section of this article, duplicate content issues cause significant waste of crawl budget and dilution of link signals.
Although this may not be applicable to all online merchants who do a fresh install of Magento 2 (our client’s site was migrated from Magento 1), the default settings for Magento 2 creates duplicate content in the footer by creating category parameter URLs.
As you can see from the image above, the category pages which are added onto the footer seem to generate new category parameter URLs. As these URLs are site-wide they will negatively impact on the crawl budget of the website, as well as diluting the ranking signals.
To fix this issue, our developers had to make a code change to the footer links which switched the category page URLs back to the preferred URL.
Duplicate Category Parameter Footer URL Advice
- Review your internal link structure and make sure that there is no duplicate content caused by the ?__store=default category parameter URLs.
- If you do find you have this issue then you’ll need to ask your Magento developer to look into it and make a code change to ensure that the permalink points to the correct live category page URL. There is currently no community fix for this, or a module which can be installed (that we can find).
Non-Critical Technical SEO Actions
Although these on-page SEO actions will not have an immediate impact on your business, over time implementing them could have positive a effect on your organic search performance.
Structured data is a vocabulary of tags which can be added to web page HTML to help search engines further understand the information on a web page. It can also be used to enhance search engine result snippets for a webpage, which can help to entice users to click on an organic search listing.
In the default settings for Magento 2, the platform automatically adds product microdata to product pages.
This means that Magento 2 product pages gain rich snippets in Google’s organic search results.
Although this is a good start, there is a lot more structured data that can be added to an ecommerce website. A few examples include:
- Breadcrumb structured data
- Internal site search structured data
- Corporate contact information structured data
- Corporate information structured data
- Local business structured data
With Magento 2 already allowing features as part of its basic settings like breadcrumb navigation on category and product pages, it seems easy to add microdata to these HTML elements.
Structured Data Advice
1. Follow guidelines from Google and add other structured data features to the Magento 2 platform.
Autogenerate a HTML sitemap
A HTML sitemap allows website visitors and search engines navigate a website. It is also an excellent method of distributing link equity throughout a website, as not all pages will have a link from the homepage (the most powerful page on your website).
The Magento 2 basic settings allow a site owner to create an XML Sitemap and allows owners to pick which pages they want to include in their sitemaps. Magento (version 1 and 2) has never automatically created a HTML sitemap and this has caused numerous extensions to be created to fill the gap.
Although not critical, a HTML sitemap can help to spread link equity to deeper level pages on an ecommerce website.
HTML Sitemap Advice
- Request that your developers create an automatic HTML sitemap on the website.
The Magento 2 platform does have useful SEO settings straight out-of-the-box, however, there are several critical and non-critical technical SEO features still missing, which you’d expect to be present in a global leading ecommerce platform. Hopefully this guide will help you to identify any technical SEO gaps if you want to migrate to Magento 2.
In my next Magento 2 guide I will discuss what the default settings allow you to do to optimise your website for organic search.
For further information on Magento 2, please read the following resources:
- Magento 2 development guide: http://devdocs.magento.com/guides/v2.0/
- Magento 2 stack exchange: https://magento.stackexchange.com/
- Magento 2 forum: https://community.magento.com/t5/Core-Technology-Magento-2/ct-p/Magento-2
- Magento 2 extensions marketplace: https://marketplace.magento.com/