WHAT IS A CANONICAL TAG?
Canonical Tags are HTML Elements used in the <head> section of HTML pages to specify the “preferred” or “Canonical” version of the page for search engine spiders/crawlers. The big three search engines (Google, Yahoo and Bing) announced in February, 2009 that they will support Canonical tags. Since then many webmasters started using it as a Search engine optimization element. Here is an example of a canonical tag:<link rel=”canonical” href=”http://www.example.com/” />
Canonical Tag Best Practices for eCommerce Websites
The canonical tag has been accepted by all major search engines as a trusted solution to resolve the issue of duplicate content on a website since February 2009. Canonical tags are simple to apply. You can think of them as 301 redirects without the actual redirect. They are a real boon for ecommerce websites with layered navigation for ease of use and better conversation optimization.
If used effectively canonical tags can put your visitors on the right pages for optimum sales and your ecommerce website might not be the victim of duplicate content search penalties. This post should provide you with a better idea about how to use canonical tags for e-commerce websites.
Canonical Tag for Home Page
Problem: A website’s homepage generally has more than one URL, depending on the hosting service provider. All of these URLs take users to the homepage. Here are some examples:
http://www.example.com
https://www.example.com/
http://example.com
http://www.example.com/
http://example.com/
http://www.example.com/index.html
Search engines consider different URLs to be different pages and hence this becomes a major problem for content duplicity.
Solution: Duplicate content can be resolved by implementing the canonical tag in all of the example pages above, and pointing them to one defined URL. Google doesn’t differentiate between a URL with a forward slash (/) or without it. However, the best practice is to have URLs end with a forward slash because this tells the search engines that the URL has ended and speeds up the page-loading process.
Category Pages with Pagination
Problem: If you have products listed on more than one page under any specific category, duplicate content becomes an issue again. And hence, creating a relationship between these pages that search engine spiders can understand becomes very problematic. Another big issue can be of the duplicity between the root page and page 1 URL when there are several pages of items listed in a category:
www.example.com/category-1
www.example.com/category-1?page=1
www.example.com/category-1?page=3
Solution: Google recommends the “View All” page be specified as the canonical tag recipient. For Google, this is similar to merging all the pages together in one single document (View All) and giving it to Google. Implementing the same canonical tag onto each of the pages of a category is all that you need to do to accomplish this. The canonicalization of the “View All” page would look something like this:
<link ref=”canonical” href=”http://www.example.com/category-1?page=all” />
However, if you have too many products in a single category, this may not be such a good idea. It will increase page load time and search engine spiders prefer not to spend too much time indexing a single page.
On the other hand, if you don’t have a “View All” option with the pages, the only solution is to implement the rel=”next” and rel=“prev” HTML elements. For example, the first page would include the following element in the <head> section of the site:
<link rel=”next” href=”http://www.example.com/category-1?page=1” />
In the same way, the second page would include:
<link rel=”prev” href=”http://www.example.com/category-1” />
<link rel=”next” href=”http://www.example.com/category-1?page=2” />
And this would continue through all the pages.
Product Tags Pages
Problem: Tags are one of the main causes of content duplicity. They may create different URLs that have the same content. See below for some examples:
www.example.com/tag-1/
www.example.com/tag-2/
Solution: It is always best to use canonical tags pointing to the root product or category page on all the duplicate pages in order to solve the problem of content duplicity. As long as Google has a clear path to products, indexing every variant may cause more harm than good.
One Product, Multiple Categories
Problem: Generally one product, in an e-commerce website, is listed in more than one category. Something like this:
www.example.com/category-1/product-a
www.example.com/category-2/product-a
www.example.com/category-3/product-a
This creates the issue of duplicate content on pages with different URLs.
Solution: One thing you can do is setup the product page URL like this:
www.example.com/product-a
Using this method you can list as many products as you want in any category without putting the category name in the URL. However, if you want to keep the category in the URL, you need to select a URL and point canonical tags from other pages to it. You can then add canonical tags from the category URL to the product-only URL.
But if you can’t do that, there is another solution that is a bit more laborious. You need to analyze your site’s data and traffic to find out the most dominant URL. In this way, you can choose the best URL to point to the canonical tags. Then you can simply implement the canonical tag onto each of the pages.
Layered Navigation
Problem: In most e-commerce sites, layered navigation is used with categories to make it more user-friendly. There can be many filters for layered navigation like: Size, Price, Discount, Color, Manufacturer, etc. Here are some examples showing how URLs change when these filters are applied:
www.example.com/category-1?sort=a&filter=a
www.example.com/category-1?sort=b&filter=a
www.example.com/category-1?filter=&sort=asc
www.example.com/category-1?filter=&sort=dec
Layered navigation can cause duplicate content for this reason.
Solution: To solve the layered navigation duplicate content issue, Google advises adding canonical tags from all of these pages to the root URL. i.e. to:
www.example.com/category-1
Another thing that can be done is to use hash tags. Append the URL elements of filters after a hash tag. Google is not able to read anything after a hash tag and hence these pages won’t get indexed. Here is an example:
www.example.com/category-1#size=S
However, canonicalization to the root URL is more preferably used as hash tags may not be reliable in the future.
Product Pages
Problem: The main problem with product pages is that there are different URLs for the same product with different sizes, colors, designs, and reviews. As the product code changes, the URL changes something like this:
www.example.com/category-1/product-a/1234/
www.example.com/category-1/product-a/5678
This is again the case of duplicate content.
Solution: adding canonical tags pointing to the most popular version of the product can solve this. To do this, you have to determine which page is the default version of the product that has the most traffic.
URLs with Search Parameters
Problem: The problem of duplicate content arises again when users search for something by typing his/her query in the search box of the website. Different URLs are created with every different query. Here are some examples:
www.example.com/search/?q=laptop
www.example.com/search/?q=android
Sometimes search engines index these URLs because the search engine spider does not have any clear instructions for crawling them.
Solution: The choice really depends on you and how you want to have your site indexed. Generally, it is best to add canonical tags for all search result pages to a default search page unless you have any special features on search.
Information (CMS) Pages:
Problem: Most of the information pages like about us, shipping, privacy, etc. do not have duplication problems, however sometimes duplication of these pages can occur with SSL versions (HTTPS.)
Solution: to overcome this problem it’s a good idea to use canonical tags on all these informative pages in your CMS. The tags will guide search engine spiders and show them which pages they should index.
It is always an important and needful practice to use canonical tags on your website in order to remove duplicate content. Please make sure you implemented it properly.
WHAT IS A 301 REDIRECT?
301 Redirects are normally used by webmasters to move a URL permanently to a new location. Basically, a 301 is an HTML Header response code, if search engine spiders get this response code from your HTML page header, Search engines will understand that the page has been moved to a new location permanently, it also lets human visitors redirect automatically to the new URL.
WHEN TO USE A CANONICAL TAG OR 301 REDIRECTS
Although 301 redirects are used to move a page permanently to a different location, webmasters also use 301 redirects to remove duplicate content. So which method should one use to remove duplicate content – a301 redirect or Canonical tag?
Well, a canonical tag and 301 redirects behave similarly from an SEO standpoint, even though they serve different purposes. 301 redirects take a human visitor to one page from another on the same topic and inform search engine spiders that this page was moved permanently to the new page. The canonical tags are used to tell the search engine spiders which page to index for a search result, while human visits are not affected. Therefore a 301 redirect is better because it acts the same for human visitors and search engine spiders.
Again, 301 redirects are used to permanently consolidate two pages and remove the duplicate page. A canonical tag keeps both pages for visitors and informs search engines to only consider one page for indexing. Here canonical tags can provide a better user experience, and give webmasters options for order, filter, etc. pages that show the same content with different URLs.
Therefore, if you do not need to keep different pages and can implement 301 redirects, use them instead of canonical tags because search engines will easily understand that the page has been permanently moved to the new location and they will transfer all the authority of that particular URL to the new URL. However, if the page can’t be moved for any reason (including a better user experience) then we suggest that you use canonical tags. Or in other words, “use Canonical tag only if 301 redirects can’t be used to remove duplicate pages”.
External Resources: SEO advice: url canonicalization By Matt Cutts , Head of Webspam, Google.