Get your audit
Audit finding

Missing Canonical Tag

Every URL that serves the same content is a vote split. The canonical tag is how you tell search engines which one counts.

Check your site

What it means

The page has no <link rel="canonical">, or it has one that points somewhere unhelpful — a redirect, a 404, a different hostname, a paginated parent, or in the worst and surprisingly common case, staging. Absent canonicals and wrong canonicals are different findings with very different consequences.

Why it matters

Most sites serve the same page at more than one URL without meaning to: with and without www, HTTP and HTTPS, with and without a trailing slash, with tracking parameters attached, with a session ID, in a print view. Search engines have to choose one to index, and without a canonical they choose for you — sometimes picking the parameterised variant with no internal links pointing at it. Signals that should have accumulated on one URL are split across several.

A wrong canonical is worse than a missing one. A canonical pointing at staging or at a retired page is a request to remove the real page from the index, and it is usually honoured.

How W3Audit detects it

Every audited URL has its canonical recorded from the delivered HTML and from the HTTP header, then validated: present, absolute, self-referencing where it should be, on the preferred hostname and protocol, resolving to a 200, and consistent with what robots directives and the sitemap say about the same URL. Conflicts between those signals are reported explicitly, because that combination — canonical says one thing, sitemap another — is what usually causes pages to disappear.

How severe it is

High when missing on templates that generate URL variants. Critical when a canonical points at a non-indexable, redirecting or non-existent URL, since it actively removes working pages from search. Medium on pages with no variants and no parameters at all, where the tag is good hygiene rather than load-bearing.

How to fix it

Give every indexable URL a self-referencing canonical using the absolute, preferred form. Point variants at the canonical version, not at each other.

<!-- on https://w3audit.com/seo-audit/ -->
<link rel="canonical" href="https://w3audit.com/seo-audit/" />

<!-- on the parameterised variant: point at the clean URL -->
<!-- https://w3audit.com/seo-audit/?utm_source=news -->
<link rel="canonical" href="https://w3audit.com/seo-audit/" />

Enforce one hostname and one protocol with 301 redirects at the server as well, and make sure the canonical, the sitemap entry and the internal links all use the identical string. Canonical tags are a hint; redirects are an instruction, and agreeing signals get honoured far more reliably than a canonical fighting a redirect.

How to verify the fix

Fetch each URL variant and confirm it either redirects to the canonical form or declares it. Re-crawl and check that every canonical resolves to a 200 on the preferred host, with no chains. Then confirm the indexed URL in Search Console matches the canonical you declared — if it does not, something else is contradicting the tag.

Where this sits in your audit

This finding belongs to the Technical & crawlability category — see the technical & crawlability audit for everything else reviewed alongside it, or the methodology for how its severity and score contribution are calculated. The website audit checklist includes it as a step you can run yourself.

Get started

Find out whether your site has this problem

A 32-point audit, a severity-ranked report and a live one-hour readout. $2,500 flat.

Request your audit