Individuelle 404-Seite: richtig konfigurieren und umsetzen

So liefern Sie einen echten 404-Statuscode, vermeiden Soft-404-Signale und führen Besucher in Frameworks und der Serverkonfiguration mit einem hilfreichen nächsten Schritt weiter.

Ruft ein Nutzer einen defekten Link auf, muss der Server den Status 404 Not Found zurückgeben. In echten Projekten wird diese Regel aber erstaunlich oft verletzt: Das CMS liefert 200 OK, eine Weiterleitung führt auf die Startseite, oder die „404“-Seite gibt zwar technisch den richtigen Code zurück, sieht aber wie eine leere Seite aus. Jede dieser Situationen ist ein eigenes Problem – für SEO und für den Nutzer.

Eine korrekt konfigurierte 404-Seite löst gleichzeitig drei Probleme: Sie signalisiert Google, dass die URL nicht existiert, hält den Nutzer auf der Website und hilft ihm, den richtigen Bereich zu finden, und sie schützt das Crawl-Budget vor unnötigen Crawls. Gehen wir die Aspekte der Reihe nach durch.

Google bestraft Websites nicht dafür, dass sie 404-Seiten haben. Probleme entstehen nicht durch den 404-Code selbst, sondern durch eine fehlerhafte Umsetzung: wenn 404 mit 200 OK antwortet, interne Links auf 404-URLs zeigen oder Tausende Seiten ohne 301-Weiterleitungen gelöscht werden.

Was ist eine 404-Seite

404 Not Found ist der HTTP-Antwortcode, den ein Server zurückgibt, wenn die angeforderte Ressource nicht existiert. Der Code zeigt an, dass der Server einwandfrei arbeitet und die Route aufgelöst wurde, das angeforderte Dokument aber fehlt. So unterscheidet sich 404 von 500 (Serverfehler) und 503 (Dienst nicht verfügbar).

~74 %

Websites ohne individuelle 404-Seite

Die meisten Websites zeigen die Standard-404-Seite der Plattform statt einer eigenen Seite mit Navigation

Wochen

Zeit bis zur Deindexierung

Google entfernt eine korrekt antwortende 404-Seite meist innerhalb weniger Wochen aus dem Index. Sie können den Vorgang über die Search Console beschleunigen

Soft-404

Häufigster Fehler

Das CMS antwortet mit 200 OK statt mit 404 – Google indexiert leere Seiten und verwässert den thematischen Fokus der Website

410

Schneller deindexiert

Google entfernt 410 (Gone) deutlich schneller aus dem Index als 404. Verwenden Sie den Code für Massenlöschungen von Seiten

Eine 404-Seite existiert auf zwei Ebenen. Die HTTP-Ebene ist der Antwortcode im Header, den der Suchcrawler sieht. Die visuelle Ebene ist der HTML-Inhalt, den der Nutzer sieht. Beide Ebenen sind gleich wichtig: Ein falscher HTTP-Code ist ein SEO-Problem, ein schwaches visuelles Design ein UX-Problem.

Die wichtigste Regel: immer HTTP 404

Die wichtigste Grundregel: Eine Fehlerseite muss den HTTP-Status 404 (oder 410) zurückgeben, niemals 200. Dies wird als „Hard-404“ bezeichnet, im Gegensatz zum „Soft-404“.

Kritischer Fehler: HTML mit der Meldung „Seite nicht gefunden“ unter dem HTTP-Status 200 OK. Google sieht eine „erfolgreiche“ Antwort und nimmt die Seite zur Indexierung auf. Dadurch landen Hunderte bedeutungslose URLs mit identischem Inhalt im Index.

Den HTTP-Status jeder Seite prüfen Sie direkt im Browser: F12 → Network → Seite neu laden → erste Anfrage suchen → Spalte Status. Oder per curl im Terminal:

bash
# Check HTTP status of a page
curl -s -o /dev/null -w "%{http_code}" https://example.com/non-existent-url
# Expected output: 404

# Check full response headers
curl -I https://example.com/non-existent-url
Schnellprüfung im Browser: DevTools öffnen (F12) → Tab Network → zur 404-Seite navigieren → Spalte Status der ersten Anfrage ansehen. Dort muss 404 stehen, nicht 200.

Soft-404 und 410: der Unterschied

Neben dem „Hard-404“ gibt es zwei verwandte Fälle, die in der Praxis oft verwechselt werden: Soft-404 und der Status 410. Den Unterschied zu kennen ist wichtig, um gelöschte Seiten richtig zu verwalten.

