Canonical Tags: How and When to Use Them
A canonical tag is an HTML link element that tells Google which URL is the "master" version of a page when multiple URLs contain similar or identical content. It's a signal that says "this is the official version — consolidate ranking signals here."
What Is a Canonical Tag?
A canonical tag looks like this:
<link rel="canonical" href="https://example.com/page" />
This goes in the <head> section of your HTML. It tells search engines: "This is the official URL for this content."
When to Use Canonical Tags
URL Parameters Creating Duplicates
E-commerce sites often have parameter URLs: /products/shoes?sort=price, /products/shoes?color=red, /products/shoes?size=10. These are different URLs but often the same content with different sorting or filtering. Use a canonical tag on all variants pointing to the base URL: /products/shoes.
HTTP vs HTTPS Duplicates
If both http://example.com and https://example.com are accessible, they're technically duplicate pages. Canonical the HTTP version to the HTTPS version (or use 301 redirects, which is cleaner).
www vs non-www Duplicates
Similarly, example.com and www.example.com are duplicates. Pick one as your canonical and consolidate. Use 301 redirects or canonicals to point one to the other. (301 redirects are slightly cleaner for this.)
Syndicated Content
If your content is republished on other sites (syndication), use a canonical tag pointing back to your original version. This tells Google which is the original and consolidates ranking signals to your site, not the syndicators.
Paginated Content
There's debate here, but a common approach: if pagination shows the same content across multiple pages (like a blog with 10 posts per page), include pagination in the URL structure (page 1, page 2, etc.) and don't canonicalise. Let each page be its own canonical. Only use self-referencing canonicals.
Self-Referencing Canonicals
A best practice: every page should have a self-referencing canonical. This means a page canonicalises to itself:
On page https://example.com/article-title:
<link rel="canonical" href="https://example.com/article-title" />
This redundant but explicit — makes clear this is the official version. Most CMS platforms add self-referencing canonicals automatically.
Cross-Domain Canonicals
You can canonical across domains. If your article is syndicated on TechCrunch, you can tell Google your version on example.com is the original:
On TechCrunch's copy of your article:
<link rel="canonical" href="https://example.com/article-title" />
This only works if you control the syndicator's website or they allow it. Most reputable syndicators respect canonical tags.
Common Canonical Mistakes
Canonical Pointing to a Noindexed Page
If Page A canonicalses to Page B, but Page B has a noindex tag, Page A won't be indexed either. Google will treat it as a duplicate of a page it's not indexing, so neither will be indexed. This is a disaster. Always ensure the canonical target is indexable.
Canonical Chains
Page A → Page B → Page C (Page A canonicalses to B, B canonicalses to C). Google can sometimes follow these chains, but it's fragile and can break. Avoid canonical chains. Always point directly to the final canonical target.
Canonical All Paginated Pages to Page 1
Some sites canonicalse page 2, 3, 4 back to page 1. This hides the content on subsequent pages from indexing. Google recommends each paginated page be its own canonical or use rel="next" and rel="prev" annotations. If you paginate, let each page exist independently.
Too Many Canonicals
You should have only one canonical per page (or zero, meaning the page is its own canonical). Multiple canonicals confuse Google.
Canonical vs 301 Redirect: Which to Use?
Use 301 redirects when you want to permanently consolidate URLs. Example: migrating from /old-page to /new-page. Use a 301 to move all traffic and link equity.
Use canonical tags when you need both URLs to remain accessible but want to consolidate ranking signals to one. Example: a product accessible via /products/shoes and /items/shoes — both need to exist, but you want ranking power concentrated on one.
For most cases, 301 redirects are cleaner and more explicit. Use canonicals only when both URLs need to exist.
Checking Canonicals in GSC
Google Search Console's URL Inspection tool shows the canonical Google has detected for a page. If it's different from what you specified, there's a problem. Check the "Link element" section to see what canonical is in your HTML.