Implementing canonical links on your website is important for SEO. Specifying the canonical link for a webpage lets Google know which version of a page and specifically which URL is preferred. It’s not quite a directive, but it’s a very strong hint that Google tends to honor in terms of which page you want to be indexed for specific content.
Google defines the canonical tag as follows:
“A format that allows you to publicly specify your preferred version of a URL. If your site has identical or vastly similar content that’s accessible through multiple URLs, this format provides you with more control over the URL returned in search results. It also helps to make sure that properties such as link popularity are consolidated to your preferred version.”
Here’s Google’s original post on the subject.
The Google news for Drupal users is that Drupal 7 supports canonical links out the box. However, the canonical links are relative and not absolute. If you want to change that, or tweak your canonical URLs to some custom destination, you may want to use a contributed module such as Meta tags to make it easier. Inside Meta tags module’s configuration page you can set the canonical URL pattern to be absolute and include tokens of your choosing. Finally you should use the global redirect module to handle duplicate links because of system urls (e.g. node/nid).