/ โ† Backlink Fixes / Broken Backlinks
In this guide
  1. Broken, lost and internal: three different problems
  2. Where to find them
  3. Restore, redirect or let it go
  4. Writing the redirects on common platforms
  5. The fix, step by step
  6. After a redesign or migration
  7. Stopping links breaking again
  8. Questions and answers

Broken, lost and internal: three different problems

Backlink reports use similar words for different things, and each needs a different fix. It helps to be precise before you start.

FindingWhat has gone wrongWho fixes it
Broken inbound link (this guide)The link still exists on the other site, but the address it points to on your site returns an error.You, on your own server, usually with a redirect.
Lost backlinkThe link has been removed from the other site, or the page containing it has gone.The other site owner, after you ask.
Broken internal linkA link from one of your own pages to another of your own pages is dead.You, by editing the link in your content.

The distinction matters because a redirect only helps when the link still exists. If a report shows a link as lost, redirecting your URL achieves nothing until the other site puts the link back.

How these links break

Where to find them

The Backlink Tools

The Backlink Tools identify inbound links that point to broken pages on your site. Export that list first: it pairs each dead target URL with the sites linking to it, which is exactly what you need to prioritise.

Search Console Links report

In Search Console, open Links, then Top linked pages under external links, and export it. This lists the pages on your site that Google knows have external links, including pages that no longer exist. Put the addresses into a status checker, or run the short loop below, and filter for anything that is not a 200 or a single redirect. Separately, the Page indexing report lists URLs returning "Not found (404)", but it does not say which of them have links, so use it only as a cross-check.

while read url; do
  printf "%s %s\n" "$(curl -s -o /dev/null -w "%{http_code}" "$url")" "$url"
done < top-linked-pages.txt | grep -v "^200"

Server access logs

Logs catch what link tools miss, because they record real visitors arriving from other sites. Search for 404 responses that have an external referrer. Each result is a broken link someone actually clicked.

awk '$9 == 404 && $11 !~ /example\.co\.uk/ && $11 != "\"-\"" {print $7, $11}' /var/log/nginx/access.log \
  | sort | uniq -c | sort -rn | head -30

The field numbers suit the common combined log format; adjust them if your server logs differently. On Plesk, cPanel and most managed hosts, the same logs are downloadable from the hosting panel.

๐Ÿ’ก Prioritise by number of linking domains, then by how relevant and genuine those sites are. One dead URL linked from twenty real sites matters far more than twenty dead URLs with a single scraper link each.

Restore, redirect or let it go

Every dead URL with links needs one of three outcomes. Make the decision per URL, not in bulk.

ChooseWhenExample
Restore the pageIt was removed by mistake, or the content is still accurate and people are still linking to it for a reason.A popular guide deleted during a tidy-up that you still have in a backup.
301 redirectA current page covers the same topic or serves the same need, so a visitor following the link would be satisfied.An old /services/boiler-repair page now covered by /heating/boiler-servicing-and-repair.
410 Gone, or leave the 404Nothing on the site is a sensible match and the content should not return.A discontinued product with no replacement, or a legal notice withdrawn on advice.

Why not send everything to the homepage?

Redirecting every dead URL to the homepage is tempting because it clears the report in one rule. It does not help visitors, who clicked for something specific and land somewhere generic, and Google may treat a redirect to an unrelated page as a soft 404, which means the link gets little or no value. A redirect earns its keep only when the destination is a genuine substitute.

If the closest match is a category rather than a page, that can be reasonable: a deleted product might redirect to the category it belonged to, which still answers "where can I buy something like this?". If no match is even close, a clear 404 or 410 page with search and navigation is the more honest answer.

Writing the redirects on common platforms

Apache and .htaccess

# One-to-one redirects for URLs with inbound links
Redirect 301 /services/boiler-repair /heating/boiler-servicing-and-repair
Redirect 301 /blog/2021/05/winter-heating-tips /insights/winter-heating-tips

# Pattern redirect after a blog structure change
RewriteEngine On
RewriteRule ^blog/\d{4}/\d{2}/(.+)$ /insights/$1 [R=301,L]

nginx

