Skip to content

Redirect chain

A redirect chain is when one URL redirects to another URL that then redirects again: A → B → C. Each additional hop costs crawl budget, adds latency, and loses a portion of link equity. Orino flags any request path with more than one redirect hop.

Chains usually form when a page is moved twice and the intermediate redirect is never cleaned up.

Identify the full chain, then update the source to point directly to the final destination.

First, trace the chain:

Terminal window
curl -IL --max-redirs 10 https://yourdomain.com/old-path

Take the final Location: URL and update your redirect rules to skip the middle steps.

In vercel.json, point the source directly to the final destination:

{
"redirects": [
{
"source": "/old-path",
"destination": "/final-destination",
"permanent": true
}
]
}

Remove any intermediate redirect entry that was pointing to /old-path.

In netlify.toml:

[[redirects]]
from = "/old-path"
to = "/final-destination"
status = 301

In next.config.js:

module.exports = {
async redirects() {
return [
{
source: '/old-path',
destination: '/final-destination',
permanent: true,
},
]
},
}

Remove any previously-added redirect that pointed from /old-path to an intermediate URL.

location = /old-path {
return 301 /final-destination;
}

Check that the path resolves in a single hop:

Terminal window
curl -IL --max-redirs 5 https://yourdomain.com/old-path

You should see one 301 response followed by a 200. Re-run orino audit to confirm the check passes.