How To Find And Fix Broken Internal Links

How To Find And Fix Broken Internal Links

Why Broken Internal Links Are a Silent SEO Killer

Broken internal links are one of those website problems that quietly drain your rankings, frustrate your visitors, and waste your crawl budget, all without setting off any obvious alarms. If you want to fix broken internal links the right way, you need a repeatable process, not a one-time patch job. According to a 2023 study by Semrush, websites with significant crawl errors, including broken links, saw up to 22% lower organic traffic compared to technically clean sites. That number alone should make link health a weekly priority.

This guide walks you through exactly 10 steps to find, audit, and repair broken internal links. Whether you manage a small blog or a large ecommerce store, these steps apply directly to your situation.

⚡ Key Takeaways

  • Broken internal links cause 404 errors that block Googlebot from crawling your site efficiently.
  • Tools like Screaming Frog, Ahrefs, and Google Search Console can identify broken links at scale.
  • A 301 redirect is the correct fix when a page has moved permanently; removing the link is better when the page no longer exists.
  • Internal link audits should be scheduled at minimum once per quarter for most websites.
  • Anchor text quality matters as much as link destination when rebuilding broken links.
  • Broken links on high-traffic pages cost you more than those buried in old blog posts.
  • Fixing broken internal links directly improves crawl budget, PageRank flow, and bounce rate.

1. Understand What a Broken Internal Link Actually Is

Before you can fix anything, you need a precise definition. A broken internal link is a hyperlink on your own website that points to a page within the same domain but returns an error, most commonly a 404 (Not Found) response. This happens when a page is deleted, its URL is changed without a redirect, or a typo was made when the link was originally created.

It is important to distinguish this from broken external links, which point to third-party domains. Both matter for SEO, but broken internal links are entirely within your control and are quicker to fix. A 404 error tells both search engine crawlers and real visitors that the destination does not exist. For Googlebot, this means a dead end in your site’s link graph, which reduces the efficiency of your crawl. For users, it means frustration and a likely exit from your site.

There are also soft 404s, where a page technically loads but serves content like “Page Not Found” while returning a 200 status code. These are harder to detect automatically but equally damaging. Understanding all three types, hard 404s, soft 404s, and redirect chains caused by outdated internal links, helps you build a more complete audit strategy from the start. If you are unsure why certain pages are not being discovered by Google, our detailed look at why Google is not indexing your page covers many related technical causes.

2. Run a Full Site Crawl With Screaming Frog

Screaming Frog SEO Spider is the industry standard starting point for any internal link audit. The free version crawls up to 500 URLs, which is sufficient for smaller sites. Larger sites will need the paid license, which as of 2024 costs around $259 per year and is worth every dollar for the time it saves.

To find broken internal links, open Screaming Frog, enter your domain, and run a full crawl. Once complete, navigate to the “Response Codes” tab and filter by “4xx” errors. This gives you every URL on your site that returned a client error. You can then click on each URL, go to the “Inlinks” tab at the bottom, and see exactly which pages are linking to that broken destination.

Export this data as a CSV. You now have a working spreadsheet with three critical columns: the broken destination URL, the source page that contains the broken link, and the anchor text used. This spreadsheet becomes your repair task list. Sort it by the source page’s estimated traffic or importance so you tackle the most damaging broken links first. Many site owners make the mistake of fixing links in the order they appear in the crawl report rather than prioritizing by business impact. Avoid that mistake from the beginning.

💡 Pro Tip: After your crawl, also check the “Redirect Chains” report in Screaming Frog. Internal links that pass through multiple redirects before reaching the final destination are nearly as harmful as broken links. They slow down page load and dilute link equity.

3. Use Google Search Console to Catch What Crawlers Miss

Google Search Console (GSC) is a free tool that gives you data straight from Google’s own crawling activity. Navigate to the “Pages” report under “Indexing” and look for pages flagged with “Not found (404)” or “Soft 404” status. These are pages Google has already tried to crawl and found broken.

