Canonical URL checker
Check whether the canonical tag is present on your page and which URL it points to
Check results
This check only covers the canonical tag. For a full picture of your page, run a page audit.
For issues across your whole site — duplicate titles, orphan pages, broken internal links — run a site audit.
Want us to fix what we found? Our team can help.
What is canonical and why it matters
The canonical tag — <link rel="canonical" href="URL"> in the <head> section, or the equivalent Link: <URL>; rel="canonical" HTTP header — tells search engines which URL is the preferred version of the page. It solves the duplicate-content problem: the same content can be accessible via many URLs (with/without www, HTTP/HTTPS, trailing slash variants, query parameters, UTM tracking), and without a canonical, Google picks the primary one itself — often not the one you want. A misconfigured canonical is one of the most common ways to accidentally remove pages from Google's index.
What this tool checks
- Canonical presence — in the HTML
<link rel="canonical">tag or theLinkHTTP header (Google treats both as equivalent) - Count — exactly one canonical tag in HTML
- Non-empty href — the canonical must have a URL
- URL validity — the canonical URL is well-formed
- Absolute vs relative — absolute URLs (with https://) are unambiguous
- HTML vs HTTP header match — when both are set, they should agree
- URL fragment — canonicals with
#are pointless; Google strips fragments - Protocol match — HTTPS page should not point to HTTP canonical
- Cross-domain — canonical to another domain transfers ranking signals there
- Self-reference — whether the canonical matches the current URL
- Canonical URL redirects — whether the declared canonical itself redirects somewhere
- Canonical URL accessibility — the canonical must resolve to a live page (not 404/500)
Why canonical matters for SEO
- Consolidates ranking signals — links pointing at duplicate URLs all count toward the single canonical page
- Prevents index bloat — Google indexes one URL instead of dozens of parameter variants
- Resolves syndication — cross-domain canonical declares the original source of the content
- Handles query parameters —
/product?utm=fooand/productare different URLs to the crawler; canonical tells Google they're the same page - Fails silently when wrong — a bad canonical won't throw an error; the page just stops ranking, often weeks later, hard to diagnose
Good vs bad examples
Good — self-referencing absolute URL, HTTPS:
<link rel="canonical" href="https://seorado.com/title-check">
Good — syndicated article declaring the original source:
<link rel="canonical" href="https://originalpublisher.com/article">
Good — HTTP header canonical for a PDF file (where meta tags aren't possible):
Link: <https://example.com/docs/report.pdf>; rel="canonical"
Bad — HTTPS page with an HTTP canonical (signals preference for the insecure version):
<link rel="canonical" href="http://seorado.com/title-check">
Bad — every page pointing at the homepage (common CMS misconfiguration that deindexes everything):
<link rel="canonical" href="https://seorado.com/">
Bad — fragment in canonical (Google ignores fragments):
<link rel="canonical" href="https://example.com/page#section">
Common mistakes
- Site-wide homepage canonical — a template bug where every inner page declares the homepage as canonical, causing Google to deindex every inner page
- Canonical to a 404 — the primary URL you declared doesn't exist
- Canonical to a redirect — Google will follow but this nonstandard chain can delay indexing
- Multiple canonical tags — malformed HTML, Google picks one at random or ignores all
- Relative URL — works in most cases but breaks on cross-origin resolution and looks suspicious to crawlers
- Canonical disagreeing with the HTTP Link header — Google uses the header; if you set both, make them match
- Canonical + noindex on the same page — contradictory signals; Google may obey either or ignore both (not checked here, but worth manually verifying)
Frequently asked questions
/article?utm_source=newsletter should see a canonical of /article. This consolidates all the tracked variants back into the single indexable URL. Our tool will flag this as "canonical points to a different URL" — that's the correct intentional case, ignore the warning.Link header is required for non-HTML resources — PDFs, images, videos, any file where you can't add a <link> tag. For regular HTML pages the meta tag is standard. You can also set both; Google treats the HTTP header as authoritative when they disagree, so make sure they match. Configure the header in your web server (nginx add_header, Apache .htaccess).