Redirect chain¶
Wygard follows every hop of a redirecting URL and alerts you when the final destination, the status codes along the way, or the length of the chain stops matching the baseline.
| Scope | Tier | Default | Alert |
|---|---|---|---|
| Per URL | Basic | On for URLs that return a 3XX | 🔴 Danger |
Why it matters¶
A redirect is a promise: "this URL now lives over there." When that promise quietly breaks — the target changes, a 301 degrades to a 302, or a new hop gets inserted — link equity leaks, campaign URLs land on the wrong page, and Googlebot may give up before it reaches the destination. None of it shows on the page a visitor eventually sees, so the regression hides until rankings or referral traffic slip.
Together with the Status code test, Redirect chain is one of only two tests Wygard turns on automatically for a URL that currently responds with a 3XX. The default severity is Danger because a broken redirect silently reroutes both users and crawl signals.
What Wygard checks¶
On every run, the crawler:
- Requests the monitored URL and follows each redirect hop in order.
- Confirms the final destination matches the desired destination URL.
- Confirms each hop's status code matches the desired code (e.g. every hop is a
301, not a mix of301and302). - Detects redirect loops — a chain that never resolves.
- Enforces a hop limit — Google follows at most 5 redirects before abandoning a URL.
Common alerts¶
- Redirect final destination is not as desired — the chain still resolves, but it now lands on a different URL than the baseline.
- Redirect chain does not contain desired status codes — a hop that should be a permanent
301now returns a temporary302/307, or vice versa. - Redirect loop detected — the URL redirects back into a cycle and never reaches a final page.
Why the default is Danger
A 301 that silently becomes a 302 tells Google the move is temporary and to keep the old URL indexed — the exact opposite of what a permanent redirect is for. Danger severity surfaces the change immediately after the crawl batch instead of at the next daily digest.
Responding to an alert¶
- Open the alert and review the recorded chain — Wygard shows every hop's URL and status in the order it was followed.
- Decide whether the change was intended (you re-pointed the redirect on purpose) or accidental (a rule deployed by mistake, a target page that moved, a chain that grew a hop).
- If intended, adopt the new chain as the baseline from the alert card.
- If accidental, fix the redirect rule at its source — restore the target, change the hop back to
301, or collapse an over-long chain to a single hop. The next crawl turns the test green.
Pair it with Status code
Redirect chain watches how a URL redirects; the Status code test watches whether it should be redirecting at all. Both are enabled together on any URL that starts life as a 3XX.