Canonical tags are your way of telling Google "if there are multiple versions of this page, this URL is the one that should count." Used correctly, they consolidate duplicate content and concentrate ranking signals on the right URL. Used incorrectly, they silently de-index pages you wanted to rank. This page walks through what canonicals do, when to use them, and the common conflicts that make them backfire.
Websites often end up with multiple URLs that show the same or nearly-identical content. example.com and www.example.com. HTTP and HTTPS. A page with a tracking parameter vs without. Google has to pick one to rank. Without guidance, it picks semi-randomly. With a canonical tag, you pick for it.
The canonical tag is a signal, not a command. Google usually listens. It doesn't always. Especially if your canonical points somewhere that contradicts other signals.
Self-referential canonical (most common case), in the <head>:
<link rel="canonical" href="https://example.com/current-url" />
Cross-URL canonical (telling Google "this duplicate should be treated as that URL"):
<link rel="canonical" href="https://example.com/primary-url" />
Never use both on the same page. Google gets conflicting signals and may pick neither.
301 is stronger. Use it when a URL should truly go away. Use canonical when both URLs need to exist (parameter variations, print versions, syndication partners).
Open your site's homepage. View source. Find the canonical tag. Is it self-referential and using the correct protocol and www setting? If yes, you're fine. If no, fix it. Then check 3 or 4 more key pages. Canonical issues often hide in plain sight.
Next: hreflang tags, the international-SEO signal that's universally misunderstood.
A self-referential canonical (most common) in the <head>:
<link rel="canonical" href="https://example.com/current-url" />
A cross-URL canonical (telling Google "this duplicate should be treated as that URL"):
<link rel="canonical" href="https://example.com/primary-url" />
Every indexable page should have a self-referential canonical. This tells Google "this URL is the primary for this content." Doesn't hurt, helps a lot when URL variations sneak in (trailing slashes, case variations, parameters).
If the same content lives at multiple URLs (WWW vs non-WWW, HTTP vs HTTPS, parameterized URLs), use canonicals to point duplicates to the primary.
Location pages that share 90% template text, product pages with trivial variations, canonical the duplicates to a master page if the master is the one you want to rank.
If you publish your content on other sites (Medium, LinkedIn), those should canonical back to your original.
/page?utm=abc with self-canonical tells Google the UTM version is the primary. Point it to /page instead.https://example.com to http://example.com undoes your HTTPS migration. Double-check.Never both on the same page, sends conflicting signals.
301 is stronger. Use it when a URL should truly go away. Use canonical when both URLs need to exist (e.g., parameter variations).