If you want a quick and dirty way to see whether an implemented canonical is being obeyed by Google you can make use of the info:URL query. This query is typically used to check whether a URL is indexed (as in Scrapebox), but can also be used to check whether or not the canonical element of the URL entered appears as a result. If it does, then the canonical is being obeyed.
For example, Clarins UK have some lovely parameters in use that they don’t want indexed or working against them. They’ve used the canonical tag on these pages to direct Google to the parameter free URL. If we search info:http://www.clarins.co.uk/Face/200,en_GB,sc.html?prefn1=collection&prefv1=Multi-Active in Google, we receive this result:
We can see that the canonical element is being pulled through, with the searched URL no longer appearing in the index. The parameter URLs are probably not being indexed, and a bunch of duplicate content issues have been alleviated. Congratulations Clarins SEO team.
This check can be very useful if you are waiting for a canonical to be obeyed before proceeding to the next stage of a solution for a client, or as a quick diagnosis tool. The biggest alternate use is seeing whether Google has stopped respecting the canonical tag on a domain, by checking an indexed page that canonicals elsewhere. This query does not appear to recognise 301 redirects, 302 redirects, chained redirects, or very weird redirects (at least, not consistently). I suspect it also recognises Change of Address settings in Webmaster Tools, but lack enough examples to say this for certain.
If you have any other ways of checking canonicals are being respected in Google, please let me know, it’s interesting.
Nice tip, Oli! I also like to use site: to see if there’s anything else I may have missed.
From your example…. site:http://www.clarins.co.uk/Face/200,en_GB,sc.html?prefn1=collection&prefv1=Multi-Active