IndexDoctor.io
Canonical

Canonical points to a redirected URL

Canonical tags should point at a URL that returns 200. Redirect targets hide the real canonical behind an extra hop.

What this usually means

Page A declares a canonical URL. When a crawler follows that URL, it does not return 200, it redirects (301, 302, or meta refresh) to Page B. Google has to follow the redirect to find the real canonical, and the canonical signal gets diluted or misinterpreted along the way.

Why it matters

Canonical consolidation works best when the canonical target is the final, stable URL. A redirecting canonical adds ambiguity: the crawler is told "treat this URL as canonical" but then the server replies "actually use that URL instead." If the final target disagrees with anything else on your site (internal links, sitemap entries), Google may pick a different canonical than you intended.

Common causes
  • A migration changed URL structure but left canonicals pointing at legacy paths.
  • Canonicals are generated from an internal slug and do not account for trailing-slash or protocol redirects.
  • Staging-to-production migrations left canonicals pointing at the staging domain, which now redirects to production.
  • Marketing URLs (with tracking parameters) are canonicalized, and the server redirects them to clean URLs.
  • Case-sensitive URL handling causes the canonical to redirect to a lowercased version.
How to diagnose it
  1. Open Canonical Checker and paste the page URL.
  2. Read both the HTML canonical and the Link header canonical.
  3. Follow the target URL through Redirect Chain Checker.
  4. If the chain has any hops, that is the ambiguity you want to remove.
  5. Also confirm the final URL of the chain is 200 and not itself redirected somewhere else.
How to fix it
  1. 1

    Canonicalize to the final URL directly

    Read the end of the redirect chain and update your canonical to that URL. The canonical target should always return 200.

  2. 2

    Use absolute URLs

    Canonicals should be absolute, with the correct protocol and host, and match the final URL exactly (slashes, case, trailing slash).

  3. 3

    Keep HTML and header canonicals in sync

    If both layers exist, they must point at the same final URL. Conflicting canonicals are treated as noisy signals.

  4. 4

    Shorten the redirect chain

    If the canonical target must keep redirecting for some reason, flatten the chain to a single hop. Long chains dilute link equity and confuse consolidation.

  5. 5

    Re-test after deploy

    Run Canonical Checker again and confirm the resolved canonical is 200 directly.

FAQ
Is a canonical to a redirect bad?

Yes, in most cases. Google usually follows the redirect and ends up treating the final URL as the real canonical, but the extra hop is a waste of crawl budget and a potential source of signal loss. Point at the final URL directly.

Should canonical be absolute?

Yes. Use absolute URLs with the correct scheme (https), host, and path. Relative canonicals combined with redirects are a common source of subtle bugs.

How do redirects affect canonical signals?

Every redirect hop is an opportunity for ambiguity: different status codes, different content types, and different final URLs. Google prefers canonicals that already point at a 200 target so consolidation is unambiguous.

Related fixes

Ready to diagnose your URL?

Canonical Checker runs the exact checks discussed above.

Run Canonical Checker