Acquiring a new backlink from a DR 50 site usually takes weeks of outreach, content creation, or relationship building. Recovering one from a broken target on the same site takes about 90 seconds: write a 301 redirect rule, save the config, done. Same authority transfer, a fraction of the cost.
Yet most sites never audit for dead inbound URLs. We routinely find sites that have lost 30–60% of their historical link equity to slug changes, CMS migrations, and casually deleted blog posts. That is months of outreach work evaporating into 404s.
You need every URL on your domain that has ever received an inbound link. The cheapest complete source is the combination of Google Search Console (Links report → Top linked pages) plus one paid backlink index. Export all of them and dedupe into a single column.
If you only have Search Console, you will see roughly 70–80% of your real link graph. Good enough to start — you can fill the gaps later with a paid trial.
Run the deduped target list through any HTTP status checker. Free options handle 500 URLs at a time; for larger profiles, Screaming Frog in list mode is the standard. Flag everything that is not a 200 or 301-to-200.
| Status | Action |
|---|---|
200 | Healthy — ignore |
301 → 200 | Already recovered — verify destination is correct |
302 | Convert to 301 (temporary redirects do not pass full equity long-term) |
404 / 410 | Primary target for recovery |
5xx | Server issue — fix before redirecting |
| Timeout | Recrawl after 24h; if still failing, treat as 404 |
Not all broken links are equal. A dead target with a single link from a DR 20 forum is worth a few minutes of effort; one with links from DR 70+ industry sites is worth dropping everything for. Sort your flagged list descending by referring-domain DR and tackle the top 20% first — that is where 80% of the equity lives.
For every broken target, find the most topically relevant live page on your site. This is the single most important step — topical relevance is what determines whether the 301 passes full equity or gets discounted as a soft 404.
Rules of thumb:
/old-product-name → /new-product-name)Server-level redirects are faster than meta refresh or JavaScript redirects and pass equity more reliably. Pick whichever applies to your stack:
Nginx
location = /old-url/ {
return 301 https://www.example.com/new-url/;
}
Apache (.htaccess)
Redirect 301 /old-url/ https://www.example.com/new-url/
Vercel (vercel.json)
{
"redirects": [
{ "source": "/old-url", "destination": "/new-url", "permanent": true }
]
}
Cloudflare (Bulk Redirects) — best for 100+ rules; uploads via CSV.
Re-crawl every redirected URL to confirm a clean 301 chain (no double-hops to a final 200). Then add the source URLs to a monthly status monitor so the next breakage gets caught in days, not years.
Watch Search Console for two signals over the next 4–8 weeks: the redirected URLs should drop out of the Pages report, and any rankings the dead URLs used to hold should start surfacing on the destination URLs.
| Mistake | Why it hurts |
|---|---|
| Redirecting everything to the homepage | Treated as soft 404; minimal equity transferred |
| Chaining 301s through 3+ hops | Equity dilutes at each hop and Googlebot may stop following |
| Using 302 (temporary) for permanent moves | Equity transfer is delayed and discounted long-term |
| Redirecting to noindex pages | Equity flows into a dead-end; defeats the purpose |
| Skipping topical relevance check | Modern Google ignores redirects between unrelated topics |
| Forgetting to update internal links | Wastes crawl budget on unnecessary 301 hops |
Expect roughly 90–100% of the original PageRank to transfer when the redirect is topically tight, the chain is single-hop, and the destination is indexable. Most case studies show measurable ranking lifts within 30–60 days of cleanup, especially for pages that previously sat at positions 8–15 — the recovered authority is often enough to push them onto page one.