The advantage of GSC over third-party crawlers is that it reflects real-world crawl data, including pages that Screaming Frog might have missed due to JavaScript rendering issues or crawl depth limits. Cross-reference your Screaming Frog export with the GSC 404 report. Any URL appearing in both lists should be treated as high priority.

GSC also shows you “Crawl Stats,” which reveals how many pages Googlebot successfully crawled versus how many returned errors. A rising trend in crawl errors is a direct signal that your internal link structure has degraded. According to Google’s own documentation (2023), fixing crawl errors is one of the fastest ways to improve how efficiently your site is indexed. If your site has a history of technical penalties, combining this step with professional Google penalty recovery services can accelerate your recovery timeline significantly.

4. Audit Links Inside Your CMS or Platform

Screaming Frog and GSC identify broken links from the outside looking in. But depending on your CMS, some broken links may exist in places that are not yet publicly linked and therefore not crawled. Your CMS database may contain draft posts, template-level links, navigation menus, widget areas, or footer links that are broken but do not show up in a standard crawl.

For WordPress sites, the plugin “Broken Link Checker” scans your database directly and flags broken links regardless of whether those pages are crawled. Be cautious: this plugin can slow down shared hosting environments if left running continuously. Use it for periodic audits, then deactivate it between runs. For WooCommerce stores, broken links inside product descriptions, category pages, or upsell blocks are especially common after product deletions or URL changes. Our WooCommerce store maintenance checklist covers this and several other technical hygiene tasks you should not skip.

For non-WordPress platforms like Shopify or custom-built sites, you will need to query your database or use platform-specific tools to find links stored in content fields that may not render in a standard crawl. This step is more technical but often uncovers hidden broken links that have been causing crawl waste for months.

5. Check High-Priority Pages Manually

Automated tools are powerful but not infallible. For your most important pages, such as your homepage, top landing pages, pillar content, and high-converting product or service pages, a manual link check is worth the extra time. Open each page in a browser and click every internal link. Note any that return errors, redirect unexpectedly, or load the wrong page entirely.

This is also a good opportunity to assess link relevance. You may discover internal links that technically work but point to pages that are no longer contextually related to the source content. A working link to an irrelevant page is better than a broken one, but it still represents a missed opportunity to pass authority to a more useful destination.

Manual checks are particularly important for pages where anchor text has been reused across many posts. If a commonly used anchor phrase points to a URL that was later changed, you may have dozens of broken links with identical anchor text spread across your site. Fixing these consistently is critical for both SEO and user experience. Understanding how to strategically use anchor text in internal links is covered well in this post on how to use internal links to boost backlink impact.

💡 Pro Tip: Use your browser’s developer tools (F12, Network tab) while clicking internal links. You can see the HTTP status code returned without leaving the page, which makes manual audits faster and more precise.

6. Decide on the Right Fix for Each Broken Link

Not every broken link requires the same solution. Once you have your full list of broken links, you need to categorize each one and apply the appropriate fix. There are four main scenarios and four corresponding solutions.

ScenarioBest FixSEO Impact
Page moved to a new URL permanentlyUpdate the link to the new URL or add a 301 redirectHigh: preserves link equity
Page deleted with no replacementRemove the link or point to the most relevant existing pageMedium: stops crawl waste
Page temporarily down (maintenance)Add a 302 redirect temporarilyLow: minimal long-term impact
Typo in the link URLCorrect the URL directly in the source pageHigh: fastest resolution

Choosing the wrong fix, for example, using a 302 when you mean a 301, can result in Google treating the redirect as temporary and not transferring PageRank. Similarly, leaving a deleted page’s link in place without either a redirect or link removal means Googlebot keeps revisiting a dead URL and wasting crawl budget on it. According to a 2022 Ahrefs study, sites with cleaner internal link structures had 35% more pages indexed per crawl session compared to sites with high error rates.

