A canonical tag is a signal in a page’s head naming the authoritative address of that content. It answers the question of which, among several reachable URLs, is the one to be indexed and ranked.
Why the same content has several addresses
Duplicates usually do not arise deliberately. A page is reachable with and without a trailing slash, with and without www, over http and https, with tracking parameters appended from a campaign, under various sort or filter parameters, or beneath several category paths. Each of those variants is technically its own URL with the same content.
What the tag achieves
Without a signal the search engine must decide for itself which variant it treats — and the signals spread across several addresses instead of consolidating on one. The canonical tag removes that dispersal: it declares which address counts, and the signals attributable to the variants are assigned to it. Importantly it is a strong hint rather than a directive; with conflicting signals a search engine may decide otherwise.
Self-reference is the norm
Every indexable page should carry a canonical to its own URL, even where no duplicates are known. That sounds redundant and is not: it makes the intent unambiguous and protects against variants that later arise through parameters or links. The most expensive error in this area is a page whose canonical accidentally points at another page — it then disappears from the index without any visible error.
Common errors
Besides the wrongly set canonical, three errors are widespread. A canonical pointing at a redirecting or unreachable URL is ignored. Several conflicting canonical declarations on one page likewise. And mixing it with hreflang: every language version must canonicalise to itself; a canonical from the German to the English version removes the German one from the index.
Canonical or noindex
The two tools solve different problems and are often confused. A canonical says: this content exists, but at another address — consolidate the signals there. A noindex says: this page should not appear in the index at all. For genuine duplicates the canonical is right, because the signals are preserved. For pages with no standalone value — empty overviews, internal search results — noindex is right. Setting both on the same page sends a contradictory signal.
Practical consequence
An automated check before deployment answers the decisive question: does every indexable page’s canonical point at its own URL? Deviations are almost always unintended, and without a check they only surface once pages have disappeared from the index.