StatusHTTP-CodeWas das für Google bedeutetWann verwenden
Hard-404404Ressource nicht gefunden; Google entfernt die Seite innerhalb weniger Wochen aus dem IndexSeite gelöscht oder hat nie existiert
Soft-404200 (Fehler!)Google sieht eine „erfolgreiche“ Antwort und indexiert leeren InhaltNie – das ist ein Implementierungsfehler, keine bewusste Entscheidung
Gone410Ressource dauerhaft gelöscht; Google deindexiert deutlich schneller als bei 404Massenlöschung von Seiten (alte Produkte, veraltete Bereiche)
Ein Soft-404 ist keine bewusste Entscheidung des Entwicklers, sondern ein Fehler. Am häufigsten tritt er in WordPress und anderen CMS auf, bei denen das 404-Template in das Haupt-Layout eingebettet ist und daher immer 200 zurückgibt. Prüfen Sie Ihre 404-Seite sofort mit curl oder DevTools.

Google stuft außerdem jede Weiterleitung von einer 404-URL auf die Startseite oder eine andere unpassende Seite als Soft-404 ein. Aus Sicht der Suchmaschine hat der Nutzer nach A gesucht, landet auf B, und der Inhalt von B beantwortet die Suchanfrage nicht. Das schwächt das Qualitätssignal der Zielseite.

Was eine gute 404-Seite enthalten sollte

Ein Nutzer, der auf einer 404-Seite landet, ist bereits leicht frustriert. Die Aufgabe der Seite ist es, diese Frustration abzubauen und einen klaren nächsten Schritt anzubieten. Eine wirksame 404-Seite folgt einer erkennbaren Struktur.

So hält eine individuelle 404-Seite Nutzer auf der Website.

Klare Fehlermeldung

Erklären Sie die Situation in einfacher Sprache: „Seite nicht gefunden“ oder „Diese Seite scheint nicht zu existieren“. Vermeiden Sie im sichtbaren Text Fachbegriffe und Fehlercodes.

Suchfeld

Das wirksamste Element einer 404-Seite. Der Nutzer weiß bereits, was er sucht. Bieten Sie ihm die Möglichkeit, es direkt hier zu finden, ohne zurück zu Google zu müssen.

Navigation zu den wichtigsten Bereichen

Links zur Startseite, zu beliebten Bereichen oder zur Sitemap. Sie helfen dem Nutzer, sich zu orientieren, und lassen ihn seinen Weg durch die Website fortsetzen.

Zurück-Button

Viele Nutzer möchten dorthin zurück, woher sie kamen. Ein Zurück-Link oder -Button senkt die Absprungrate und verbessert die UX.

Die wirksamste Lösung für E-Commerce: Zeigen Sie auf der 404-Seite beliebte Produkte oder Kategorien an. Wer einem defekten Link zu einem bestimmten Produkt gefolgt ist, interessiert sich mit hoher Wahrscheinlichkeit für diese Kategorie.

Was Sie auf einer 404-Seite nicht tun sollten: den Nutzer per JavaScript automatisch auf die Startseite weiterleiten (window.location.href = '/'). Google kann das als Soft-404 werten: Der Nutzer erwartete A, erhielt B, und der Inhalt ist nicht relevant. Serverseitige 301-Weiterleitungen von 404-URLs sind nur sinnvoll, wenn es tatsächlich eine passende Ersatzseite gibt.

Umsetzung: Next.js, Nginx, Apache

Wie Sie eine individuelle 404-Seite konfigurieren, hängt von Ihrem Stack ab. Wir behandeln die drei häufigsten Setups: Next.js App Router, Nginx und Apache.

Next.js App Router

In Next.js 13+ mit App Router erstellen Sie eine individuelle 404-Seite über die Datei not-found.tsx im Verzeichnis app/. Bei i18n (z. B. mit next-intl) liegt die Datei in app/[locale]/.

tsx
// app/[locale]/not-found.tsx
import Link from 'next/link';

export default function NotFound() {
  return (
    <main style={{ textAlign: 'center', padding: '4rem 1rem' }}>
      <h1>404 — Page Not Found</h1>
      <p>The link may be outdated or the address was mistyped.</p>
      <Link href="/">Back to homepage</Link>
    </main>
  );
}

// Next.js automatically returns HTTP 404 for this file.