7. Implement 301 Redirects for Moved Pages

A 301 redirect tells both browsers and search engines that a page has permanently moved to a new URL. It is the most SEO-friendly way to handle a page that has been relocated. When you fix broken internal links by adding 301 redirects at the server level, you preserve the majority of the link equity that the broken link was meant to pass.

For Apache servers, you add redirect rules to the .htaccess file. For Nginx, you edit the server configuration file. For WordPress sites, redirect plugins like Redirection (free) or Rank Math’s built-in redirect manager handle this without requiring server access. For Shopify, URL redirects are managed directly from the admin dashboard.

One important trade-off: while 301 redirects are better than broken links, they are not as good as a direct, clean internal link. Google has confirmed that redirects, even 301s, can cause a small amount of link equity loss. This means the best long-term strategy is to update the source link to point directly to the new URL wherever possible, rather than relying solely on redirects. Use redirects as a safety net and a temporary measure while you update links at the source. This approach aligns with what solid professional SEO services teams implement as part of ongoing technical audits.

8. Update Source Pages Directly When Possible

The cleanest fix for a broken internal link is to go into the source page, find the outdated link, and replace it with the correct current URL. This eliminates the need for a redirect entirely and ensures the full link equity is passed without any intermediary step.

Start with the pages that have the most internal links pointing from them, your homepage, category pages, navigation menus, and footer. Changes to these high-authority pages have the biggest downstream impact on your site’s link graph. When you update a link on your homepage, you are improving the flow of PageRank across your entire site.

Document every change you make in your audit spreadsheet. Record the source page, the old broken URL, the new correct URL, the date of the fix, and who made the change. This documentation prevents duplicate work during future audits and gives you a clear changelog if something goes wrong after a change. It also makes it easier to hand off the task to another team member or agency. If your site uses a page builder like Elementor, Divi, or Gutenberg blocks, broken links can sometimes be embedded inside reusable blocks or templates. Check those areas separately, because fixing the link in one post will not fix it if it originates from a shared component.

💡 Warning: If you bulk-update internal links using a search-and-replace tool in your database (such as WP-CLI or plugins like Better Search Replace), always take a full database backup first. A malformed query can corrupt multiple pages simultaneously and is difficult to reverse without that backup.

9. Validate Your Fixes and Re-Crawl the Site

Fixing links without verifying the fixes is a common and costly mistake. After you have implemented your changes, whether through redirects, direct link updates, or link removals, you must confirm that each fix works as intended. There are two ways to do this efficiently.

First, use a tool like httpstatus.io or the Redirect Checker Chrome extension to test individual URLs. Enter the broken URL and confirm it now returns a 200 status (or a 301 pointing to the correct destination). This is fast for small batches. Second, re-run your Screaming Frog crawl and compare the new 4xx error count to your baseline. If you started with 80 broken links and now have 5, you know your fixes are working and can focus on the remaining issues.

Also return to Google Search Console after a week or two. The “Pages” report will gradually update as Googlebot re-crawls your fixed URLs. You should see previously flagged 404 pages move to “Indexed” status over time. This re-crawl validation is also a good opportunity to check that your redirects are not creating new chains, for example, URL A now 301s to URL B, which 301s to URL C. Chains like this slow down crawling and should be collapsed into a single direct redirect from A to C. Learning from page content analysis best practices can help you refine this validation process further as part of a broader technical SEO routine.

10. Set Up an Ongoing Broken Link Monitoring Process

A one-time audit is not enough. Websites are living systems. Pages get deleted, URLs get restructured, content gets migrated, and plugins get updated, all of which can introduce new broken internal links at any time. According to a 2023 report by Moz, the average website accumulates new broken links every 60 to 90 days due to routine content changes. That means quarterly audits are the minimum standard, and monthly checks are better for active sites.

