HTTP-Statuscode 404 bei einer Fehlerseite richtig übergeben

Eine 404-Fehlerseite, auch ErrorDocument 404 genannt, ist in erster Linie eine Seite, welche den Nutzer über das Nichtvorhandensein der angeforderten Ressource informiert. Folgt ein Nutzer beispielsweise einem Link dessen Zielseite nicht mehr existiert, so sollte ihm vom Webserver eine sog. 404-Fehlerseite angezeigt werden.

Eine 404-Fehlerseite ist jedoch für weitaus mehr zuständig. Korrekt konfiguriert, informiert sie den Google-Bot ebenfalls über nicht existente Dokumente. Damit dies auch so geschieht ist es wichtig, dass eine 404-Fehlerseite den korrekten HTTP-Statuscode 404 zurück gibt, denn sonst ist die 404-Seite fehlerhaft.

Wie gebe ich bei einer 404-Fehlerseite den korrekten HTTP-Statuscode 404 zurück?

Oft ist der Webserver oder das verwendete Content-Management-System (CMS) falsch konfiguriert, so dass eine Fehlerseite entweder den HTTP-Statuscode 200 (OK) zurück gibt oder sowohl den Nutzer, als auch den Google-Bot, mittels einer 301-Weiterleitung auf eine andere Seite verweist. In beiden Fällen spricht man von einer fehlerhafte 404-Seite bzw. eines sog. Soft 404-Fehler.

Folgend möchten wir auf die richtige Konfiguration einer 404-Fehlerseite mit entsprechendem HTTP-Statuscode 404 eingehen. Wir unterscheiden hierbei zwischen zwei Anwendungsfällen:

.htaccess und Apache Webserver – Fehlerseite konfigurieren

Egal ob Du für Deine Website auf .html- oder .php-Dateien setzt oder eine Verzeichnisstruktur nutzt. Eine 404-Fehlerseite erstellst Du, indem Du in die .htaccess-Datei folgendes einträgst:

Screenshot eines Editor der .htaccess-Datei mit Verweis auf das ErrorDocument 404

Der relative Pfad zum Fehlerdokument wird in der .htaccess-Datei hinterlegt

Öffne oder erstelle die .htaccess-Datei und trage den relativen Pfad zur Fehlerseite ein. Die Fehlerseite (z.B. 404.html) musst Du zuvor als Datei noch anlegen.

ErrorDocument 404 /404.html

Die durchzuführenden Schritte im einzelnen:

  • eine Fehlerseite (404.html oder 404.php) auf erster Ebene (im Root-Verzeichnis) erstellen
  • die .htaccess Datei öffnen oder erstellen, wenn nicht vorhanden. (Ebenfalls im Root-Verzeichnis)
  • trage „ErrorDocument 404“ gefolgt von dem relativen Pfad zur Fehlerseite ein
  • speichere und rufe eine nicht existierende Seite auf, z.B. http://www.deine-domain.de/98899351
  • Du solltest den Inhalt der Fehlerseite 404.html sehen
  • teste hier, ob der korrekte HTTP-Statuscode 404 zurückgegeben wird
Test des HTTP-Statuscode 404 für eine URL

Die nicht gefundene Seite https://www.sistrix.de/98899351 gibt den HTTP-Statuscode 404 zurück

WordPress CMS – Fehlerseite richtig konfigurieren

Verwendest Du das Content-Management-System (CMS) WordPress, so ist das setzten des korrekten HTTP-Statuscode für die 404-Fehlerseite entsprechend einfach – sofern Dein verwendetes Theme dies unterstützt.

Viele WordPress-Themes, Designs oder Template genannt, verfügen über eine entsprechende 404.php-Datei im jeweiligen Theme-Ordner. Findest Du diese Datei nicht, so konfiguriere eine Fehlerseite mittels .htaccess.

Öffne die Datei 404.php in Deines aktiven WordPress-Themes und trage folgendes an erster Stelle ein:

