Run a full scan — every category, one report

Canonical Tag Checker

Extract and analyze the <link rel="canonical"> HTML tag or HTTP Headers to prevent SEO duplicate content penalties.

This tool fetches the live HTML document and HTTP Link headers to locate canonical declarations.

Our Canonical URL Checker inspects the rel=canonical tag on any page and reports whether it is present, valid and self-consistent. Canonical tags are how you tell search engines which URL is the real one when the same content is reachable several ways.

What is a Canonical URL?

A canonical URL declares which address is the authoritative version of a page. It is published as a link element in the head — rel="canonical" — or as an HTTP Link header.

It exists because the same content is usually reachable through many URLs. With and without www, HTTP and HTTPS, with trailing slash and without, with tracking parameters appended, through category paths and through search results. Search engines see each as a separate URL and must decide which to index.

Left to guess, they consolidate signals imperfectly and may choose a URL you did not intend. A canonical tag makes the decision explicit, consolidating ranking signals from every variant onto the single URL you nominate.
  • Declares which URL is the authoritative version of a page
  • Published as a link element in the head or an HTTP Link header
  • Consolidates ranking signals from duplicate URLs
  • Necessary because tracking parameters create endless variants
  • A hint to search engines, not a directive they must obey

Why Canonical URLs Matter

Duplicate URLs split ranking signals. When ten inbound links point at four different variants of the same page, each variant accumulates a fraction of the authority rather than one URL accumulating all of it. Nothing appears broken; the page simply ranks lower than it should.

Crawl budget is the second cost. A crawler that spends its allocation fetching parameter variants of pages it has already seen has less left for genuinely new content. On large sites this measurably delays indexing of new pages.

Mistakes here are expensive precisely because they are silent. A canonical tag pointing at the wrong URL can deindex a page entirely, and nothing in the page itself looks wrong.
  • Duplicate URLs split ranking signals across variants
  • Parameter variants waste crawl budget on already-seen content
  • A wrong canonical can remove a page from the index entirely
  • Errors are invisible to users and to ordinary testing
  • Tracking parameters generate unlimited duplicates automatically

How This Canonical Checker Works

The tool fetches the page and extracts the canonical declaration from both the markup and the headers.
  1. Validates the URL input against format and SSRF safety checks
  2. Fetches the page and parses the head section
  3. Extracts the rel=canonical link element and any HTTP Link header
  4. Compares the declared canonical against the requested URL
  5. Flags missing, duplicate, relative and cross-domain canonicals

How to Use the Canonical Checker

  1. Enter the page URL you want to inspect
  2. Run the check to extract the canonical declaration
  3. Confirm exactly one canonical is present
  4. Check whether it matches the URL you requested
  5. Test parameter and www variants to confirm they all point at the same canonical

Understanding Your Canonical Results

The check reports what the page declares and how it compares to the requested URL:

Field / Value Meaning
Self-referencing The canonical matches the requested URL. The correct and expected result for a primary page, and it protects against parameter variants being indexed separately.
Points elsewhere The page nominates a different URL as authoritative. Correct for a parameter variant or a duplicate, but a serious error if this is meant to be the primary page.
Missing No canonical declared. Search engines must infer which variant to index, and their choice may not match your intent.
Multiple canonicals More than one declaration, often because a CMS and a plugin both add one. Search engines typically ignore all of them, leaving the page effectively uncanonicalised.
Relative URL A path rather than a full URL. Technically permitted but fragile, since it resolves against the current page and breaks under some proxy and CDN configurations.
Cross-domain Points at a different domain. Legitimate for syndicated content, but a critical error when set accidentally, since it tells search engines the other domain owns your content.

Common Problems & How to Fix Them

Search engines infer which variant to index, and parameter and protocol variants compete against each other for the same ranking signals.

Add a self-referencing canonical to every page:
<link rel="canonical" href="https://example.com/page" />

Use the absolute URL including the protocol, and make it match your preferred www and trailing-slash convention consistently.

This is the most damaging canonical error. It tells search engines every page is a duplicate of the homepage, and the rest of the site is progressively deindexed.

It is almost always a template mistake where a hardcoded URL was used instead of the current page address. Fix the template so each page emits its own URL, then request re-crawling.

Typically a CMS theme and an SEO plugin each adding one. Search engines usually discard all of them when they conflict, so the page ends up with no effective canonical at all.

Find which components emit the tag and disable all but one. Check the rendered HTML rather than the template, since the duplicate is often injected at runtime.

A page redirects to one URL while declaring a different one as canonical, sending contradictory signals that search engines resolve unpredictably.

Make them agree. The redirect target and the canonical URL should be the same address, using the same protocol, hostname and trailing-slash convention.

Declaring an HTTP URL as canonical on an HTTPS page nominates the insecure variant as authoritative, which can result in the HTTP version being indexed.

Update the canonical to use https://. This commonly survives from a migration where the canonical template was never updated.

Best Practices

  • Add a self-referencing canonical to every indexable page
  • Use absolute URLs including the protocol, not relative paths
  • Match your canonical convention to your redirect rules exactly
  • Point parameter variants at the clean URL without parameters
  • Ensure exactly one canonical declaration per page
  • Include the canonical in the head, not injected later by script
  • Re-check canonicals after any CMS, theme or plugin change

Security Recommendations

  • Never build a canonical URL from unvalidated user input, since an injected canonical can hand your ranking signals to an attacker domain
  • Watch for unexpected cross-domain canonicals, which can indicate a compromised template or a malicious plugin
  • Ensure canonicals are emitted server-side rather than by client script, as crawlers may not execute it and it is easier to tamper with
  • Audit canonicals after any third-party plugin installation, which is a common route for injected tags
  • Confirm the canonical matches your HSTS and HTTPS policy so the insecure variant is never nominated
  • Monitor for canonical changes as part of change detection on critical pages

Frequently Asked Questions

It is the URL you declare as the authoritative version of a page, published through a rel=canonical link element or an HTTP Link header. It tells search engines which address to index when the same content is reachable through several URLs.

A self-referencing canonical on every indexable page is recommended. It costs nothing and protects against parameter variants, protocol variants and www duplicates being indexed as separate pages.

Search engines consolidate signals onto that URL instead of the correct one. If every page points at the homepage, the rest of the site is progressively deindexed. It is one of the most damaging technical SEO errors because nothing visibly breaks.

No. A redirect physically sends visitors elsewhere and the original URL becomes unreachable. A canonical leaves both URLs accessible and merely tells search engines which one to index. Use a redirect when the old URL should be gone, and a canonical when both must remain reachable.

Yes, and it is legitimate for syndicated content where another site should be credited as the source. Set accidentally, however, it tells search engines that the other domain owns your content, which is a severe error.

No. It is a strong hint, not a directive. If the declared canonical contradicts other signals — internal links, sitemaps, redirects — search engines may choose differently. Consistency across all those signals is what makes the canonical effective.

No. The canonical should be the clean URL without campaign or session parameters. That is the entire point: every parameter variant points at the same clean canonical, consolidating their signals onto one address.