Non-root page canonical resolves to the site root
ShipReady found a fetched non-root page whose single supported canonical href resolved to the site's root URL without a query string.
Why it matters
A root canonical can be intentional for a true duplicate page. On a distinct page, it is a static markup signal to review because it may not represent the publisher's intended URL strategy.
How ShipReady detects it
What it inspects
ShipReady inspects a successfully fetched, readable, content-serving HTML document and resolves a supported canonical href against that fetched page URL.
What triggers a finding
The rule triggers when a non-root fetched page has one supported canonical that resolves to the site's root path with no query string. Multiple differing canonicals and cross-origin canonicals are handled by separate checks first.
What the evidence shows
The fetched page's static canonical markup resolved to the site's root URL under this rule's conditions.
Limits of this check
ShipReady does not fetch the canonical target, compare page content, determine whether the page is a duplicate, inspect every route, or establish a search engine's selected canonical, indexing, or ranking outcome.
How to fix it
Review whether the page is truly a duplicate
Confirm whether the non-root page is intentionally a duplicate of the root page or should identify itself or another intended URL as canonical.
Correct the canonical generator when needed
If the root canonical is unintended, update the template or page configuration that produces the deployed canonical href.
How to verify the change
Inspect the deployed page
Request the non-root page after deployment and inspect its final link rel=canonical element.
Expected: The canonical href matches the page's intended URL strategy.