ShipDR works best on desktop.

Free Canonical Checker

Reads the canonical URL from both places it can live: the tag in the HTML and the Link response header that view-source never shows. Then it says what the value actually means for the page you are on.

What a canonical is deciding

The same content is nearly always reachable at more than one URL. Add a tracking parameter and you have a second address; serve the page with and without a trailing slash and you have a third; let a category filter build URLs and you have hundreds. To a search engine these are separate pages carrying identical content, and something has to decide which one belongs in the index. The canonical is you making that decision instead of leaving it to be inferred.

The part that matters for backlinks is what happens to the signals. Google consolidates onto whichever URL it settles on, so links pointing at any of the duplicates end up crediting the canonical. That is the mechanism working as intended, and it is also how a canonical set carelessly sends the credit for your backlink to a page you did not choose.

The five answers, and what each one costs you

This is how the checker classifies a page, and why the states are not interchangeable:

Self-canonical

The page names itself. The ordinary, safe answer for most pages: ambiguity from parameters and duplicate paths is settled before it can start.

Points elsewhere, same site

The page is asking Google to index a different URL of yours instead. Correct for a parameterised or paginated variant. On a page you are trying to rank, or one carrying a backlink you earned, it is quietly handing both away.

Points elsewhere, different domain

Cross-domain. Legitimate when you syndicate your own content to another site and want the original to win. Anywhere else it is a serious mistake, and it survives for a long time because nothing about the page looks broken.

Conflicting

Two or more different canonicals, whether both in the HTML or one in the HTML and one in a Link header. Google’s documented response is to ignore all of them, so the page ends up with no canonical at all, held by someone who thinks it has one.

Missing

Nothing declared. Not an error: Google will choose, and often chooses what you would have. It is simply a decision you have delegated, and on a page reachable by several URLs that delegation is where the surprises come from.

The Link header nobody looks at

A canonical does not have to be a tag. It can arrive as a response header: Link: <https://example.com/real>; rel="canonical", which carries exactly the same weight and is completely invisible to view-source. It is standard for PDFs and other non-HTML files, and it also turns up on ordinary pages because a platform, proxy or CDN rule put it there.

This is the same shape of problem as the X-Robots-Tag header on the noindex checker: the decision is being made in the response rather than the document, so the person reading the markup concludes nothing is set. This tool reads both and labels which place each value came from, which also makes the nastiest version visible: a tag and a header that disagree, cancelling each other out.

Where this bites a backlink

Most canonical advice is written for your own site. The case worth adding, because nobody writes about it, is the page on someone else’s site that carries a link to you:

None of these show up in a rel check, and none of them show up in a noindex check. It is a third way for a backlink that looks perfect to be worth less than it appears, which is the reason this page exists rather than being a line in a general audit.

Getting canonicals right, briefly

Absolute URLs

Relative values are legal and resolved against the page, and this checker resolves them for you. Absolute ones remove any question about what they resolved to.

One per page

Including headers. If a platform adds one you did not, you now have two.

Point at a page that answers 200

A canonical aimed at a redirect, a 404, or a noindex page is a signal Google has good reason to discard.

No chains

A canonicalizing to B while B canonicalizes to C is a chain, and chains get ignored. Point everything at the final URL directly.

Keep og:url in step

Different consumers, so a mismatch breaks nothing, but they disagreeing is usually a sign one of them was never updated. This checker mentions it when they differ.

Honest limits

This reads what the page declares. It does not tell you which URL Google actually chose, because only Google knows that and only Search Console reports it (the URL Inspection tool shows the declared and the selected canonical side by side; when they differ, that is your answer). It also does not fetch the canonical target to see whether it resolves, and it does not follow chains. What it does is remove every case where the problem was visible in the page all along and simply nobody had read both places it can hide.

For the rest of the head, the meta tag checker reads titles, descriptions and the social tags in one pass.

A canonical is one line. Your backlinks are a moving target.

Checking a page today tells you what it declares today. Directories rebuild templates, change canonicals and prune listings without telling anyone. ShipDR reads every listing you track on a schedule and reports the day the answer changes.

  • Every listing rechecked on a schedule, not once
  • Live, dofollow and indexable, read from the page itself
  • Told the day a backlink drops or flips

Adding a website and charting its Domain Rating is free, no card. The backlink engine is $10 once, per website, with no subscription.

Fair questions

What does a canonical tag do?

It names the URL you consider the real one for a piece of content. When the same page is reachable at several addresses (with and without a trailing slash, with tracking parameters, at a print URL), the canonical tells search engines which address to index and which to fold into it. Google treats it as a strong hint rather than an order, so it is a vote you cast, not a switch you throw.

Should every page have a self-referencing canonical?

It is the safe default and costs nothing. A page that names itself removes the ambiguity created by parameters and duplicate paths before it can start. Google can choose a canonical without being told, and often chooses correctly, but a self-reference means you are not relying on that.

What happens if a page has two canonicals?

Google ignores both. Conflicting canonicals are treated as no signal at all, so a page with two is in the same position as a page with none, except that whoever added them believes the matter is settled. This checker reports the conflict explicitly for that reason, including the case where one comes from the HTML and the other from a Link header.

Can a canonical be sent as an HTTP header?

Yes, as a Link header with rel="canonical", and it carries exactly the same weight as the tag. It is common for PDFs and other non-HTML files, and it is a frequent source of confusion because view-source shows nothing: the page looks like it has no canonical while it very much does. This tool reads both places and labels which one a value came from.

Does a canonical pass backlink value?

Broadly yes: Google consolidates signals, backlinks included, onto the canonical URL. That is the useful half. The half worth watching is that it works even when you did not intend it, so a directory that canonicalizes its listing pages to a category page has quietly redirected the credit for your backlink somewhere else, while the listing still looks perfectly normal to you.

Is a canonical the same as a 301 redirect?

No. A redirect moves the visitor and the crawler; nobody can reach the old URL any more. A canonical leaves both URLs reachable and expresses a preference about indexing. Use a redirect when the other URL should not exist, and a canonical when it must keep working (a parameterised version, a syndicated copy) but should not compete.

The canonical looks right, so why is Google indexing a different URL?

Because it is a hint, and Google overrides it when the evidence disagrees: an internal linking pattern that points overwhelmingly at the other URL, a sitemap listing the other one, a canonical chain, or a canonical pointing at a page that redirects or is noindex. Search Console reports the chosen canonical alongside the declared one, and that pair is where the argument becomes visible.