What are the different methods of canonicalization?
Canonicalization, or more specifically the creation of duplicate content due to the way web server software handles variations on URLs, has become a much discussed topic here. Specific code snippets to resolve the problem in different situations have been widely discussed, but there is no single place that contains a list of different methods. I created this thread to list several of the more common ways of eliminating the two main types of canonicalization, www vs non-www duplication, and / vs /index.html canonicalization.
All of the examples I post will handle subdomain issues (www vs non-www), directory root issues ( / vs /index.html) and secure server (http vs https) issues if possible.
If you have any suggestions for other methods, please let me know and add them to here.
For those that are unfamiliar, canonicalization is a concept used because Google doesn't like duplicate pages served at different URLs. So it's better if you can tell Google that example.com, www.example.com, and http://www.example.com/ are all the same page.
I think you covered the most important stuff to canonicalize but one other area to think about is query string variables that don't affect the content of the page. An example could be a UTM code for an advertising campaign. e.g. Making http://www.example.com the canonical URL of http://www.example.com/?utm=1
Adding more, If these technical issues of query strings and slugs are not able to handle manually, then you can submit take help of Google Webmaster Parameters. Read detailed post here: http://www.shoutmeloud.com/google-webmaster-tool-added-url-parameter-option-seo.html
Just to add to what Chris answered, URLs that do generate significantly different content that can be accessed by both the query string and the slugified version should be canonicalized to the slugified URL.