Canonical Tag
A canonical tag (rel=canonical) is an HTML element that tells search engines which URL is the preferred or master version of a page when similar or duplicate content exists on multiple URLs.

Key takeaways
- Canonical tags prevent duplicate content issues by signaling the preferred URL.
- Always use absolute URLs and only one canonical tag per page.
- Self-referential canonicals are acceptable and common.
- Canonical tags are hints, not directives—search engines may ignore them if incorrect.
- Combine with sitemaps and 301 redirects for a complete canonicalization strategy.
Canonical tags are a core technical SEO control for managing duplicate content across your site.
Example
Your e-commerce site has a product page accessible via:
https://example.com/shoeshttps://example.com/shoes?color=redhttps://example.com/shoes?size=10
By adding <link rel="canonical" href="https://example.com/shoes"> to all three URLs, you tell search engines that https://example.com/shoes is the preferred version.
When should I use this?
Use canonical tags when:
- You have duplicate or very similar content on multiple URLs (e.g., printer-friendly versions, session IDs, tracking parameters)
- You syndicate content to other sites
- You use faceted navigation (filtering, sorting) that creates many URL variations
- You want to consolidate link signals to a single preferred URL
What it is not
- Not a redirect: Users still see the original URL; only search engines see the hint.
- Not a guarantee: Search engines may ignore the canonical if it's incorrect or conflicting.
- Not a replacement for 301: For permanent moves, use a 301 redirect.
- Not a noindex: Canonical does not remove a page from search results; it only suggests preference.
Quick start
- Identify the preferred URL for each set of duplicate pages.
- Add
<link rel="canonical" href="https://example.com/preferred-url">inside the<head>of all duplicate pages. - Use absolute URLs (including
https://and full path). - Ensure only one canonical tag per page.
- Test with Google Search Console's URL Inspection tool.
Common mistakes
- Using relative URLs instead of absolute canonical URLs.
- Declaring more than one canonical tag on a page.
- Pointing the canonical to the wrong protocol, host, or path (e.g., HTTP instead of HTTPS).
- Using one canonical across different language versions instead of canonicalizing within the same language set.
Next step
FAQ
What is a canonical tag?
A canonical tag (rel=canonical) is an HTML element that tells search engines which URL is the preferred version of a page when duplicate or similar content exists on multiple URLs.
How do I add a canonical tag in HTML?
Add <link rel="canonical" href="https://example.com/page"> inside the <head> section of your HTML.
What is the difference between a canonical tag and a 301 redirect?
A 301 redirect sends users and search engines to a different URL permanently, while a canonical tag only signals preference without redirecting. Use 301 for permanent moves, canonical for content accessible via multiple URLs.
Related topics
Sources
- Google Search Central — Most authoritative source for how Google handles duplicate URLs and canonicalization.
- Moz Canonicalization Guide — Clear practitioner-friendly overview of canonical tags and duplicate-content handling.
- Ahrefs Canonical Tags Guide — Practical SEO explanation of implementation pitfalls and common use cases.
- Yoast SEO documentation — Relevant for WordPress implementation context.
Reviewed by Lucía Marín, Founding editor.