Why canonicalization is good SEO and how to implement it?


What does "canonical" mean?

In simple English, canonical means what is according to canon or rule. That means what is authoritative.

Canonical URL is more equal among equals.
In website/ search engine optimization terms, canonical has a similar connotation: the URL that you take as most authoritative out of many that point to the same web page.For example, the following URLs may refer to the same website: www.xyz.com, xyz.com, xyz.com/index.html, xyz.com/home.asp, xyz.com/index.htm, www.xyz.com/, https://www.xyz.com. In addition, one could be maintaining two websites with similar content but differing in some respects; in this case there would be two distinct URLs but with same content. Modern websites that are dynamic/ code-driven create a variety of URL paths, all referring to the same webpage, that result in dozens of URLs. 

Why is canonicalization necessary?

When the same website can be reached in different ways, it is not an issue as far as visitors are concerned. But that creates an issue with search engines. When a search engine finds same type of content in two or more webpages, it gets alerted that the content has been copy-pasted at two places (duplicate content alert) and thus sees it as an undesirable activity. Search engines also scoff at multiple URLs for the same page because this artificially bloats web-links and other references arising out of that page. As website owner, you lose in terms of poor SEO due to penalties from search engines.

In addition, when you have two websites with same content (arising dynamically or manually),  people visiting site 'A' might link or bookmark site 'A' while others visiting site 'B' might link site 'B'. Only part of the links are thus counted by Google or other search engines, depending upon which site is indexed by their bots.

The coding that is done to tell search engines about the canonical (=authoritative, preferred) URL out of more than one URLs is called canonicalization

How to implement canonicalization?

This is damn simple! You need to put this HTML element to all your websites that should redirect to your canonical URL: rel=canonical

1.  Decide which one of the alternate URLs suits you the best (e.g. which one is likely to be used most by visitors).

2. Go to <head> section of the homepage of each website and add this code, including on the canonical site:
<link rel="canonical" href="http://xyz.com"> 

(There used to be different opinions about using the HTML element given above on the canonical site itself also; it is now settled that this is rather useful than bad.)

3. Go to your Google Search Console (earlier 'Webmaster Tools') account if you have one; tell which is the canonical URL for a particular website.

Canonicalization on Wordpress and Blogger platforms

At present, blogs on Blogger platform are automatically given a canonical URL out of www and without www versions of the site URL. This applies to independent domains mapped to Blogger blogs also. For other versions, you can put the above given HTML expression in the code of the website(s).

In the case of Wordpress free blogs, canonicalization is not automatic. You have to implement that with the help of a SEO plugin. If you do not want to invest in that, the least you can do is to open a Google Search Console account, and canonicalize the website URL.