What Is a Canonical Tag? How It Works and When to Use One
A canonical tag is a small line of HTML, <link rel="canonical" href="...">, placed in a page's <head> that tells search engines which URL is the main version when the same or very similar content is reachable at more than one address. If you are asking what is a canonical tag and whether you need one, the short answer is: yes, add one to every page, pointing to that page's own preferred URL.
Google treats it as a strong hint, not a command. It will usually follow a clean, consistent canonical, but it can pick a different URL if your signals disagree. The rest of this guide explains how the tag works, when to use it, and the mistakes that make Google ignore it.
What Is a Canonical Tag, in Plain English?
Imagine one product page that can be reached through four addresses: with and without www, with a tracking parameter on the end, and through a category path. To a visitor these are all one page. To a crawler they are four separate URLs with identical content.
The canonical tag says, "Of all these addresses, this one is the original. Please show this one in results and credit it with the links and signals." Search engines call this process canonicalization, and the chosen address is the canonical URL.
Here is what the tag looks like on a page that lives at https://example.com/shoes/:
<link rel="canonical" href="https://example.com/shoes/">
Why Canonical Tags Matter for SEO
Duplicate URLs are rarely a penalty. Google has said for years that duplicate content on its own is not a reason to punish a site. The real cost is quieter:
- Split signals. Links and engagement can spread across several versions instead of building up on one.
- Wasted crawling. Crawlers spend time on copies instead of your new or updated pages.
- The wrong URL in results. Google may show a messy parameter version instead of the clean one you want people to see.
- Muddy reporting. Your analytics and Search Console data get scattered across near-identical addresses.
If you want a refresher on how clean addresses help here, our guide to SEO-friendly URL structure covers the basics.
When Should You Use a Canonical Tag?
These are the most common situations where duplicates appear and a canonical tag helps:
| Situation | Example | Canonical points to |
|---|---|---|
| Tracking parameters | /page?utm_source=email | /page |
| Filters and sorting | /shoes?color=red&sort=price | /shoes |
| Same item, many paths | /sale/shoe-1 and /men/shoe-1 | One official product URL |
| Print or alternate versions | /article?print=1 | /article |
| Syndicated content | Your post republished elsewhere | Your original (if the partner agrees) |
Note the last row: cross-site canonicals depend on the other site cooperating, and Google does not guarantee it will honour them. Treat that case as a request, not a certainty.
Self-Referencing Canonical Tags
A self-referencing canonical is a page that points to itself. Google's own documentation recommends adding a canonical link on the canonical page itself. It looks redundant, but it protects you: if someone links to your page with a stray parameter or your server adds one, the page still declares its clean address.
For most small sites, this is the whole strategy. Every page gets a canonical tag pointing to its own full, preferred URL, and you are done.
How to Add a Canonical Tag
In plain HTML
Paste the tag inside the <head> section of each page, using the full absolute URL including https://.
In WordPress and other CMS platforms
Most SEO plugins and site builders add self-referencing canonicals automatically. Open a page's source and look for rel="canonical" to confirm it is there and correct. Many platforms also let you override it for a single page.
For PDFs and non-HTML files
These have no <head>, so the canonical is sent as an HTTP header instead. Use one method per page, not both.
Canonical Tag Best Practices
- Use absolute URLs. Write the full address, not a relative path like
/shoes/. - Keep it in the head. A canonical placed in the body is ignored. Keep that section of your HTML valid.
- One canonical per page. Multiple tags with different targets confuse the signal.
- Link internally to the canonical version. Your menus and links should use the same address your tag declares.
- Match your other signals. Your sitemap, redirects and internal links should all agree on the preferred URL.
- Keep it in the HTML source. Avoid relying on JavaScript to change it after the page loads.
Your XML sitemap should list only canonical URLs, since Google reads it as a weaker canonical signal.
Canonical Tag vs 301 Redirect
Both consolidate duplicates, but they behave differently.
| Feature | Canonical tag | 301 redirect |
|---|---|---|
| Visitor experience | Both URLs stay accessible | Visitor is sent to the new URL |
| Strength | Strong hint | Stronger signal |
| Best for | Pages that must stay live | Retired or merged pages |
If a duplicate no longer needs to exist, redirect it. If it must stay reachable, such as a filtered view, use a canonical tag.
Common Canonical Tag Mistakes
- Using canonical to block indexing. It is for consolidating duplicates, not hiding pages. Google also advises against using
noindexor robots.txt for canonicalization, because those can remove pages from search entirely. See our guide to the robots.txt file for what that tool is really for. - Pointing every page to the homepage. This tells Google your inner pages are copies, and they may drop out of results.
- Canonicalising to a redirected or broken URL. The target should return a normal, working page.
- Conflicting signals. A canonical to one address, a sitemap listing another and internal links to a third leaves Google guessing.
- Pointing an HTTPS page to its HTTP version. Google generally prefers HTTPS.
- Relative URLs and typos. A single wrong character sends the signal to a page that does not exist.
How to Check Your Canonical Tags
Start with one page: view its source and search for canonical. Then open the URL Inspection tool in Google Search Console, which shows both the canonical you declared and the one Google actually chose. If they differ, look for conflicting signals. Our beginner's guide to Google Search Console shows where to find these reports.
In the Pages report, statuses such as "Duplicate, Google chose different canonical than user" tell you Google disagreed with your tag. That is a prompt to tidy your signals, not a penalty.
Canonical Tag FAQ
Is a canonical tag required?
No. Google will choose a canonical on its own if you do not specify one. Adding the tag simply gives it a clear preference.
Does a canonical tag pass link value?
The goal is to consolidate signals onto the canonical URL, so links to duplicates generally count toward the preferred version. Google does not publish exact numbers on how much.
Can Google ignore my canonical tag?
Yes. It is a hint. If the tag conflicts with redirects, sitemaps or internal links, Google may choose another URL.
Should every page have a canonical tag?
Google recommends a self-referencing canonical on canonical pages, so adding one to every indexable page is a safe default.
Can a page have two canonical tags?
It should not. Conflicting tags can cause both to be ignored.
What is the difference between canonical and noindex?
Canonical says "this page is a copy of that one, please consolidate." Noindex says "do not show this page in search at all." They solve different problems.
A Simple Canonical Checklist for Small Sites
You do not need a complicated setup. Work through these steps once, then recheck after any redesign or migration:
- Pick one preferred version of your domain, such as
https://www.example.com, and redirect the others to it. - Confirm every page has a self-referencing canonical with a full URL.
- Make sure your menus, buttons and internal links use the same address the canonical declares.
- List only canonical URLs in your sitemap.
- Spot-check a few pages in the URL Inspection tool, especially pages with parameters.
Most ranking problems blamed on duplicate content come from skipping the first step. When both the www and non-www versions of a site load without redirecting, every page effectively exists twice. A redirect plus a self-referencing canonical fixes that in minutes and gives search engines one clear answer about where your content lives.
The Takeaway
Give every page a self-referencing canonical with a full URL, make your sitemap and internal links agree with it, and use redirects for pages that should disappear. Then check Search Console now and then to confirm Google agrees with your choices.
If you would like a second pair of eyes on your site's technical setup, get in touch and we can look at it together.