If you have a single page accessible by multiple URLs, or different pages with similar content (for example, a page with both a mobile and a desktop version), Google sees these as duplicate versions of the same page. Google will choose one URL as the canonical version and crawl that, and all other URLs will be considered duplicate URLs and crawled less often.
If you don’t explicitly tell Google which URL is canonical, Google will make the choice for you, or might consider them both of equal weight, which might lead to unwanted behavior.
What is a canonical URL ?
A canonical URL is the URL of the page that Google thinks is most representative from a set of duplicate pages on your site. For example, search crawlers might be able to reach your homepage in all of the following ways:
To a human, all of these URLs represent a single page. To a search crawler, though, every single one of these URLs is a unique “page.” Even in this limited example, we can see there are five copies of the homepage in play. In reality, though, this is just a small sample of the variations you might encounter.
Modern content management systems (CMS) and dynamic, code-driven websites exacerbate the problem even more. Many sites automatically add tags, allow multiple paths (and URLs) to the same content, and add URL parameters for searches, sorts, currency options, etc. You may have thousands of duplicate URLs on your site and not even realise it.
What’s the solution?
The simple solution is to determine which page you first published your article and delete the others. But what if each duplicate page has already been linked to by people from their own blogs? You can’t delete them now, can you? You are now left with two solutions: 301 redirect the duplicate pages to your chosen original page or use canonical tags. If you’ve chosen to use canonical tags, make sure that in all those canonical tags, the canonical URL you use is the page URL of the article page which you want Google to consider as the original page.
for ex. add similar to following line as a canonical tag into all possibilities where you see a duplicate copies are getting created for same url,
<link rel="canonical" href="http://www.example.com" />
- Tools to test Canonical URL,