sfw/fix
Redirect → 404 high

Redirect to a 404 (Dead Redirect Target)

A 301/302's destination itself returns 404, so users and crawlers hit a dead end after the hop.

What you see

curl -IL https://example.com/old-page
HTTP/2 301
location: https://example.com/new-page
HTTP/2 404
Not Found

What’s actually happening

An old URL redirects as designed, but the target it lands on returns 404. The redirect rule fires; the page it points to is gone — deleted later, mistyped, or moved again without updating the rule. Visitors following an old link or search result get bounced straight onto a Not Found page, and the link equity the redirect was meant to carry forward leaks away. It's easy to miss because the redirect itself looks healthy in a rules table; only following the hop to its end reveals the dead target.

Common causes

  • The destination page was deleted or unpublished after the redirect was created
  • A typo or stale slug in the redirect's target URL (e.g., /new-page vs /new-pages)
  • A second migration moved the target again and the original rule wasn't updated, sometimes via a chain that ends in 404
  • The redirect points to a URL on a host/path that no longer exists after a platform change
  • CMS-generated redirects survived after their target content was removed, leaving orphaned rules

How to fix it

  1. Trace the full chain to its final statusRun curl -sIL https://example.com/old-page and read the last status line. A trailing 404 means the redirect resolves to a dead target — the hop succeeds, the landing fails.
  2. Repoint the redirect at a live, relevant URLChange the rule's destination to the closest equivalent page that returns 200 — the replacement content, parent category, or a relevant hub. Don't dump everything on the homepage; that loses topical relevance and the equity transfer.
  3. Audit for broken targets in bulkCrawl your redirect map with Screaming Frog (List mode) and check the final status of every target. Filter for any chain ending in 4xx/5xx and fix each at the source rule.
  4. Collapse chains while you're in thereIf old→interim→404 shows up, point the original URL straight at the final live page in one hop. Fewer redirects, no dead ends, faster resolution.

Stop it recurring

Recheck the final HTTP status of every redirect target after each content migration or bulk delete, not just that the rule fires.

Related errors