Hreflang alternate declares a different canonical URL

In the reportHreflang alternate canonicalizes to a different URL

hreflang_target_canonicalized_elsewhere · Issue

Short answer

The alternate responds successfully but names a different canonical. Align the hreflang target and the intended canonical page, then recheck the same declared address.

Severity: High. Resolve the incompatible alternate relationship soon.

Why it matters

The language relationship and the preferred-page signal point to different addresses.

What to do

  1. Inspect the alternate’s own response and the canonical URL shown in the finding.
  2. Choose the intended localized canonical page and make its self-canonical and hreflang declarations agree.
  3. Keep a deliberate cross-domain canonical only when it matches the intended indexing design.

What we read

The audit reuses this run’s admitted page and canonical-target captures, then selects at most 20 additional distinct HTTPS alternates across internal and external hosts. Requests use the shared robots, safety, pacing and redirect controls. A probe is not a billed page. The captured terminal document is parsed once; JavaScript and foreign sitemaps are not read.

Only a 2xx answer at the declared alternate qualifies. HTML uses captured head and Link-header canonicals; another media type uses the Link header alone. The complete channel must contain exactly one distinct normalized URL other than the target.

No canonical or a self-canonical is clean. Multiple distinct canonicals or incomplete evidence remain unknown. An alternate that redirects is not applicable here; the terminal status is assessed separately.

The finding yields to the source-canonicalized owner only when that owner is selected and the target is an admitted page with the same eligible complete facts and required reference inputs. A pending owner, probe or incomplete page does not suppress the target finding.

Example & evidence

Illustrative example — declared addresses and responses, not a live audit.

A declares B as an alternate. B returns 200 and canonical C.

Correction: declare the intended canonical alternate, or make B self-canonical when appropriate.

Confirm & check again

Check for yourself: Read B’s captured canonical declarations, including physical Link headers; distinguish B’s own answer from a redirected terminal page.

Check again: Full audit — Run another audit of the same declared target and its declaring pages. A sufficient clean check can fix the same target finding. If the declaration disappears, every previously affected page needs complete HTML, HTTP Link and own-sitemap coverage, a well-formed target set and agreeing admitted aliases. Missing, malformed or unread evidence carries the finding.

Limits & sources

This is the declared canonical signal, not proof of the canonical selected by a search engine. It does not decide whether two documents are duplicates.

A refused, over-budget, failed or unread target remains unknown. Different or unread admitted aliases qualify declaration completeness; their declarations are never merged into the representative page. These observations do not establish Google’s indexing or chosen canonical.

Confidence: High High for the retained response or declarations that directly establish this defect. Coverage gaps remain separate and never count as a clean result.

Sources

Editorial review: 3 November 2026