The page declares no canonical URL
What this check looks for
There is no <link rel="canonical"> on this page. Search engines will choose which version of the URL to show, and their choice may not be the one you would make.
Why it matters
The same page is usually reachable at several URLs — with and without www, with and without a trailing slash, with tracking parameters attached. Without a canonical, search engines pick one, and the ranking signals from links to the others may not all consolidate onto it.
When the check passes, your report says: “The page declares the canonical URL it wants indexed”.
What it costs your score
When this check fails it removes 6 points from your SEO score, before the status, confidence and repeat multipliers are applied. SEO carries a weight of 5 in the overall score.
It shares the seo.canonical family ceiling of 20 points: however many findings that family produces, together they cannot remove more than that from SEO. One underlying problem showing up in several places is still one problem.
- Severity
- low
- Default confidence
- confirmed
- Status when triggered
- warn
- Deduction
- 6 points
- Family cap
- seo.canonical · 20
- Category
- SEO
- Module
- Seo audit
- Fix owned by
- user
- In the ruleset since
- 2026.09
How to fix it
Add a self-referential canonical with the absolute URL of the page.
It consolidates the ranking signals from every variant of the URL onto the one you want shown.
Add
<link rel="canonical" href="…">to the<head>, with the page's full absolute URL.Generate it from the page's own route rather than hard-coding it, so it stays correct as URLs change.
Use the same scheme, host and trailing-slash convention your redirects settle on — a canonical pointing at a URL that redirects wastes the hint.
Do not add one to paginated pages pointing at page one; each page of a series is its own canonical.
How to confirm it worked
curl -sS ‹url› | grep -i 'rel="canonical"' — should show the page's own absolute URL
A named slot like ‹domain› — and the braces left in the configuration below — is filled in with your own values when this rule appears on a report.
Remediation by platform
<link rel="canonical" href="https://example.com/page/">Absolute, including the scheme and host. A relative href is resolved against the document base, which produces a different canonical depending on the path the page was served from.
Technical detail
No canonical was found, in either the document (<link rel="canonical">) or the Link response header (RFC 8288).
A canonical is a *hint*, not a directive — Google states it may choose a different URL when the evidence disagrees with the declaration — but it is the strongest hint available, and a page with none gives the algorithm nothing to work from beyond its own inference.
**The self-referential canonical is the default worth having.** Every page declaring itself canonical is unambiguous, is what most content management systems do, and costs nothing. It also makes parameterised versions of the URL — ?utm_source=…, a session id, a sort order — resolve back to the clean URL automatically.
Use an absolute URL. A relative canonical is legal and is resolved against the document's base, which means a page served at two different paths declares two different canonicals.
This is about which *URL* is canonical. Which *host* is canonical — whether www and the apex both answer, and which redirects to which — is a redirect question and is reported by the redirect checks.
Standards and references
Test this on your domain
Run the check that produces this finding, on its own, against any domain.
Other seo audit checks
- The page declares more than one canonical URL
- The canonical URL cannot be used
- The canonical URL points at a different page
- The page has no h1 heading
- The heading levels skip a level
- The page has more than one h1
- An hreflang annotation is not valid
- The hreflang set does not include this page
- The page's declared language is not a well-formed language tag
- The page does not declare what language it is written in
- Images on the page have no alt attribute
- robots.txt blocks this page from being crawled