What is a canonical URL?
A canonical URL is the preferred version of a page that you want search engines to index when multiple URLs contain the same (or nearly the same) content. You declare it with a link tag in the page's <head>:
<link rel="canonical" href="https://example.com/guide" />
Duplicate URLs are extremely common — often without any intent:
https://example.com/pageandhttps://www.example.com/pagehttp://example.com/pageandhttps://example.com/pageexample.com/pageandexample.com/page/example.com/page?utm_source=newsletterandexample.com/page- Print versions, sort filters, and pagination URLs
Without a canonical, Google must guess which version to index — and it often picks the "wrong" one, splitting your ranking signals across duplicates and weakening all of them.
How does Google pick a canonical if there's no tag?
When there's no canonical, Google considers many signals: the sitemap, internal links (which URL is linked most), external links, redirects, and the URL's cleanliness. The result is often inconsistent — the homepage might index under www while inner pages index under the bare domain.
That's why the rule is: every page gets exactly one self-referencing canonical (or one pointing to the master version of its duplicates).
How to check the canonical of any page
Use the free Canonical URL Checker:
- Paste the URL of the page you want to audit.
- The tool fetches the page and extracts the canonical declaration — from the HTML tag and the HTTP Link header.
- You instantly see: the canonical URL, whether it's self-canonical, and any warnings (missing canonical, multiple canonicals, or conflicting declarations).
The canonical problems to look for
1. Missing canonical — the page doesn't declare one. Fix: add a self-referencing canonical to the template.
2. Multiple canonical tags — some CMSes or plugins emit more than one. Google will ignore them all. Fix: find the plugin or theme that adds the duplicate and remove it.
3. Canonical pointing to a 404 — the canonical target doesn't exist, so the consolidation never happens. Fix: point the canonical at a live URL, or use a 301 redirect instead.
4. Conflicting canonical and header — one source says X, the other says Y. Fix: make both consistent.
5. Canonical on a redirected page — if a URL 301-redirects, the redirect already determines the canonical; the tag on the redirecting page is ignored.
Canonical vs 301 redirect
| 301 Redirect | Canonical Tag | |
|---|---|---|
| Strength | Directive | Strong hint |
| Old URL still loads | No | Yes |
| Best for | URLs that shouldn't exist | Live duplicates (params, print views) |
| Transfers signals | Fully | In most cases |
Use a 301 for old URLs after a migration (check them with the Redirect Checker); use canonicals for duplicate-but-live versions you can't redirect away.
Fixing canonicals at scale
- Audit — run your top 50 URLs through the canonical checker and collect failures in a spreadsheet.
- Fix templates, not pages — most canonical issues come from the CMS template (missing tag, wrong domain, trailing-slash mismatch). One template fix repairs hundreds of pages.
- Make your sitemap consistent — every URL in your sitemap should be the canonical version of the page. Google cross-checks the two.
- Redirect the rest — for URL variants that should truly disappear (http, non-www if you've chosen one), 301 them to the canonical form.
The final checklist
- Every page has exactly one self-referencing canonical
- Canonical URLs use your chosen domain (www or non-www — pick one, everywhere)
- Canonical URLs are absolute (full
https://..., not/relative) - Canonical targets return 200 (not 404 or redirect)
- Sitemap URLs match the canonical URLs
- No page has both a canonical and a redirect pointing in different directions
Run the Canonical URL Checker now and fix the first five failures you find — canonical hygiene is one of the cheapest ranking wins available.
Related free tools
Try these free online tools — all run in your browser with no sign-up.