Perhaps one of the most important principles in search engine optimziation is to ensure that each of your site’s URLs are crawlable and have good indexing power. That means ensuring the URL is one that is search engine friendly. It’s more challenging today to do this perfectly for several reasons.
Many sites now have grown to more than 10,000 web pages, making duplicate content a much more serious issue for many sites. Plus, the fact that many of these sites use session IDs and other dynamic URL capabilities, which drive the duplicate content problem up higher on the list of reasonable risks.
When you have that many pages and your site CMS creates dynamic URLs for each user and session then the issues become more sticky. That’s why Google has introduced the canonical URL tag. You can tell the search engine which web page to index just by adding the canonical URL meta tag in place on each of your web pages. When should you do this.
Ideally, it should be done early on, even before you build a dynamic e-commerce portion of your site. Normal html pages can use the canonical url tag as well. It won’t hurt them. That way, if you do grow into a monster website later then you’ll already have the canonical URL step done. No backtracking. For a more detailed overview of what the canonical url tag is and how it can be used, please visit the SEOmoz article here.