We respect your privacy.

We use strictly necessary cookies to keep you signed in and to protect against CSRF. With your permission we also use a small amount of first-party analytics to improve the product. We do not sell your data and we do not use third-party advertising trackers. See our cookie policy and privacy policy .

← All learn topics

Rule site.canonical.target-non200

Canonical target returns a non-200 status

site.canonical.target-non200 is a check in Crawlmind's site audit that grades high-impact issues of this kind. This page explains why the rule matters and the exact fix.

Impact: highEffort: lowFixable: 1-click

Why it matters

Page A points its canonical at page B and page B returns 404, 410, or 5xx. Search engines treat this as "the URL has no canonical" and fall back to indexing the original page under its own URL: which usually defeats the reason you set the canonical in the first place. AI engines tend to skip the page entirely.

The fix

Check the target:

```sh
curl -sI https://example.com/canonical-target | head -1
```

Fix one of three ways:

1. **The target should exist.** Restore it. Often it was deleted in a content cleanup and the redirect was added but the canonical references on linking pages were missed.
2. **The target is permanently gone.** Update every page that points to it. The replacement should be the closest semantically-equivalent live URL, or the parent category page.
3. **The target returns 5xx.** Triage the underlying error. Don't paper over server errors with canonical changes: fix the 5xx.

Audit every canonical reference site-wide to catch the rest:

```sh
grep -roE 'rel=["''"]canonical["''"][^>]*href=["''"][^"''"]+["''"]' ./dist
```

References