Canonical Tags, Explained

A canonical tells search engines which version of a page to keep. Set it wrong across a template and you can remove a site from the index by accident.

Canonical Tags, Explained — Troiana insight cover

In short

A canonical tag declares which URL is the preferred version of a page, so signals consolidate on one address instead of splitting across duplicates. It is a hint rather than a directive — search engines usually respect it and sometimes override it when other signals disagree. The most damaging mistake is a template canonicalising every page to the homepage, which removes the rest of the site from the index.

What it does

A canonical tag in the head of a page names the URL that should be treated as the authoritative version:

<link rel="canonical" href="https://example.com/page/">

When the same content is reachable at several addresses, the canonical says which one to index and consolidates signals onto it — so links pointing at three variants support one strong page rather than three weak ones.

It is a hint, not a rule

This is the part most often misunderstood.

Search engines treat a canonical as a strong suggestion. They usually follow it. They will override it when other signals contradict the declaration — if your internal links, sitemap and redirects all point somewhere else, the tag alone will not win the argument.

So the practical requirement is that all your signals agree: internal links point at the canonical, the sitemap lists only canonical URLs, and the canonical target is neither redirected nor blocked from indexing.

If you need a guarantee rather than a hint, a canonical is the wrong tool.

Self-referencing canonicals

Every indexable page should declare its own URL as canonical.

This seems redundant and is not. It handles the case you cannot enumerate: a visit to your page with a tracking parameter appended declares the clean URL as canonical, consolidating automatically. It also protects against someone else scraping your page — the canonical travels with the copy.

Use absolute URLs, in the head, one per page. Multiple canonical tags on one page are typically ignored entirely.

The mistakes that cause real damage

Everything canonicalising to the homepage. The most destructive, and it happens through a template or plugin misconfiguration. Every page tells search engines it is really the homepage, and the rest of the site drops out of the index. If organic traffic collapses after a deploy, this is worth checking within the first minute.

Canonical pointing at a redirect. Now there are two conflicting instructions and neither is clean. Point at the final destination.

Canonical chains. A points to B, B points to C. Point everything directly at the final URL.

Canonical to a noindex page. Contradictory: index this other page, which must not be indexed. Behaviour is unpredictable and the outcome is usually bad.

Canonical to a page that no longer exists. Common after content pruning, and it strands the pages pointing at it.

Paginated pages canonicalising to page one. This tells search engines to ignore content that only appears on later pages. Let each page self-canonicalise instead.

Cross-domain canonicals set carelessly. Legitimate for syndication, where the copy points home. Damaging when set in the wrong direction.

When to use something else

A canonical is not always the right instrument.

Use a 301 redirect when the duplicate should not exist at all — protocol and host variants, trailing-slash differences, moved pages. A redirect is a directive rather than a hint, and it removes the duplicate for users as well as crawlers.

Use noindex when a page must exist for people but has no business in search — filtered views, internal search results, thin archives. Note that a noindex page can still pass link value if it remains crawlable.

Use hreflang for genuine language or region variants. Those are not duplicates; they are alternatives, and canonicalising them to one another removes versions you wanted indexed.

Fix the content when pages are near-identical rather than truly duplicate. A canonical does not solve a templated content problem — it just picks a survivor.

Checking yours

View source on a few important pages and confirm each declares itself, not something else. Then use Search Console's URL inspection, which shows both the canonical you declared and the one Google actually selected — when those differ, Google disagreed with you, and that is worth understanding.

In the page indexing report, Duplicate without user-selected canonical means you never declared one. Alternate page with proper canonical tag is the system working as intended and needs no action.

On a large site, crawl it and check that every indexable page has exactly one canonical, that it is absolute, that it resolves with a 200, and that it is not itself canonicalised elsewhere.

That crawl takes minutes and catches the template-level mistakes, which are the ones that matter — a canonical error on one page is trivial, and the same error across ten thousand is an outage.

If organic traffic dropped after a release and you are not sure why, canonicals are the first thing worth checking — book a call.

Common questions

What does a canonical tag do?

It declares which URL is the preferred version of a page, so that when the same content is reachable at several addresses, signals consolidate onto one rather than splitting across duplicates. Links pointing at three variants then support one strong page instead of three weak ones.

Do search engines always follow canonical tags?

No — a canonical is a hint rather than a directive. It is usually respected, but can be overridden when other signals disagree, such as internal links and sitemaps pointing elsewhere. Make your signals consistent, and use a 301 redirect when you need a guarantee rather than a suggestion.

Should every page have a self-referencing canonical?

Yes. It handles cases you cannot enumerate, such as visits with tracking parameters appended, by declaring the clean URL as canonical and consolidating automatically. It also travels with the page if someone scrapes it. Use absolute URLs and only one canonical tag per page.

What is the most damaging canonical mistake?

A template canonicalising every page to the homepage, usually through a misconfiguration. Every page then claims to be the homepage and the rest of the site drops out of the index. If organic traffic collapses after a deploy, check this first.

When should I use a redirect instead of a canonical?

When the duplicate should not exist at all — protocol and host variants, trailing-slash differences, or moved pages. A 301 is a directive rather than a hint and removes the duplicate for users as well as crawlers. Use noindex instead when a page must exist for people but has no search value.

Have something worth building right?