Skip to content
SEOL

Status codes, broken links and 404 pages

404s are normal for pages that no longer exist. The problems are broken internal links, soft 404s, server errors, and useless error pages.

Time
15 min
Level
intermediate
Reviewed
5 November 2026

After this lesson you can

  • Choose the right status code for missing, moved and temporarily unavailable pages.
  • Find and fix soft 404s and broken internal links.
  • Design a helpful custom 404 page that still returns 404.

Status codes tell browsers and crawlers what happened to a request. Getting them right is simple, and getting them wrong causes some of the most common indexing problems.

Choosing the right code

SituationStatus
The page exists200
The page moved permanently301 or 308 to the new URL
The page is gone, with no equivalent404 or 410
Login required401 or 403
Temporary outage or maintenance503, ideally with Retry-After
Too many requests429

Soft 404s

A soft 404 is a page that tells the visitor something does not exist, or has almost no content, but returns 200. Search Console reports these in the Page indexing report.

Common causes:

  • A custom error template that returns 200.
  • Empty category or search result pages.
  • Out-of-stock product pages reduced to "Product unavailable".
  • JavaScript apps that show "not found" without changing the status code.

Google's fixes depend on the case: return 404 or 410 if the content is gone, redirect with 301 if it moved, or check with URL Inspection if the content exists but did not load for Googlebot.

Links from your own pages to URLs that return 404 waste visitors' time and crawling. They usually appear after deleting pages, renaming URLs or importing content. Find them with a crawler, using the "Inlinks" view to see which pages link to each broken URL, and fix the link at its source rather than adding redirects for every typo.

A helpful 404 page

Google's guidance says a custom 404 page should help the visitor:

  • Keep the normal site design and navigation.
  • Say clearly that the page was not found.
  • Offer search, popular categories or links to the home page.
  • Return the 404 status code, so the error page itself is not indexed.

SEO-L's own 404 page is an example. Inspect any non-existent URL on this site to see its status code.

Practice

Read the lesson, pass the quiz and do the exercise to complete it.

Knowledge check

4 questions. Get at least 4 right to pass.

  1. 1. Do 404 errors hurt the rest of your site's rankings?
  2. 2. A custom "page not found" page returns status 200. What is the problem?
  3. 3. The site is down for two hours of maintenance. Which status code?
  4. 4. What is the difference between 404 and 410 for Google?

Exercise: Fix broken links and check your 404 page

Crawl your site, or check its main templates by hand, and list internal links that return 4xx or 5xx. Then request a URL that does not exist, such as /this-page-does-not-exist, with the page inspector, and check the status code and how useful the error page is. Finally, check the Page indexing report for soft 404s.

Deliverable: Broken internal links recorded in the Issues tab with their source pages, plus a note on your 404 page (status code, navigation, search or popular links) and any soft 404s found.

Check your work honestly against each point
Write up your work and meet every point to finish.

Sources

Checked against these sources on 5 November 2026. Next review by 5 May 2027.

Terms

Checklist items

Tools