Konfiguration des HTTP-Statuscode 404 einer WordPress-Fehlerseite

Konfiguration des HTTP-Statuscode 404 einer WordPress-Fehlerseite

Die Fehlerseite 404.php findest Du meistens im Theme-Verzeichnis unter /wp-content/themes/aktiver-themename/

<?php
header("HTTP/1.0 404 Not Found");
?>

Die durchzuführenden Schritte im einzelnen:

  • Fehlerseite im WordPress Theme-Ordner finden und öffnen ( meist „404.php“)
  • an erster Stelle oben stehenden PHP-Quellcode eintragen und speichern
  • rufe eine nicht existierende Seite auf, z.B. http://www.deine-domain.de/98899351
  • Du solltest den Inhalt der Fehlerseite 404.html sehen
  • teste hier, ob der korrekte HTTP-Statuscode 404 zurückgegeben wird
Test des HTTP-Statuscode 404 für eine URL

Die nicht gefundene Seite http://www.deine-domain.de/98899351 gibt den HTTP-Statuscode zurück

Warum ist der richtige HTTP-Statuscode für Fehlerseiten wichtig?

Bei nicht existierenden URLs sollte der Webserver den HTTP-Statuscode 404 (Not Found) oder 410 (Gone) ausliefern. Falls im Web veraltete oder auf der eigenen Website falsche Links vorhanden sind, kann Google nur an einem HTTP-Statuscode 404 oder 410 fehlerfrei erkennen, dass die Zielseite nicht (mehr) vorhanden ist.

Stelle darum sicher, dass die Fehlerseite Deiner Website den korrekten HTTP-Statuscode 404 zurück gibt. Nicht mehr vorhandene Seiten einfach mittels einer 301-Weiterleitung auf die Startseite weiterzuleiten ist nicht empfohlen, da dies zu Problemen führen kann.

Was genau ist ein Soft-404 Fehler?

Diese Probleme, von denen Google in diesem Fall spricht, enstehen aus Googles Anspruch heraus, dem Nutzer immer das beste Ergebnis für eine bestimmte Suchanfrage zu liefern.

Wenn Google also weiss, dass zum Beispiel der Inhalt der Seite www.domain.de/ratgeber/wie-stelle-ich-rote-gummibaerchen-her/ das beste Ergebnis für eine Suchanfrage nach „Wie stelle ich rote Gummibärchen her?“ ist, dann wird Google diese Seite in den Suchergebnissen ganz vorne anzeigen.

Löscht der Webseitenbetreiber nun diese Seite, möchte jedoch das Ranking für „Wie stelle ich rote Gummibärchen her?“ behalten kann er versuchen, Google eine thematisch ähnliche Seite auszuliefern und auf diese per 301 Weiterleitung zu verweisen. In unserem Beispiel könnte dies die Kategorieseite für rote Gummibärchen im Shop sein, www.domain.de/shop/rote-gummibaerchen/.

Entscheidet Google jedoch, dass der Inhalt dieser Seite nicht die gewünschte Relevanz für die Suchanfrage hat, wie es bei der vorherigen Seite der Fall war, dann kann Google dies als Soft-404 Fehlerseite ansehen.

Das „Soft“ beschreibt in diesem Fall einfach, dass eine Seite, die technisch gesehen keinen Status Code 404 (Seite nicht gefunden) zurück gibt, von Google auf die gleiche Weise interpretiert wird, wie eine Seite mit einem tatsächlichen 404 Status Code.

Videoerklärung von Matt Cutts / Google zu diesem Thema (engl.)

How does Google handle „not found“ pages that don’t return a 404?

How does Google deal with ‚page not found‘ pages that are returning a 200 response code instead of a 404? Is this a form of spam? Can Google determine this mismatch algorithmically?

Weiterführende Informationen zu diesem Thema:

  • Was sind Soft-404 Fehler?

Related Topics

SEO-Themen von A bis Z