Set up a recurring calendar reminder for your internal link audit. Schedule a Screaming Frog crawl and a GSC check at the same time every month. If you manage a large site, consider using Ahrefs Site Audit or Semrush Site Audit, both of which offer scheduled automated crawls with email alerts when new 404 errors appear. This removes the dependency on manual reminders.

For teams managing multiple sites, a spreadsheet or project management tool (Trello, Notion, Asana) with a dedicated “Link Health” column helps keep broken link fixes visible and assigned. The goal is to normalize link auditing as a routine maintenance task, not a crisis response. If your site runs on WordPress, pairing this habit with broader site health tasks covered in resources like our guide on fixing a failed link building strategy will give you a more complete picture of your site’s overall link health. And if you are investing in building new links, make sure your internal house is in order first, because every new backlink you earn is only as valuable as the internal link structure that distributes that authority across your site. Our link building packages are designed with this internal-external link synergy in mind.

Practical Action Plan: Prioritize Your Fixes

  • Do This Now: Run a Screaming Frog crawl and export all 4xx errors. Cross-reference with Google Search Console. Fix any broken links on your homepage, main navigation, footer, and top 10 traffic pages immediately. These have the highest SEO and user experience impact.
  • Worth Doing: Audit your CMS database for hidden broken links using a plugin or database query. Update source links directly rather than relying only on redirects. Implement a redirect for any deleted pages that still receive significant inbound internal links.
  • Low Priority: Fix broken links in old, low-traffic blog posts that have no incoming internal links from important pages. These matter less urgently but should still be cleaned up during your next quarterly audit cycle.

Frequently Asked Questions

How often should I audit my site for broken internal links?

For most websites, a quarterly audit is the minimum. Active sites that publish content frequently, run ecommerce operations, or undergo structural changes should audit monthly. Automated tools like Ahrefs Site Audit or Semrush can run scheduled crawls so you receive alerts without manual effort every time.

Do broken internal links directly affect my Google rankings?

Yes, indirectly but significantly. Broken internal links cause 404 errors that waste crawl budget, disrupt PageRank flow across your site, and signal poor site quality to Google. A site with many broken links is less likely to be crawled efficiently, which means newer content takes longer to get indexed and ranked.

Is it better to add a 301 redirect or update the link directly?

Updating the source link directly is always the better long-term solution because it eliminates the redirect hop entirely and passes full link equity. However, 301 redirects are a valid and necessary safety net when you cannot update every source page immediately, or when external sites link to your old URLs.

Can broken internal links hurt user experience metrics like bounce rate?

Absolutely. When a visitor clicks an internal link and lands on a 404 page, they are very likely to leave your site immediately. This raises your bounce rate and reduces session duration, both of which can indirectly influence how Google perceives your site’s quality and relevance.

What is the difference between a broken internal link and a redirect chain?

A broken internal link returns a 404 or similar error and leads nowhere. A redirect chain is a sequence of multiple redirects, for example, URL A redirects to B, which redirects to C, before reaching the final destination. While redirect chains do not cause 404 errors, they slow down crawling, dilute link equity, and degrade page load speed. Both should be fixed as part of your technical SEO maintenance routine.

Conclusion

Learning to fix broken internal links is not glamorous work, but it is foundational to a healthy, well-performing website. Every broken link you leave in place is a small tax on your crawl budget, your PageRank distribution, and your user experience. Over hundreds or thousands of pages, those taxes add up quickly. The 10 steps outlined here, from running your first crawl to setting up ongoing monitoring, give you a complete and repeatable system for keeping your internal link structure clean. Start with the high-impact fixes today and build a maintenance habit that prevents the problem from growing back. If you want expert help managing this alongside your broader SEO strategy, explore what a dedicated SEO program for small businesses can do for your site’s technical foundation.

Atul Chaudhary

Atul Chaudhary

With 18 years of industry experience, Atul specializes in building scalable digital products and crafting data-driven marketing strategies that deliver measurable business growth.