How to diagnose broken internal links problems
Move from a warning count to the exact pages and evidence that deserve attention. Use this broken internal links guide for evidence, numbers, decisions, ve
A broken-link audit should answer more than “which targets returned 404?” The execution team needs the source page, visible anchor, element, destination, response evidence, intended replacement, and verification result. Without the source, a target list is difficult to repair accurately.
Start by proving that the link exists in a measured document layer. Imported URLs, sitemap entries, and guessed routes are useful discovery candidates, but they are not internal-link edges until a source page actually contains them.
Build a source-to-target record
| Field | Record | Common mistake |
|---|---|---|
| Source | Final source URL and document layer | Reporting only the failed target |
| Element | Anchor, image, canonical resource, script or stylesheet | Mixing navigation links with asset failures |
| Context | Visible label and surrounding section | Losing the intent needed to choose a replacement |
| Target | Literal value and resolved absolute URL | Normalizing away the variant that caused the failure |
| Response | Method, status, retries, final URL and timestamp | Calling one timeout a permanent 404 |
| Repair | Replacement, removal or escalation owner | Redirecting every failure to the home page |
Confirm the failure
- Open the stored source evidence and locate the element.
- Resolve relative URLs against the final document base.
- Request the target and retain redirect hops.
- Retry transient failures and uncertain HEAD results with GET.
- Check whether authentication, robots rules, geolocation or bot protection changed the response.
- Compare the final page purpose with the link promise.
Use separate repair strategies
The destination moved
Replace the controlled source link with the final approved URL. Keep a server redirect for external links and bookmarks when appropriate. This removes an unnecessary hop without discarding migration protection.
The destination was removed
Find the nearest page that fulfills the same promise. If none exists, remove the link and rewrite the sentence. Sending users to an unrelated category or home page creates a successful status but a failed experience.
The destination fails intermittently
Retain timestamps, attempts, status, latency and provider information. Assign the service owner. Do not bulk-replace links based on one transient outage, and do not mark repeated 5xx responses as content problems.
The source is stale or duplicated
A broken link may reveal an old article, retired navigation component, or duplicate template. Decide whether to refresh, consolidate, redirect, or remove the source page before editing every instance manually.
An essential resource fails
Broken scripts, styles, images, fonts, and API calls need their own severity and owner. A missing decorative image is different from a failed application bundle that prevents main content or navigation from rendering.
Worked example: target counts versus repair counts
This example is illustrative. A crawl finds 35 failed targets across 260 source elements. One retired documentation URL accounts for 140 links in a shared footer. Ten product targets appear on 80 comparison pages. Five external research links account for 20 sources, while 19 remaining targets occur once each.
The team therefore has 35 target diagnoses but 260 source repairs before template grouping. One footer edit may resolve 140 edges. Product replacements require intent checks. External sources need editorial review. Reporting “35 broken links” hides the real implementation scope; reporting “260 unique problems” hides the shared causes.
Verify both sides
- Recrawl the original source and prove the old reference is gone.
- Fetch the replacement and confirm a successful relevant destination.
- Check rendered navigation when JavaScript inserts the link.
- Confirm templates changed across representative and exception pages.
- Preserve unavailable targets outside pass and failure rates.
- Save the fresh edge and response with the completed task.
Sources and measurement notes
- Google: HTTP and network errors, reviewed 28 September 2026.
- Google: crawlable links, reviewed 28 September 2026.
- Google: crawling and indexing, reviewed 28 September 2026.
- Ubersuggest, India, English: the broader “technical SEO audit” cluster was checked on 28 September 2026 at about 320 monthly searches and difficulty 16/100. This is cluster context, not a forecast for this page.
Frequently asked questions
What counts as a broken internal link?
A confirmed source element points to a target that fails, cannot be reached reliably, or resolves to an unrelated destination. Preserve both source and target evidence.
Is every 404 link a problem?
A 404 may be the correct response for a removed URL, but a controlled page should not keep linking users to it unless the link intentionally demonstrates that state.
Should I test links with HEAD requests?
HEAD is efficient but some servers handle it differently. Retry uncertain failures with GET before reporting a link as broken.
How do I fix a broken link when no replacement exists?
Remove the link or revise the surrounding sentence so it remains useful. Do not redirect every retired page to an unrelated home page.
Are broken external links part of the audit?
They can affect user trust, but you do not control the destination. Verify carefully, replace with a strong source when appropriate, or remove the claim and link.
Why do broken-link reports contain duplicates?
One target may be linked from many source elements. Keep target-level diagnosis and source-level repair counts separate.
Can repairing links guarantee rankings?
No. It improves navigation and crawl paths, but ranking outcomes depend on broader relevance, quality, links, demand and competition.
Turn the diagnosis into a controlled change
Keep the original evidence, assign one owner and reviewer, make the smallest change that addresses the confirmed cause, and repeat the same detector after release. Record unavailable and excluded URLs separately from passes and failures.
In LLMIC, open the affected records before selecting a bulk action. Preserve the crawl identity, final URL, document layer, captured value, and observation time with the task. Group pages only after samples show that they share a cause and can safely receive the same change. After deployment, run a fresh comparable crawl and retain both the baseline and result. This evidence can confirm that a technical condition changed; it cannot guarantee crawling, indexing, rankings, traffic, or conversions because those outcomes depend on additional systems and decisions.
Review broken links in LLMIC · Technical SEO audit method · Compare LLMIC plans
Check the website behind the idea.
Use LLMIC to crawl pages, review the evidence and organise the next actions in one native Mac workspace.