Für eine programmatische 404-Antwort (z. B. in einer dynamischen Route app/[locale]/blog/[slug]/page.tsx) verwenden Sie die Funktion notFound() aus next/navigation. Ihr Aufruf beendet das Rendering sofort, liefert HTTP 404 und rendert not-found.tsx.

tsx
// app/[locale]/blog/[slug]/page.tsx
import { notFound } from 'next/navigation';
import { getArticleDoc } from '@/messages/blog-articles/registry';

export default async function ArticlePage({ params }: { params: { slug: string } }) {
  const article = getArticleDoc(params.slug);

  // If slug does not exist — return HTTP 404 and render not-found.tsx
  if (!article) {
    notFound();
  }

  return <ArticleRenderer article={article} />;
}
Im Pages Router (Next.js unter Version 13) funktioniert die individuelle 404-Seite anders: Erstellen Sie pages/404.tsx. Next.js leitet automatisch dorthin weiter und liefert HTTP 404. Die Funktion notFound() ist im Pages Router nicht verfügbar. Verwenden Sie stattdessen { notFound: true } in getStaticProps oder getServerSideProps.
tsx
// Pages Router: pages/blog/[slug].tsx (legacy approach)
export async function getServerSideProps({ params }) {
  const article = getArticleDoc(params.slug);

  if (!article) {
    // Next.js will return HTTP 404 and show pages/404.tsx
    return { notFound: true };
  }

  return { props: { article } };
}

Nginx

In Nginx konfigurieren Sie die individuelle 404-Seite über die Direktive error_page im Block server. Achten Sie darauf, dass die Datei 404.html am angegebenen Pfad liegt und ihre Auslieferung keine interne Weiterleitung auf 200 auslöst.

nginx
server {
    listen 80;
    server_name example.com;
    root /var/www/html;

    # Custom page for 404 errors
    error_page 404 /404.html;

    # The location for the file itself — returns 404, not 200
    location = /404.html {
        internal;
    }

    # Custom pages for other errors
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        internal;
    }
}
Die Direktive internal blockiert den direkten Zugriff auf /404.html von außen. Die Seite ist nur als Fehlerantwort erreichbar. Ohne sie könnten Nutzer /404.html direkt aufrufen und eine 200-Antwort erhalten. Dadurch entsteht Duplicate Content.

Apache / .htaccess

Bei Apache konfigurieren Sie die 404-Seite über ErrorDocument – entweder in der Hauptkonfiguration oder in .htaccess.

apache
# .htaccess in the site root

# Custom 404 page
ErrorDocument 404 /404.html

# You can also point to a PHP file
# ErrorDocument 404 /404.php

# Custom pages for other errors
ErrorDocument 403 /403.html
ErrorDocument 500 /500.html

# Enable mod_rewrite for SPA routing
<IfModule mod_rewrite.c>
    RewriteEngine On
    # For React/Vue SPA: all non-existent routes → index.html
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ /index.html [L]
</IfModule>
Achten Sie beim SPA-Routing in Apache und Nginx darauf: Liefern Sie alle nicht vorhandenen Routen als index.html mit dem Code 200 aus, indexieren Suchmaschinen nicht existierende Seiten. Die SPA muss deshalb entweder auf 404-Seiten clientseitig ein <meta name="robots" content="noindex"> ergänzen oder SSR/SSG mit korrekten HTTP-Statuscodes nutzen.

PHP (WordPress und andere CMS)

In WordPress ist die individuelle 404-Seite die Datei 404.php in Ihrem Theme. WordPress liefert bei nicht vorhandenen URLs automatisch HTTP 404, sofern die Permalinks korrekt konfiguriert sind. Antwortet das CMS stattdessen mit 200, liegt das Problem meist in der .htaccess oder der Serverkonfiguration.

php
<?php
// themes/your-theme/404.php
// WordPress automatically returns HTTP 404
get_header();
?>
<main class="error-404">
    <h1>Page Not Found</h1>
    <p>Try using search:</p>
    <?php get_search_form(); ?>
    <p>Or return to the <a href="<?php echo home_url(); ?>">homepage</a>.</p>
</main>
<?php
get_footer();

Eine korrekt konfigurierte 404-Seite ist nur die halbe Arbeit. Die andere Hälfte besteht darin, alle Links zu finden, die auf nicht existierende Seiten zeigen, und sie zu beheben. Defekte Links sind die Hauptursache dafür, dass 404-Fehler im Index erscheinen.

