When the same content is accessible at multiple URLs, search engines have to pick one to rank — and they might not pick the one you want. The canonical tag gives you a way to tell Google which URL is the "real" one, so link equity and ranking signals consolidate where you need them.
This guide covers what causes duplicate URLs, how to implement canonicals correctly, and the mistakes that quietly break your SEO.
What is a Canonical Tag?
The canonical tag is an HTML link element placed in <head> that tells search engines: "This is the preferred version of this page."
<link rel="canonical" href="https://example.com/blog/article-title" />
When Google sees this, it treats the specified URL as the authoritative version and consolidates any ranking signals from duplicate versions into it.
Why Duplicate URLs Happen
Duplicate content problems often arise without anyone intending to create them:
- www vs non-www:
https://example.com/andhttps://www.example.com/are technically different URLs - HTTP vs HTTPS: if both versions are accessible and not redirected, they're duplicates
- Trailing slash:
/aboutand/about/are often the same page - UTM parameters:
/article?utm_source=twitterlooks like a unique URL to a crawler - Print pages:
/article?print=true - Pagination:
/blog/and/blog/?page=1often have identical content
Self-canonical — the baseline best practice
Even if you have no duplicates, it's recommended to include a canonical on every page pointing to itself. This protects against external sites linking to your content with added parameters:
<!-- On the /blog/article-title page --> <link rel="canonical" href="https://example.com/blog/article-title" />
How to write canonicals correctly
<!-- ✅ Absolute URL (recommended) --> <link rel="canonical" href="https://example.com/blog/article" /> <!-- ❌ Relative URL (avoid) --> <link rel="canonical" href="/blog/article" />
Always use a full absolute URL, including the protocol (https://) and domain.
Cross-domain canonical
If you republish content from another site (or allow your content to be syndicated), the republished version should point its canonical to the original. This protects the original author's SEO equity:
<!-- On the syndicated copy --> <link rel="canonical" href="https://original-site.com/the-article" />
Common canonical mistakes
- Canonical pointing to a different page: a category page whose canonical points to a single post — Google gets confused and may ignore it
- Multiple canonical tags: if
<head>contains two canonicals, Google will likely ignore both - noindex + canonical conflict: telling Google "this is the canonical version, but don't index it" is a contradiction
- HTTP canonical on an HTTPS site: your canonical URL should match the protocol you're actually serving
Frequently Asked Questions
- Should I use a 301 redirect or a canonical tag?
- When you can redirect, redirect. A 301 is a hard signal that Google is required to follow; a canonical is a hint that Google considers but can override. Use 301 redirects to consolidate www/non-www and HTTP/HTTPS, then add canonical tags on top for any remaining duplicate patterns that can't be redirected (like UTM parameters).
- Does Google always follow the canonical tag?
- No. Canonical is a "hint," not a directive. If Google finds strong signals pointing elsewhere — lots of backlinks to a different URL, for example — it may choose a different canonical than the one you specified. That said, correct canonicals are still worth setting; they're followed the vast majority of the time.
- How do I verify my canonical tags?
- View source (Ctrl/Cmd+U) and check
<head>for the canonical link element. For a more authoritative check, use Google Search Console's URL Inspection tool — it shows you which URL Google has selected as canonical, which may differ from what you set.
Summary
- Canonical tags tell Google which URL is the preferred version of a page
- Duplicate URLs arise from www/non-www, HTTP/HTTPS, trailing slashes, and tracking parameters
- Add a self-canonical to every page as a baseline, pointing to its own absolute URL
- Use absolute URLs, avoid conflicts with noindex, and check with Google Search Console
Generate and verify your canonical tags with these tools:
- Canonical Tag Generator — enter a URL and get the correct tag instantly
- Meta Tag Generator — create a full set of SEO meta tags alongside your canonical
- Robots.txt Generator — set up crawling rules to complement your canonical strategy