External Redirected URLs: How to Fix Internal Links
- August 19, 2025
- Redirects, External Links

What this check flags
This audit fires when your outbound external links point at URLs that answer with a 301 or 302 redirect instead of the final destination. Every one of those links makes the visitor's browser (and any crawler following the link) take an extra hop, http-to-https, a dropped trailing slash, a moved page, before landing where you actually meant to send them. It's a small tax, but multiplied across a site it adds latency, wastes a bit of crawl budget, and occasionally lands users on a page that has quietly moved on.
The real example, and the fix
The most common culprit is linking to the http:// version of a site that has long since forced HTTPS. Watch it happen:
$ curl -I http://github.com
HTTP/1.1 301 Moved Permanently
Location: https://github.com/So a link written as <a href="http://github.com"> costs every visitor a redirect hop before they reach the real page. Link to the destination the redirect points to instead:
<!-- Before: triggers a 301 hop -->
<a href="http://github.com">GitHub</a>
<!-- After: lands directly, no hop -->
<a href="https://github.com/">GitHub</a>The recipe is always the same: run curl -I against the linked URL, read the Location header, and rewrite your href to that final value. Do it once and the hop is gone for good. Chase the whole chain if there's more than one, some links redirect twice (http to https, then non-www to www) and you want the address at the very end.
Which redirects to fix, and how urgently
Not every flagged link is equally worth your time. Prioritize by redirect type and permanence:
| What curl shows | Meaning | Risk if left | Priority |
|---|---|---|---|
301 to https version | Permanent, protocol upgrade | Extra hop on every click | High, easy win |
301 to a new path | Page permanently moved | Points at stale URL that may break later | High |
302 / 307 | Temporary redirect | Destination may change; unstable target | Medium, verify intent |
| Chained (301 → 301) | Multiple hops | Compounded latency | High, link to final URL |
301 to homepage | Old deep link now dumps to / | User loses the specific page | High, find real equivalent |
That last row is the nasty one, a link that used to point at a specific article now 301s to the site's homepage because the target reorganized. The link still "works," but your visitor lands nowhere useful. Those are worth hunting down a real replacement for, not just resolving the redirect.
How to detect it
- Lighthouse / SEO crawl: a site audit lists external links returning 3xx along with the resolved destination, so you get the whole batch at once.
- curl -I: test any single link directly,
curl -I https://example.com/page. A301or302status plus aLocationheader means the link needs updating to thatLocationvalue. Add-Lto follow the full chain to the end. - DevTools Network panel: click the link with Network open and "Preserve log" on. Redirected requests show a
301/302row followed by a200row, the gap between the URL you wrote and the one that finally loaded is exactly the hop to remove.
How to fix it
- Pull the list of external links flagged as redirecting from your audit.
- For each, run
curl -ILand note the final200URL at the end of the chain. - Update the
hrefto that final URL, upgradehttptohttps, match the trailing slash, use the canonical host. - Where a link now redirects to a homepage or a 404, find the real current equivalent instead of blindly resolving the redirect.
- Re-crawl and confirm the links now resolve with a single
200.
This check is the outbound cousin of internal link hygiene, compare with redirecting external links and, for the full status-code vocabulary behind what you're seeing, the HTTP status codes reference. If you're cleaning a large batch, the redirect map generator helps you track source-to-destination pairs.
FAQ
Do external redirected links actually hurt my rankings?
Not much directly, they mostly cost your users a bit of latency and can leak a sliver of the link equity you're passing outward. The bigger reason to fix them is reliability: a link pointing at a redirect is a link that's one config change away from breaking entirely.
Is a 301 or a 302 worse to link to?
Link to neither if you can resolve them. But a 302/307 is more fragile because it's declared temporary, the destination is explicitly allowed to change. A 301 is at least a stable, permanent target. See the redirects and status codes FAQ for the full breakdown.
Should I worry about links that redirect on a third-party site I don't control?
You don't control their redirect, but you control your href. Point it at the destination the redirect resolves to today. If that destination later moves too, you'll catch it on the next crawl, that's why this is a recurring check, not a one-time cleanup.
What if the redirect goes to a completely unrelated page?
Then the resource you were citing is effectively gone. Don't silently follow it, that can send users somewhere irrelevant or spammy. Replace the link with a current, relevant source, or remove it.
How often should I re-check external links for redirects?
External targets drift, so re-run the check on a schedule, monthly for most sites, more often if you link out heavily. The web underneath your outbound links changes whether or not you're watching it.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







