← All checks
SEO & AI Visibilitymediumcanonical-conflicting

Fetched page declares multiple differing canonical URLs

ShipReady resolved the page's supported canonical hrefs and found more than one distinct URL identity.

Why it matters

Multiple canonical declarations are a page-level markup inconsistency to review. The condition does not show how a search engine will interpret, select, or rank the page.

How ShipReady detects it

What it inspects

ShipReady reads supported canonical link hrefs from a successfully fetched, readable, content-serving HTML document and resolves relative hrefs against the page URL.

What triggers a finding

The rule triggers when resolved canonical URLs differ after normalizing scheme, host, trailing slash, and query for comparison. Equivalent duplicate tags do not trigger.

What the evidence shows

The fetched document contained supported canonical hrefs that resolved to more than one URL identity under ShipReady's bounded comparison.

Limits of this check

ShipReady does not fetch the target URLs, compare content, inspect templates across the site, or establish which canonical a search engine will choose or any indexing/ranking result.

How to fix it

Identify the source of each declaration

Review framework metadata, layouts, CMS plugins, and page templates to determine why more than one canonical is emitted.

Emit one intended canonical

Configure the page to render one canonical URL consistent with the intended URL strategy, then inspect the final deployed HTML.

How to verify the change

Inspect the deployed canonical links

Request the page and list its final link rel=canonical href values after rendering.

Expected: The page emits one intended canonical URL identity.

Related checks