SEO
Broken links and the page that does not exist
Links are the connective tissue of a website.
4 min read
By Timo Wessels Published
What this is about
Links are the connective tissue of a website. Three things can be broken about them, and they are not the same:
A link points to an address that no longer exists. A link has a text from which nobody can tell where it leads. Or the website reacts wrongly when someone opens an address that never existed.
Why it matters
Between internal and external broken links there is a difference many reports flatten — wrongly.
An internal 404 is your own navigation leading into nothing. The visitor wanted to reach a page that exists or existed on your website and lands in nothing. That is urgent. Along the way it costs crawl budget: crawlers keep running against addresses that return nothing.
An external 404 is link rot in someone else's website. In older articles that is normal — websites disappear, addresses change. It should be corrected, but it is editorial work, not an alarm. Reporting both with the same urgency buries the urgent case under the harmless ones.
The link text is the second level. Screen reader users navigate by having all the links on a page output as a list. That list then reads “Read more” fifteen times, one below the other. The purpose of a link has to follow from the link text — on its own or from the programmatically determinable context (WCAG 2.4.4, Level A). Icon-only links without a label are the same case.
The third level you never see from inside: what happens when someone opens an address that cannot exist? The right answer is a 404 status code. Two wrong answers are common. One: the server delivers a nice error page, but with status code 200 — then it tells every crawler that the made-up address is a real page. The other: the website redirects to the home page. The visitor does not learn that their link was wrong, and the crawler gets a valid answer for every made-up address.
The result is the same in both cases: search engines index an unlimited number of made-up addresses that all show the same content. The website competes with itself. From inside nothing looks wrong, because every real page works and the menu is fine.
How to check it yourself
For the 404 page you need nothing but the address bar. Open yourdomain.com/doesnotexist-12345. Two questions: do you get a recognisable error page, or do you land on the home page? And does the server really deliver a 404? You see that in the developer tools (F12, “Network” tab, reload the page) in the first row.
For broken links: in Google Search Console, under “Pages”, you find the category “Not found (404)” with the addresses Google stumbled over. That covers the internal cases well.
For the link texts there is a test without a tool: skim a page and read only the link texts. If you end up at “here”, “more”, “details” without knowing where they lead, a screen reader user does not know either.
A note for context: not every error code means a broken link. Facebook answers automated requests with 400, many Cloudflare sites with 403, LinkedIn invented 999. These pages open completely normally for a normal visitor. Only 404 and 410 really mean “does not exist”.
What to do if it is missing
Internal 404s first. Every address either gets a 301 redirect to the thematically closest target, or the link in the content is corrected. In WordPress the Redirection plugin automatically creates a 301 when a post slug changes — that is the biggest silent gain in every revision.
External broken links: update the text, remove the link or point it to a working alternative. That is maintenance, not a project.
For the link texts: replace “Read more” with the name of the target. So instead of “Learn more”, “More about website maintenance”. Where a short button is wanted for design reasons, an aria-label with the full target helps.
And the error page: it has to deliver a real 404 and help the visitor on — search field, link to the home page, pointers to the most important areas. What it must not do is redirect silently.
Sources
- Broken internal links waste crawl budget and should be updated or removed; correct broken redirects to 404 targets -- @ctx:atlas-seo-technical-audit@1
- Fix broken internal links at once, because they cost crawl budget; always link to canonical target addresses -- @ctx:atlas-seo-site-architecture@1
- Link purpose has to follow from the link text alone or from the programmatically determinable context (WCAG 2.4.4, Level A); screen reader users navigate through link lists; “click here”, “read more”, “learn more” are meaningless without context; icon links without aria-label are the same case -- @ctx:atlas-accessibility-criteria-2-4-4-link-purpose-in-context@1
- 404 as the default when the situation is unclear, 410 for permanently removed, 301 for relocated; redirect to the thematically closest target rather than wholesale to the home page, because the latter is treated as a soft 404; the Redirection plugin creates a 301 on slug changes -- @ctx:atlas-seo-practice-2026@3
- Check 404 errors monthly and fix crawl errors in Search Console -- @ctx:projects-websites-dhs-cpt-checklisten-technisches-seo-content@2