Canonical URL checker

Check whether the canonical tag is present on your page and which URL it points to

Free
No sign-up
Instant results

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 the Link HTTP 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=foo and /product are 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

A 301 redirect physically sends users and bots to a different URL. Canonical is a hint for search engines: the page remains accessible, but the search engine knows which URL to treat as primary. Canonical is suitable when you need to keep both page versions available to users.
Yes, cross-domain canonical is allowed. It's used when the same content is published on multiple sites and you want to indicate the original source. However, search engines treat cross-domain canonical as a suggestion, not a directive.
In most cases, yes — the canonical should point to the page itself (self-referencing canonical). This is a clear signal to search engines that this URL is the primary one. The exception is duplicate pages (pagination, query-param variants, faceted navigation), which should point to the original.
Strip them. The canonical should point at the clean URL without tracking parameters. So a user arriving at /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.
The HTTP 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).