External Redirected URLs: How to Fix Internal Links

No Comments
External redirected urls: how to fix internal 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 showsMeaningRisk if leftPriority
301 to https versionPermanent, protocol upgradeExtra hop on every clickHigh, easy win
301 to a new pathPage permanently movedPoints at stale URL that may break laterHigh
302 / 307Temporary redirectDestination may change; unstable targetMedium, verify intent
Chained (301 → 301)Multiple hopsCompounded latencyHigh, link to final URL
301 to homepageOld deep link now dumps to /User loses the specific pageHigh, 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

  1. Lighthouse / SEO crawl: a site audit lists external links returning 3xx along with the resolved destination, so you get the whole batch at once.
  2. curl -I: test any single link directly, curl -I https://example.com/page. A 301 or 302 status plus a Location header means the link needs updating to that Location value. Add -L to follow the full chain to the end.
  3. DevTools Network panel: click the link with Network open and "Preserve log" on. Redirected requests show a 301/302 row followed by a 200 row, the gap between the URL you wrote and the one that finally loaded is exactly the hop to remove.

How to fix it

  1. Pull the list of external links flagged as redirecting from your audit.
  2. For each, run curl -IL and note the final 200 URL at the end of the chain.
  3. Update the href to that final URL, upgrade http to https, match the trailing slash, use the canonical host.
  4. Where a link now redirects to a homepage or a 404, find the real current equivalent instead of blindly resolving the redirect.
  5. 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.

Subscribe to our newsletter!

More from our blog