Zum Inhalt springen
checkfrei
Menü

Soft 404: Warum deine Fehlerseite den Status 404 senden muss

Stand: 3. Oktober 2026 · CAZ Labs

Kurz gesagt

Ein Soft 404 entsteht, wenn eine Adresse, die es nicht gibt, trotzdem den Statuscode 200 ("alles in Ordnung") zurückgibt. Google kann dann leere oder irreführende Seiten indexieren. Richtig ist der Status 404 oder 410, eine freundlich gestaltete Fehlerseite darfst du dabei trotzdem zeigen.

Warum das wichtig ist

Jede Antwort eines Servers beginnt mit einem Statuscode, den du im Browser nicht siehst. 200 heißt "hier ist die Seite", 404 heißt "gibt es nicht". Zeigt dein Server bei einer kaputten Adresse eine hübsche Fehlerseite, sendet dabei aber 200, sagt er Google das Gegenteil von dem, was der Besucher liest.

Google erkennt viele dieser Fälle selbst und listet sie in der Search Console als "Soft 404". Verlassen solltest du dich darauf nicht. Im ungünstigen Fall landen Fehlerseiten im Index, alte Links behalten scheinbar ihr Ziel, und der Crawler verbringt Zeit mit Adressen, die es gar nicht gibt.

Unter denselben Begriff fällt ein zweiter Fall: Wer alle fehlenden Seiten pauschal auf die Startseite umleitet, produziert für Google ebenfalls Soft 404. Die Startseite ist eben keine Antwort auf die Frage nach einem gelöschten Produkt.

So prüfst du es selbst

Ruf eine Adresse auf, die es garantiert nicht gibt, etwa deine-domain.de/gibt-es-nicht-4711. Was auf dem Bildschirm steht, verrät den Statuscode nicht. Den siehst du so:

  1. In Chrome F12 drücken, den Reiter "Netzwerk" öffnen und die Seite neu laden. Die erste Zeile zeigt in der Spalte "Status" den Code.
  2. Oder im Terminal: curl -I https://deine-domain.de/gibt-es-nicht-4711. Die erste Zeile der Antwort enthält den Status.
  3. In der Google Search Console stehen unter Indexierung > Seiten alle Adressen, die Google als Soft 404 einstuft.

Was der Check von checkfrei prüft

Den Test mit einer erfundenen Adresse übernimmt checkfrei im kostenlosen Check automatisch. Kommt 404 oder 410 zurück, ist alles gut, bei 200 gibt es eine Warnung.

So behebst du es

Jede unbekannte Adresse soll den Status 404 bekommen und gleichzeitig eine hilfreiche Seite zeigen: kurzer Hinweis, Suchfeld, Links zu den wichtigsten Bereichen. Für Seiten, die du absichtlich und dauerhaft entfernt hast, ist 410 noch eindeutiger. Hat eine gelöschte Seite einen echten Nachfolger, leitest du sie mit 301 genau dorthin um.

Bei Shopify und Wix kümmert sich die Plattform um den Statuscode, dort musst du in der Regel nichts tun. Bei eigenen Servern und CMS lohnt der Blick in die Einstellungen.

WordPress

WordPress liefert von Haus aus korrekte 404-Codes und zeigt dabei die Vorlage 404.php des Themes. Meldet der Check trotzdem 200, steckt meist ein Plugin dahinter, das alle Fehler auf die Startseite umleitet. Solche Funktionen gibt es als eigene Plugins und versteckt in SEO- und Redirect-Plugins. Schalt sie ab und leg für wichtige alte Adressen gezielte Weiterleitungen an, zum Beispiel mit dem Plugin Redirection.

Apache (.htaccess)

Der Klassiker: ErrorDocument mit vollständiger Adresse. Dann schickt Apache eine Weiterleitung, und der 404 geht verloren. Gib den Pfad deshalb immer ohne Domain an.

apache
# richtig: Apache sendet 404 und zeigt diese Seite
ErrorDocument 404 /404.html

# falsch: wird zur Weiterleitung, der Status 404 geht verloren
# ErrorDocument 404 https://www.example.com/404.html

nginx

Mit error_page legst du die Fehlerseite fest. Bei try_files muss am Ende =404 stehen. Steht dort pauschal /index.html, bekommt jede erfundene Adresse den Status 200.

nginx
error_page 404 /404.html;

location / {
    try_files $uri $uri/ =404;
}

location = /404.html {
    internal;
}

Next.js

Im App Router rufst du in dynamischen Seiten notFound() auf, sobald ein Datensatz fehlt, und gestaltest die Fehlerseite in not-found.tsx. Next.js sendet dann den Status 404. Eine Seite, die bei fehlenden Daten einfach "Nicht gefunden" ausgibt, liefert dagegen 200. Wurde die Antwort beim Aufruf von notFound() schon gestreamt, bleibt es bei 200, Next.js ergänzt dann ein noindex.

tsx
import { notFound } from 'next/navigation';

export default async function Produkt({ params }: { params: Promise<{ slug: string }> }) {
  const { slug } = await params;
  const produkt = await ladeProdukt(slug);
  if (!produkt) notFound();
  return <h1>{produkt.name}</h1>;
}

Typische Fehler

  • Single-Page-Apps (React, Vue), bei denen der Server jede Adresse mit derselben index.html und Status 200 beantwortet. Die Meldung "Nicht gefunden" baut erst JavaScript im Browser.
  • Fehlerseiten, die per Weiterleitung erreicht werden: erst 302, dann 200 auf /404.html.
  • Leere Kategorie- oder Suchergebnisseiten mit "0 Treffern". Auch die stuft Google gern als Soft 404 ein.

So prüft checkfrei

Wir rufen eine erfundene Adresse auf deiner Domain ab. Kommt 404 oder 410 zurück, ist alles gut, bei 200 gibt es eine Warnung.

Gewicht 1 von 3 im Bereich SEO.

Häufige Fragen

Was ist der Unterschied zwischen 404 und Soft 404?

Ein echter 404 ist ein Statuscode, den der Server sendet. Ein Soft 404 ist eine Einschätzung von Google: Die Seite meldet 200, sieht aber aus wie eine Fehlerseite oder hat keinen Inhalt.

Schaden 404-Fehler meinem Ranking?

Nein. Dass Adressen, die es nicht gibt, 404 liefern, ist normal und von Google ausdrücklich so gewollt. Ärgerlich sind 404 nur bei Seiten, die eigentlich existieren sollten oder auf die viele Links zeigen.

Soll ich 404 oder 410 verwenden?

Beides ist in Ordnung. 410 sagt deutlicher "dauerhaft weg", Google behandelt beide aber sehr ähnlich. Für den Alltag reicht 404.

Jetzt deine Seite prüfen

checkfrei prüft Fehlerseite (404) und 68 weitere Punkte in einem Durchgang. Kostenlos und ohne Anmeldung.