Canonical Tags
I used to treat canonical tags as optional; now I set a self-referential canonical on every page because I've seen Google ignore them when signals are weak.
Start here
- Add a self-referential canonical tag to every page, even the one you think is the original.
- Use absolute URLs in canonical tags; relative paths can break in production and get ignored.
- Only one canonical tag per page — multiple confuse search engines and risk ignoring the signal entirely.
- Check Google Search Console's URL Inspection tool to see which URL Google considers canonical for each page.
- When using faceted navigation or tracking parameters, point all variant URLs to the cleanest version with a canonical.
Plain-English take
A canonical tag lives in the <head> of a page as <link rel="canonical" href="https://example.com/page/" />. It tells Google: 'this URL is the one I want in search results'. It is not a directive — Google can ignore it if other signals (internal links, sitemaps, redirects) point elsewhere. I have seen this happen on a site where internal links favoured a URL with tracking parameters. The canonical pointed to the clean version, but Google chose the parameterised one because of link volume. The result: ranking signals split across two URLs, and neither performed well. When the canonical works, it consolidates all the equity — links, content, crawl budget — onto one URL. That means your strongest page gets the full benefit. For example, an e-commerce site with colour and size parameters might have twenty URLs for the same product. Without a canonical, each URL fights independently. With a canonical pointing to product/, all signals merge. Google's advice is to use absolute URLs, and I agree: I once used relative paths and Google ignored the tag entirely. I now set a self-referential canonical on every page as cheap insurance. If you syndicate content, the syndicated copy should canonical back to the original, not the other way around. For multilingual sites, combine with [hreflang tags](/hreflang-tags/) — they serve different purposes. A canonical tag says 'this is the authoritative URL for this content', while hreflang says 'this is the equivalent page in another language'. Never set a canonical to a page that has a noindex tag — Google will follow the noindex instead.
When it actually matters
Canonical tags are critical in three scenarios. First, [duplicate content](/duplicate-content/) across URLs with tracking parameters. If you use Google Analytics or ads, you may have ?utm_source=... appended. Without a canonical, each URL variant is a separate page in Google's index. I analysed a client's site and found 15,000 indexed URLs from campaign parameters alone. Adding a canonical to the clean URL reduced indexed pages by 80% within a month. Second, [faceted navigation](/pagination/). E-commerce filters create endless URL combinations — /shoes?colour=red&size=10&brand=nike. Each combination should canonical back to the category page or a canonical filter URL. I recommend pointing all filter variants to the master category page unless you deliberately want a filter page to rank. Third, syndicated content. If you republish articles on other sites, ask them to canonical to your original. Without that, Google may treat the syndicated copy as duplicate and choose a version you don't control. I once lost rankings because a large syndicator did not implement a canonical, and Google picked their URL over mine. After requesting the canonical, rankings returned. Also matters for printer-friendly versions, HTTPS vs HTTP, and WWW vs non-WWW — use a canonical to reinforce your preferred domain. But note: a [301 redirect](/301-redirect/) is stronger than a canonical. If you can redirect, do it. Canonicals are for when you cannot redirect without breaking user experience. If you are running a [technical SEO](/technical-seo/) audit, checking canonical consistency should be on your checklist. I always run the URL Inspection tool for a sample of pages to verify Google's chosen canonical matches mine.
What I got wrong
My first mistake was using relative URLs in canonical tags. On a WordPress site, I set rel="canonical" href="/page/" thinking it would resolve correctly. It did on the staging site, but in production with a different base URL, Google saw a broken path and ignored it. The site had duplicate content issues for three months before I caught it. Now I always use absolute URLs. Second, I once set a canonical to a paginated page — /category/page/2/ — when the content was unique enough that page 2 should have been indexed. Google consolidated all the content onto page 1, and page 2 dropped from search. I should have either self-canonicalised page 2 or used a view-all page. Third, I mistakenly believed canonical tags could override a 301 redirect. They cannot. If page A redirects to page B, but page A has a canonical to page C, Google follows the redirect and ignores the canonical. Lesson: canonical and redirect signals must agree. Fourth, I placed canonical tags in the <body> by accident (a plugin error). Google does not read them there. Validate your implementation in Chrome DevTools or Google Search Console. Finally, I used multiple canonical tags on one page thinking I could give search engines options. Google gets confused and may ignore all of them. Stick to one. One more thing: I used a canonical pointing to a page with a noindex directive, thinking the canonical would win. It did not — Google ignored it. A full [SEO audit](/seo-audit/) should include these checks.
Next step
Quick answers
What happens if I set a canonical to a page that also has a noindex tag?
Google treats noindex as a stronger signal than canonical. If a page has noindex, Google will not index it regardless of the canonical. Ensure canonical and noindex are not used together on the same page; choose one.
Can I use a canonical tag on a page that is also the target of a 301 redirect?
No. If page A redirects to page B, Google follows the redirect and ignores any canonical on page A. The redirect itself defines the canonical relationship. Only use canonicals when you cannot or should not redirect.
Does a canonical tag affect which URL appears in the address bar for users?
No. Canonical tags only influence search engines. Users see the URL they clicked or typed. If you want to change the user-facing URL, implement a 301 redirect instead.
Should I use canonical tags on pages with unique content that I want indexed?
Yes, use a self-referential canonical on every page. It tells Google 'this URL is the preferred version of itself'. This prevents other signals from inadvertently directing Google to a different URL.
Sources
Primary documentation is linked directly. Anything commercial is marked nofollow.
- Google Search Central — Consolidate duplicate URLs — Primary source for Google's canonicalization guidance, including how to use rel=canonical and consolidate duplicate pages.
- Google Search Central — Canonicalization — Explains how Google interprets canonical signals, best practices, and why canonicals are not directives.
- Google Search Central — Localized Versions — Distinguishes canonical tags from hreflang tags for multilingual sites, a common point of confusion.
Notes from Callum Bennett.