Step 1Über die Google Search Console finden

Search Console → Indexierung → Seiten → „Nicht gefunden (404)“. Das ist die kostenlose und vollständigste Quelle: Google zeigt nur die 404-Fehler, die beim Crawlen entdeckt wurden. Genau diese sind für SEO relevant.

Step 2Website mit Screaming Frog crawlen

Führen Sie einen Crawl mit Screaming Frog SEO Spider durch. Filter: Response Codes → 4xx. Das Tool zeigt nicht nur die 404-URLs, sondern auch die Quellseiten, also genau die Seiten, auf denen defekte Links stehen.

Step 3Server-Logs prüfen

Logs enthalten 100 % aller Anfragen, auch solche, die Google noch nicht entdeckt hat. Filter: grep ' 404 ' access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20 – die 20 häufigsten URLs mit 404-Antwort.

Step 4Korrigieren oder weiterleiten

Für jeden gefundenen 404 gibt es drei Möglichkeiten: Richten Sie eine 301-Weiterleitung auf die passende Ersatz-URL ein (sofern eine ähnliche Seite existiert), entfernen Sie alle internen Links, die darauf zeigen, oder lassen Sie den 404 bestehen (wenn keine Links darauf zeigen – Google entfernt ihn dann automatisch aus dem Index).

Codebeispiel zur Umsetzung der 404-Seite:
bash
# Find top-20 broken URLs in Nginx/Apache logs
grep ' 404 ' /var/log/nginx/access.log \
  | awk '{print $7}' \
  | sort \
  | uniq -c \
  | sort -rn \
  | head -20

# Example output:
# 143 /old-product-page
#  87 /blog/removed-article
#  34 /wp-login.php  (attack attempts — not critical)
Richten Sie nicht alle 404-URLs per 301 auf die Startseite weiter. Diese Praxis wird als „Weiterleitungskette auf die Startseite“ bezeichnet, und Google behandelt sie als Soft-404. Eine Weiterleitung ist nur gerechtfertigt, wenn die Zielseite thematisch nah an der gelöschten Seite liegt. Gibt es keinen Ersatz, ist eine korrekte 404-Antwort die richtige Lösung.

404-Fehler überwachen

Eine einmalige Prüfung ist gut. Doch neue 404-Fehler entstehen laufend: Seiten werden umbenannt, Produkte gelöscht, externe Websites verlinken auf nicht existierende URLs. Deshalb ist eine regelmäßige Überwachung wichtig.

ToolWas überwacht wirdFrequenzKostenlos
Google Search ConsoleVon Googlebot beim Crawlen entdeckte 404-FehlerTäglich aktualisiertJa
Screaming Frog + SchedulerAlle 404-Fehler bei einem vollständigen Crawl der WebsiteWöchentlich/monatlichBis zu 500 URLs
Server-Logs (goaccess, awstats)Alle 404-Fehler in Echtzeit aus dem access.logEchtzeitJa
Ahrefs / Semrush Site Audit404-Fehler sowie eingehende externe Links, die auf 404-Seiten zeigenWöchentlich automatisiertKostenpflichtig
UptimeRobot / Better UptimeVerfügbarkeitsüberwachung wichtiger URLsAlle 1–5 MinutenKostenloser Basis-Tarif

Bei großen Websites (10.000+ Seiten) sind Server-Logs besonders wertvoll: Sie erfassen 100 % aller Anfragen, auch von Bots, Nutzern und Skripten. Die Search Console zeigt dagegen nur, was Googlebot beim Crawlen gefunden hat, also einen Ausschnitt des Gesamtbilds.

Richten Sie Warnungen in der Google Search Console ein: Einstellungen → E-Mail-Benachrichtigungen. Die Search Console benachrichtigt Sie, wenn die Zahl der 404-Fehler stark ansteigt, etwa nach einem Deployment, das das Routing versehentlich beschädigt hat.

Checkliste für eine korrekte 404-Seite

HTTP-Status

  • Die 404-Seite liefert HTTP-Status 404 (geprüft mit curl oder DevTools)
  • Kein Soft-404: Die Fehlerseite antwortet nicht mit 200 OK
  • Keine JavaScript-Weiterleitung von nicht vorhandenen URLs auf die Startseite
  • 410 Gone ist für massenhaft gelöschte Seiten ohne Ersatz eingerichtet
  • 301-Weiterleitungen sind nur für URLs eingerichtet, die eine passende Ersatzseite haben

