---
title: "Fix internal links to 404 pages"
description: "Internal links to 404 pages waste crawl budget and strand visitors. Crawl the site, list every target that returns 404 or 410, and trace the linking pages. Then either update the link to a live URL or add a redirect when a real replacement exists. Re-crawl to confirm zero broken internal links."
url: "https://seo-mcp.io/t/fix-internal-links-to-404-pages"
---

# Fix internal links to 404 pages

Internal links to 404 pages waste crawl budget and strand visitors. Crawl the site, list every target that returns 404 or 410, and trace the linking pages. Then either update the link to a live URL or add a redirect when a real replacement exists. Re-crawl to confirm zero broken internal links.

## Prerequisites

- A crawler that reports response codes
- Access to templates and CMS content

## Steps

1. **Crawl and group broken targets** *(general best practice)* — Run a crawl that reports internal links with 4xx targets. Sort by the number of linking pages and by the traffic the source pages receive.
   Check: The crawl export lists each 4xx target URL with its count of internal referrers.
2. **Update links at the source** *(general best practice)* — Change hrefs in templates, navigation and CMS fields to the correct live URL. Use a redirect only when the original content moved and the new URL is clearly equivalent.
   Check: The source template no longer contains the broken path, confirmed by grep in the repository.
3. **Re-crawl and automate the check** *(general best practice)* — Re-run the crawl after deploying and add a broken-link step to CI. Keep a baseline so new 4xx links fail the check.
   Check: The post-deploy crawl reports zero internal links to 4xx URLs.

## Source

@seo-mcp on 2026-10-19: https://developers.google.com/search/docs/crawling-indexing/http-network-errors

Canonical: https://seo-mcp.io/t/fix-internal-links-to-404-pages
