Free tool

Canonical Tag Checker

Verify the canonical tag of up to 500 URLs: catches missing canonicals, chains, cross-domain targets and www, protocol and trailing-slash mismatches. It reads the HTTP Link header too.

0/10 URLs
0 / 100 URLs usadas

What this checker checks

It downloads each URL, extracts the canonical tag from the HTML and, failing that, reads the HTTP Link header, which is where canonicals for PDFs and other non-HTML files live. It then compares that canonical against the URL actually served — not the one you typed — and follows the chain if it points elsewhere. A correct canonical looks like this:

<!-- In the '<head>' of the canonical page -->
'<link rel="canonical" href="https://example.com/blue-product" />'

<!-- In the HTTP header (for PDFs or other non-HTML resources) -->
Link: '<https://example.com/blue-product>'; rel="canonical"

How to verify your canonical tags step by step

You need no access to the site: the URLs simply have to be reachable from the internet.

  1. 1

    Paste the URLs, one per line. Up to 500 depending on your plan, all checked at once.

  2. 2

    Include the variants you suspect: the parameterised version, the paginated one, the www and the non-www. Mismatches surface by comparing them.

  3. 3

    If a URL redirects you are told, and the analysis runs on the final URL, which is the one Google indexes.

  4. 4

    Fix the chains and unintended cross-domain canonicals first; then the format mismatches, which are milder but spread through templates.

When auditing a template, check several URLs of the same type. A badly generated canonical almost never affects one page: it comes from the component that writes it.

The four states it can return

Self-referencing

The canonical points at the URL itself. That is what you want on the vast majority of pages: it consolidates signals on itself and gives nothing away.

Points elsewhere

Legitimate when the page is a variant — a filter, a parameter, a print version. Suspicious when it is a page you do want indexed in its own right.

Canonical chain

A points at B and B points at C. Google does not follow canonical chains: it is flagged as an error because the signal is lost entirely.

No canonical

Neither tag nor header. Not fatal, but it leaves Google to pick which version to index, and it does not always pick the one you wanted.

The five problems it detects

Error #1

Canonical chain

URL A has canonical → B, and B has canonical → C. Google may not follow the full chain and ignore the signal. Always point directly to the final canonical URL.

Error #2

Canonical pointing to a redirect

If the canonical points to a URL that redirects (301/302), Google has to follow the redirect to find the final URL. Always use the direct final URL in the canonical.

Error #3

www / non-www or HTTP / HTTPS inconsistency

The canonical uses www.example.com but the actual URL is example.com (or vice versa). Google may treat this as contradictory signals. Choose a format and be consistent across the entire site.

Error #4

Inconsistent trailing slash

The URL is /product/ but the canonical points to /product (no trailing slash). For Google these are different URLs. Unify the format with or without trailing slash across the entire site.

Error #5

Canonical in conflict with noindex

A page with noindex and a self-referential canonical sends contradictory signals: 'this is the preferred version but do not index it'. Google usually ignores the noindex in this case. Decide: either canonicalize to another URL, or remove the noindex.

How to read the result

Each URL returns the canonical found, where it came from — HTML or header — and the state. Always start with the red errors: a canonical chain voids the signal completely, so fixing a trailing-slash mismatch before that changes nothing.

Correct setup

The old URL redirects (301) to the new URL. The new URL has a self-referential canonical. Google correctly consolidates all authority into the new URL.

Incorrect setup

URL A redirects to B, but B has a canonical pointing back to A. Google enters a loop and may ignore both signals, losing all consolidated authority.

General rule: if you already have a 301 redirect, you do not need a canonical too. The 301 already consolidates signals. The canonical is useful when content must be accessible from multiple URLs without redirecting.

Frequently asked questions about the canonical tag