All posts
Web design & development

Soft 404s, Redirect Chains and Broken Links: Cleaning Up Technical Debt

How to fix broken links, redirect chains and soft 404s on a marketing site, with a monthly cleanup routine that keeps technical debt from piling up again.

By Mehdi Hassan8 min read

The short answer

To fix broken links, redirect chains and soft 404s, crawl the site and check Search Console each month. Update internal links that hit 404s or redirects so they point to the final URL, collapse every chain into one direct 301, and give soft 404 pages real content, a redirect to a true equivalent or a proper 404 or 410 status.

Key takeaways

  • Fix the link, not just the redirect. Internal links should point straight to final URLs.
  • Every redirect chain can be collapsed to one hop by editing the first rule to point at the final destination.
  • Soft 404s are usually thin or empty pages, or removed pages redirected to the home page.
  • Prioritize by traffic and links: a broken URL with backlinks matters far more than one nobody visits.
  • A short monthly routine prevents the cleanup project that otherwise follows every redesign.

Technical debt on a marketing site doesn't arrive in one go. A page gets renamed and redirected. Later, a redesign moves it again. A blog post links to a feature page that was retired. An empty category page returns a 200 status. Each is small, and together they slow crawling, leak link value and send visitors to dead ends.

This guide covers how to find and fix the three most common kinds of link debt, then sets out a monthly routine that keeps them from returning. It's part of our technical SEO guide for marketing websites.

Fix broken links and redirect chains by finding them with a crawl and Search Console, then correcting them at the source. Update internal links to final URLs, rewrite redirect rules so each old URL reaches its destination in one hop and resolve soft 404s with content, a relevant redirect or an honest error status.

The order matters. Start with anything that affects pages with traffic or backlinks, because those carry the most value and visitors. Then clean up internal links sitewide, since you control them completely. Leave low-value legacy URLs for last; a 404 on a page nobody visits isn't a problem worth an afternoon.

A broken link points to a URL that returns a 404 or another error. A redirect chain is a series of redirects between the first URL and the final page. A soft 404 is a page that returns a 200 success status but looks empty or missing to Google.

Problem

What happens

Typical cause on marketing sites

Fix

Broken internal link

Link leads to a 404 page

Renamed or deleted page, typo in a slug

Update the link; redirect the old URL if it had value

Broken external link to you

Backlink hits a 404

Old URL removed without a redirect

301 the old URL to its best equivalent

Redirect chain

Two or more hops before the final page

Several redesigns or renames over time

Point the first rule straight to the final URL

Redirect loop

Redirects cycle and never resolve

Conflicting rules, often trailing-slash or host rules

Remove the conflicting rule

Soft 404

200 status, but the page looks missing

Empty categories, thin pages, mass redirects to home

Add content, redirect to a true equivalent or return 404

Google's documentation says Googlebot follows only a limited number of redirect hops, and each hop adds latency for visitors and another chance for something to go wrong. Treat any chain longer than one hop as a fix, not a tolerance.

Find them by combining a site crawl, Search Console's Pages report and your backlink tool. The crawl finds problems in your own links; Search Console shows what Google encountered; the backlink tool shows which broken URLs other sites still link to.

  • Site crawler: export internal links that return 4xx or 5xx, internal links that hit a redirect, and redirect chains with their hop counts.
  • Search Console Pages report: check not found (404), soft 404, redirect error and page with redirect.
  • Backlink tool: export your top linked pages and filter for ones returning 404. These are the highest-value fixes.
  • Platform redirect list: export all existing rules from Webflow, Framer, your host or your Next.js config so you can trace chains.
  • Old URL lists: if you kept a redirect map from a past redesign, crawl its old URLs again to confirm they still resolve in one hop.

Fix a broken internal link by editing the link to point at the right live page. Fix a broken URL that has backlinks or traffic by adding a 301 redirect to its closest equivalent. Do both when a removed page is still linked from inside and outside the site.

Internal links usually live in three places: CMS rich-text fields, navigation and footer components, and hard-coded links in templates. Search the CMS for the old slug, then check components. If your marketing team can't easily edit links in the CMS, that's a structural problem worth solving; our guide to why marketing teams can't edit the website covers the fixes. For external links to removed pages, a redirect is the only lever, so map each to the page that answers the same question, not the home page.

How do you fix redirect chains and loops?

