Msg#: 4507731 posted 1:59 am on Oct 17, 2012 (gmt 0)
The best would be to 301 redirect duplicate URLs to "main" page. But in Microsoft IIS this can be more tricky if you do not use IIS 7 or IIS6 with ISAPI Rewrite - in which case you would need to make the change in .NET application.
The next option (and probably the easiest one) would be to implement canonical link element.
To avoid duplication i kept canonical tag in duplicate page referring to main pages but still duplicate pages are ranking in SERP.
How long since you have implemented canonical? Google needs to re-crawl all duplicate pages in order to see canonical link element. Sometimes you may have to wait some months in order for Google to get the correct URL ranking. Also, have you checked that canonical link element has a correct syntax, i.e. the full URL including protocol and host name? I have seen more than once canonical link element using incorrect <meta name="canonical" ... syntax rather than <link rel="canonical" ... syntax
Msg#: 4507731 posted 10:19 am on Oct 22, 2012 (gmt 0)
i would suggest going all lower case in the url path and internally rewrite any url containing upper case in the path to a script that will determine the canonical url and issue a 301 response redirecting to the canonical url.
use only canonical urls in your internal linking and navigation.