location = /services/boiler-repair { return 301 /heating/boiler-servicing-and-repair; }
location ~ ^/blog/\d{4}/\d{2}/(.+)$ { return 301 /insights/$1; }

Reload with sudo nginx -t && sudo systemctl reload nginx so a typo does not take the site down.

WordPress

A redirect plugin such as Redirection lets you add source and target URLs without touching server files, and it logs 404s so you can see new broken inbound links as they are clicked. If your host offers server-level redirects, those are faster, but the plugin is fine for a few hundred rules. Avoid adding the same rule in both places.

Shopify

Shopify has a URL redirects screen in the admin; search the admin for "URL redirects" if you cannot find it in the navigation settings. You can add redirects one at a time or import a CSV with Redirect from and Redirect to columns. Shopify only applies a redirect when nothing exists at the old address, so it will not override a live product or page. Paths must start with a slash and must not include the domain in the "from" column.

Cloudflare and other CDNs

If traffic runs through Cloudflare, single redirects and bulk redirect lists can be set at the edge, before requests reach your server. This suits old domains and subdomains that no longer have hosting of their own. Keep a single record of where each rule lives so you do not create chains between the CDN and the origin.

Static sites and frameworks

Netlify reads a _redirects file, Vercel reads redirects in vercel.json, and Next.js supports a redirects() function in its config. Make sure these return a real 301 or 308 status, not a client-side JavaScript redirect, which link crawlers may not follow.

The fix, step by step

Step 1

List inbound links that land on error pages

Export the broken inbound link list from the Backlink Tools, the Top linked pages export from the Search Console Links report, and any 404 hits with an external referrer from your access logs. Merge them in a spreadsheet with one row per dead URL on your site, a column counting linking domains, and a column listing the best example linking page. This single list becomes your work queue for everything that follows.

Step 2

Confirm the live status of each target URL

Link data can be weeks old, so check each address now with curl -sI or a bulk status checker. Remove rows that already return 200 or already redirect correctly in one hop. Watch for soft 404s, where the server returns 200 but shows a "page not found" message, and for addresses that redirect to the homepage, because both are broken from the linking visitor's point of view and need the same treatment as a real 404.

Step 3

Choose restore, redirect or 410 for each URL

Open the linking page for each dead URL to see what the link was promising, then pick the outcome. Restore content that was removed by mistake or is still accurate. Redirect with a 301 when a current page genuinely serves the same need. Return 410 or leave a helpful 404 when nothing matches. Write the chosen target next to each row, and do not default to the homepage just to empty the list.

Step 4

Write the redirects on your platform

Add the rules where your site handles redirects: .htaccess or the virtual host on Apache, a location block on nginx, a redirect plugin on WordPress, the URL redirects screen or CSV import on Shopify, or the config file on a static host. Point every rule straight at the final address so no chain is created, and keep a copy of the rules in version control or a shared document.

Step 5

Handle mistyped and malformed inbound links

Look through the list for addresses that never existed: misspellings, uppercase letters, a trailing full stop or bracket, doubled slashes or a missing file extension. If a real site with real visitors links to one, add a 301 from that exact broken form to the correct page. Only do this for links that matter, because redirecting every random typo from scraper sites adds rules without adding value.

Step 6

Test every redirect as a visitor would arrive

Run curl -sIL on each old address and confirm a single 301 or 308 hop to a page returning 200. Test the http and www variants too, since links often use them. Then click through from two or three real linking pages in a private browser window. Finally check that the redirect target is indexable, with no noindex tag and a canonical tag pointing at itself.

Step 7

Ask for updates on your most valuable links

For the handful of strongest, most relevant sites, send a short note giving the new address and thanking them for the link. A direct link is cleaner than a redirect and survives any future change on your side. Keep the message brief and specific: the page, the old link and the new one. For everything else, the redirect is enough and nobody needs to be contacted at all.

After a redesign or migration

