How canonical tags work
rel=canonical is a hint that says 'index this URL, not the near-duplicates.' Google usually respects it but can override it when other signals disagree.
It consolidates ranking signals onto one URL without removing the variants for users.
- Placed in the <head> as <link rel="canonical" href="…">, or sent via HTTP header
- Give every important page a self-referencing canonical to its own clean URL
- Use absolute URLs pointing to the indexable, 200-status preferred version
- A canonical is a suggestion, not a directive — conflicting signals can override it
- One canonical per page; multiple or conflicting canonicals get ignored
When to use — and when not to
Canonicals shine for parameter variants, syndicated content, and similar pages you want consolidated.
They're the wrong tool for paginated series, genuinely different pages, or content you actually want removed from the index.
- Do use for parameter/tracking variants and near-identical pages
- Do use cross-domain when you syndicate content, pointing back to the original
- Don't canonicalize page 2+ of pagination to page 1 — they're different pages
- Don't rely on canonical to deindex — use noindex for that
- Don't point canonicals at redirected, blocked, or noindexed URLs
- Keep canonical, internal links, sitemap, and hreflang all consistent with each other
More on technical seo
Frequently asked questions
What's the difference between a canonical tag and a 301 redirect?
A 301 sends both users and crawlers to another URL — the original is gone. A canonical keeps both URLs accessible to users but tells search engines which to index. Use a redirect when a page should truly move; a canonical when both need to exist.
Should every page have a canonical tag?
A self-referencing canonical on each indexable page is good practice — it prevents parameter and variant URLs from being treated as separate. It removes ambiguity even when you don't think duplicates exist.
Google ignored my canonical — why?
Canonicals are hints. If your internal links, sitemap, or hreflang point elsewhere, or the canonical target is weaker, Google may pick a different URL. The fix is making every signal agree, and that's exactly what we audit for.