Canonicalisation is a part of search engine optimisation that is overlooked by many basic agencies or seo newbies. This process is left undiscovered by many, and as a result can have many negative effects when left unattended. This process involves the correct assignment of URLs within a website, which means that the URL is either represented with www or non www, or with trailing slashes or without trailing slashes.
Some websites do not use www and some do, some do not use trailing slashes in URL's and some do, it is this process that identifies the preferred selection and then makes sure that the non selected items 301 re-direct to prevent URL variants causing duplicate or supplemental results.
When search engines index a website, all the URLS that are found are indexed, however, if external websites link to variants, these can cause issues with canonicalisation. So, if my website appears as follows, here is how the scenario works,
http://www.mywebsite.com or
http://mywebsite.com
The 2 domains are the same, however, if they are both accessible, than this means that there is a canonicalisation error because both variants return different pages. The process of canonicalisation means that the preferred domain should return a http status code of 200, whilst the non preferred version should 301 re-direct to the preferred version, and vice versa.
So, lets say we want to stick with the www. version, it would sit as follows:
http://www.mywebsite.com <- HTTP 200 - Document OK
http://mywebsite.com <- HTTP 301 - Moved Permanently
This principle also applies to websites that have URL rewriting enabled, lets look at URL rewriting:
www.mywebsite.com/my-products or
www.mywebsite.com/myproducts/
The trailing slash makes a huge difference, as with the above scenario, one should 301 re-direct to the selected version.