Fix a redirect chain by changing the first redirect so it goes straight to the final destination, then removing any intermediate rule that's no longer needed. Fix a loop by finding the two rules that send URLs back and forth and deleting or correcting one.

  1. List every chain

    From the crawl, export each chain with its starting URL, every hop and the final URL.

  2. Edit the first rule

    Change the redirect for the starting URL so its destination is the final URL in the chain.

  3. Update intermediate rules

    Point every intermediate URL that still has links straight to the final URL as well.

  4. Update internal links

    Change internal links that use any URL in the chain to the final URL, so visitors skip redirects entirely.

  5. Check host and slash rules

    Make sure http to https, www to non-www and trailing-slash rules happen in a single step, not one after another.

  6. Recrawl to confirm

    Run the starting URLs through the crawler again and confirm a single 301 to a 200 page.

Chains are most common right after a migration. Our deeper guide to redirect chains and loops after a migration covers platform-specific causes.

How do you fix soft 404s?

Fix a soft 404 by deciding what the page should be. If it should exist, give it substantial, unique content. If it replaced something, redirect it to a genuinely equivalent page. If it's gone, make the server return a real 404 or 410 instead of a 200.

On marketing sites, soft 404s usually come from empty CMS category or tag pages, placeholder pages published early, filtered views with no results, and removed pages bulk-redirected to the home page or a generic hub. Google sees an irrelevant destination and treats the redirect as a soft 404 anyway. The fix for empty categories is to noindex or remove them until they have content; our blog setup guide covers how to keep categories useful. Custom 404 pages must also return a 404 status, not a 200 with a friendly message.

Hypothetical example: one month's cleanup log

For example, suppose a 120-page SaaS site runs its monthly check.

The crawl finds 14 internal links to a feature page that was renamed in a redesign, each passing through a two-hop chain. The team edits the original redirect to point straight at the new URL and updates the 14 links in the CMS. Search Console shows six soft 404s, all empty tag pages; they're set to noindex and removed from the sitemap. The backlink tool shows one 404 URL, an old webinar page, with links from several sites; it gets a 301 to the current webinar library.

The whole cycle is a single session's work, because it's done monthly instead of once a year.

A monthly routine runs the same checks in the same order: crawl, Search Console, backlinks, fix, recrawl. On a small marketing site it typically fits into a single short session, and it means a redesign or migration starts from a clean base.

  1. Crawl the site and export broken internal links, redirected internal links and chains.
  2. Open Search Console's Pages report and review new not found, soft 404 and redirect error URLs.
  3. Check backlinks to 404 pages and add 301s for any with real links or traffic.
  4. Fix internal links at the source in the CMS, components and templates.
  5. Collapse chains by editing first rules to final destinations.
  6. Resolve soft 404s with content, a relevant redirect or a real error status.
  7. Recrawl and note changes in a simple log so the next person knows what was done and why.

This kind of routine work fits naturally into an ongoing design and development retainer, where the team building new pages also keeps old ones clean. Our on-page SEO audit and internal linking strategy are good companions if you're running the routine yourself.

Frequently asked questions

Do broken links hurt SEO rankings?
A few broken links won't hurt rankings directly. They waste crawling on dead ends, lose the value of backlinks pointing to removed pages, and frustrate visitors who then leave. The real cost comes from scale and from which links break. A broken link from your navigation to a key product page matters far more than one in an old blog post.
Is a 404 error bad for my site?
No. A 404 is the correct response for a page that doesn't exist and has no replacement, and Google expects sites to have some. 404s only become a problem when they affect pages with traffic or backlinks, when your own internal links point to them, or when a page you meant to keep starts returning one by mistake.
Should I use a 404 or 410 for removed pages?
Either works. A 410 says the page is gone permanently, and Google may drop it from the index slightly faster. A 404 says it isn't found. For most marketing sites the difference is minor, so use whichever your platform supports easily. What matters more is not redirecting removed pages to unrelated pages, which creates soft 404s.
Can a free tool find broken links on my site?
Yes. Several crawlers have free tiers that cover small sites, and Google Search Console is free and shows the not found and soft 404 URLs Google has encountered. Free browser extensions can check links on a single page. For sites over a few hundred URLs, or for tracing redirect chains in bulk, a paid crawler saves a lot of time.
What causes redirect loops?
Redirect loops usually come from two rules that undo each other, such as one adding a trailing slash and another removing it, or a host rule at the CDN conflicting with one in the platform. They also happen when a page is redirected to a URL that itself redirects back. Browsers show a too many redirects error, and crawlers abandon the URL.

· CEO & Design Director

Copywriter, designer and developer, and founder of Designify Studio. Over five years, 60+ projects across 14+ industries, for startups that have raised $300M+.

Want this done for you? Monthly retainer, $6,000.

Your ongoing design and development team, for products that keep shipping. $6,000, per month, flat fee. Book a free 30-minute call to see if it fits.

Schedule Call