Benutzerdefinierte 404 not found Fehler Seiten
Einerseits sind benutzerdefinierte 404 not found Fehler Seiten dazu gut, den User nicht ins existenzlose Nirvana zu schicken, sondern stattdessen auf die eigene Homepage zu holen. Andererseits gibt es mit den benutzerdefinierten 404 not found Fehler Seiten, die oft als so genannte “soft 404s” definiert werden, die ein oder anderen Probleme mit Google. Noch nie von “soft 404″ gehört? Das sind 404 Fehlerseiten, die den Statuscode 200 zurückgeben und damit die Suchmaschinen verwirren: Fehler und OK passt nicht zusammen.
Ich habe aber auch schon die Erfahrung gemacht, egal was für einen Statuscode ich bei benutzerdefinierten 404 HTML Seiten mitschicke, dass Google in den Webmaster Tools immer den Fehler “Statuscode 200″ ausgibt und damit die 404 HTML Seite als “soft 404″ einstuft. Dass dies dauerhaft nicht sonderlich gut ist für eine Homepage ist klar. Was aber tun? Bei HTML Domains verzichte ich auf benutzerdefinierte 404 Seiten und regle eine Umleitung auf die Startseite über die .htaccess.
Was aber macht Wordpress, beim Aufruf von nicht existierenden Seiten. Wer die Permalinks angepasst hat, hat meist einen Eintrag in der .htaccess, der den Aufruf von nicht existierenden Seiten auf die Startseite lenkt. Die fehlerhafte URL selbst gibt den Statuscode 404 zurück. Also alles im grünen Bereich, zumidest was die Reaktion der Suchmaschinen betrifft.
Nun gibt es aber auch Fälle, wo irgendein Scherzkeks fehlerhafte Verlinkungen erstellt, wohl mit der Ziel, der entsprechenden Domain über Double Content oder zu viele Fehler Schaden zuzufügen. Auch fallen mal Beiträge weg, oder die URL Struktur ändert sich (was nicht wirklich ratsam ist). Da können dann schon einige 404 Fehlerseiten zusammen kommen und gerade bei eingehender Verlinkung auf diese Seiten wäre die Linkpower damit verschenkt.
Die Lösung dazu bietet eine eigene 404.php Datei, die im Theme angelegt wird. Diese wird mit dem Inhalt:
<?php
header("Location: /",TRUE,301)
?>
versehen, gespeichert und hochgespielt. Nun passiert eigentlich vordergründig nichts anderes. Nicht existierende Seiten werden auf die Startseite umgeleitet. Der entsprechende Statuscode ist nun aber nicht mehr 404, sondern 301 (dauerhafter Umzug). Damit zieht auch die Linkpower der eingehenden Links auf die Startseite um und geht nicht verloren.