Most large batches of broken backlinks arrive after a site rebuild, a platform change or a domain move. The redirect map was either never made or only covered the pages someone remembered. If you are in that position:

  1. Recover the old URL list. Use an old XML sitemap, a crawl from before the move, the Wayback Machine, Search Console's Top linked pages export and your analytics landing page report for the months before the change.
  2. Map by pattern first. If the old blog used dates in the path and the new one does not, a single pattern rule may cover hundreds of posts. Then handle the exceptions one by one.
  3. Put linked pages at the top. Pages with external links and pages that received search traffic deserve individual mapping; the long tail can follow patterns or go to 404.
  4. Keep old-domain redirects running. If you moved domains, the old domain has to keep redirecting for as long as links point to it, which usually means keeping the domain registered indefinitely.
โš ๏ธ Letting an old domain expire after a move does more than break links. Someone else can register it and serve anything they like to the people still following those links.

Redirect chains are the other common legacy. If /page-a redirected to /page-b in the last redesign and /page-b now redirects to /page-c, update the first rule to point at /page-c directly.

Stopping links breaking again

Questions and answers

1. Do 301 redirects pass the value of a backlink?

Google has said that 301 and 308 redirects pass ranking signals to the destination, so a relevant redirect keeps most of the benefit of a link pointing at an old address. The important word is relevant. A redirect to a page that does not match what the link was about, especially a blanket redirect to the homepage, may be treated as a soft 404 and pass little or nothing. Redirect each linked URL to its closest genuine equivalent.

2. Should I redirect all 404 pages to my homepage?

No. It clears the error report but frustrates visitors who clicked for something specific, and Google may treat redirects to an unrelated page as soft 404s, so the links lose their value anyway. Redirect a dead URL only when a current page truly replaces it. When nothing matches, let it return 404 or 410 and make your error page useful, with search, main categories and a way to contact you, so visitors can still find what they wanted.

3. What is the difference between a 404 and a 410?

Both tell visitors and search engines the page is not available. A 404 means not found, with no statement about whether it might come back. A 410 means gone, deliberately and permanently. Google has said it treats them very similarly, though a 410 may be dropped from the index slightly faster. For broken backlinks the choice between them matters much less than the choice between either of them and a relevant redirect, which is the only option that keeps the link useful.

4. How long should I keep redirects in place?

For URLs with external links, keep them indefinitely. The links on other sites do not update themselves, and people will keep clicking them for years. Google has said a redirect should stay for at least a year for search engines to transfer signals, but that is a minimum for indexing, not a reason to remove them. A few hundred redirect rules cost almost nothing to run, while removing them breaks every link that relies on them.

5. Why does my backlink tool still show a link as broken after I added a redirect?

Backlink tools rely on their own crawl, so they only notice the fix when they next visit the linking page and follow the link to your site. That can take days or weeks. Check the address yourself with curl or a status checker; if it returns a single 301 to a live page, the fix is working. Also confirm the tool is testing the exact address, since http, www, uppercase and trailing slash variants each need to redirect.

6. Can I fix broken backlinks on Shopify or Wix without a developer?

Yes. Shopify has a URL redirects screen in the admin where you enter the old path and the new one, or import a CSV of many at once. Wix, Squarespace and most hosted builders have a similar redirect manager in their SEO settings. The main limits are that the old path must not still exist as a live page, and some platforms restrict pattern-based rules, so large structural changes may need each URL listed individually.

7. Is it worth asking the linking site to update the link?

For your most valuable links, yes. A direct link avoids the extra hop, keeps working if you change your redirect rules later, and gives you a reason to reconnect with a site that already likes your work. For the long tail it is not worth the time, because a correct redirect already sends visitors and signals to the right place. Send short, specific messages and never make the redirect conditional on the site updating anything.

Find links landing on dead pages

The Backlink Tools pull your live link profile and identify inbound links that point to broken pages on your site, so you can see which dead addresses still have links and fix the most valuable first.

Open Backlink Fixes โ†’
๐Ÿ’ฌ Got a problem?
Related Guides: All Backlink Fixes  ·  Migration Redirects  ·  Redirect Chains  ·  Link Reclamation  ·  Learning Hub

About aiwebpageseo

aiwebpageseo.com is a data-driven SEO and AEO (Answer Engine Optimisation) platform providing a free suite of technical SEO tools. Rather than relying on AI-theorised assumptions, the platform analyses live URL performance, delivering objective diagnostics, page speed metrics, CLS debugging, and site crawl data alongside actionable technical tutorials.