Seiteninhalt

  • Klare, verständliche Fehlermeldung ohne Fachjargon
  • Suchfeld oder Link zur Websitesuche ist vorhanden
  • Link zur Startseite ist vorhanden
  • Links zu 2–4 beliebten Bereichen oder Kategorien sind vorhanden
  • Die Seite entspricht dem Markendesign der Website (Header, Footer, Schriften)

Umsetzung

  • Next.js: Datei not-found.tsx angelegt; notFound() wird für nicht existierende Slugs aufgerufen
  • Nginx: Direktive error_page 404 konfiguriert; die Datei 404.html ist als internal markiert
  • Apache: ErrorDocument 404 ist in .htaccess oder der Hauptkonfiguration gesetzt
  • WordPress: 404.php existiert im aktiven Theme
  • SPA (React/Vue ohne SSR): Meta-Tag noindex wird auf 404-Seiten clientseitig ergänzt

Monitoring

  • Google Search Console ist verbunden und E-Mail-Benachrichtigungen sind eingerichtet
  • Regelmäßiges Crawling mit Screaming Frog oder einem vergleichbaren Tool (mindestens monatlich)
  • Server-Logs sind zugänglich und werden bei stark frequentierten Websites ausgewertet
  • Alle internen Links, die auf 404-URLs zeigen, sind gefunden und behoben
Prüfen Sie Ihre 404-Seite jetzt: Rufen Sie yourdomain.com/test-404-check auf (eine nicht existierende URL), öffnen Sie DevTools → Network, suchen Sie die erste Anfrage und prüfen Sie den Status. Zeigt er 200, haben Sie einen Soft-404 und müssen die Serverkonfiguration korrigieren.

FAQ

Antworten auf häufige Fragen zur Konfiguration von 404-Seiten, die bei Audits und in der Entwicklung auftauchen.

Muss ich der 404-Seite ein noindex-Tag hinzufügen?
Nein. Eine Seite, die HTTP 404 liefert, wird von Google nicht indexiert, unabhängig davon, ob ein noindex-Tag vorhanden ist. Google nimmt sie einfach nicht in den Index auf. Antwortet die Seite mit 200 OK und noindex, kann Google sie vorübergehend als indexierbar verarbeiten, bevor sie neu bewertet wird. Der korrekte HTTP-Code ist wichtiger als jedes Meta-Tag.
Was sollte ich tun, wenn eine Seite, die bei Google rankte, jetzt 404 liefert?
Google entfernt sie selbst aus dem Index, meist 1–4 Wochen nachdem der Googlebot die URL erneut aufgerufen hat. Um die Entfernung zu beschleunigen, nutzen Sie in der Search Console das Tool zum Entfernen von URLs. Gibt es eine thematisch nahe Ersatzseite, richten Sie eine 301-Weiterleitung ein: Sie überträgt Linkjuice und sorgt dafür, dass sich die Rankings schneller aktualisieren.
Kann eine 404-Seite schön und im Markendesign gestaltet sein?
Sollte sie sein. Eine gebrandete 404-Seite mit Navigation hält Nutzer auf der Website und senkt die Absprungrate. HTTP 404 im Header verhindert nicht, dass die Seite optisch ansprechend ist. Entscheidend sind der korrekte HTTP-Code und ein klarer nächster Schritt für den Nutzer.
Sollte die 404-Seite für alle nicht existierenden URLs gleich sein?
Für die meisten Websites: ja, eine universelle 404-Seite reicht. Im E-Commerce können Sie sie anpassen: Anhand des URL-Musters erkennen Sie, aus welcher Kategorie der Nutzer kam, und zeigen passende Produkte. Diese Komplexität lohnt sich aber nur, wenn 404-Seiten einen spürbaren Traffic erhalten.
Was ist das Crawl-Budget, und wie verbrauchen 404-Seiten es?
Das Crawl-Budget ist die Anzahl der Seiten, die der Googlebot in einem bestimmten Zeitraum auf Ihrer Website crawlen möchte. Verlinken interne Links auf 404-URLs, ruft der Bot diese ins Leere führenden Adressen immer wieder auf, statt aktive Seiten zu crawlen. Bei Websites mit Millionen URLs ist das kritisch: Entfernen Sie daher alle internen Links, die auf 404-Seiten zeigen.

Check it with SpiderHead

Free and local: run the audit on your own machine.

Try it