Google Elefantenalzheimer für die dauerhafte PHP-Weiterleitung und Löschung mit Statuscode sowie bad-bot-Filter
Heute einmal ein Thema, welches ich mir für die Börsenwebseite erarbeitet habe. Vielleicht ist dies dem ein oder anderen Betreiber einer Börsenseite schon bekannt und kann die Methode auch erfolgreich auf seiner Seite anwenden.
Dem aufmerksamen Webmaster ist bestimmt des öfteren bereits der typische 404 URL-Fehler als Webseite Fehler in der Search Console aufgefallen. Ein Blick in die Google Webmaster Hilfe besagt dass die meisten 404-Fehler keinen Einfluss auf das Ranking der Webseite haben und ignoriert werden können.
Das wäre ja viel zu Schön. Und warum wird das denn als "Fehler" angezeigt? Man sollte jedoch den gesamten Text weiter lesen nicht nur das Einfache. Widersprüchlich ist in der Beschreibung "Dies ist ein Problem, weil Suchmaschinen einen Großteil ihrer Zeit damit verbringen, nicht oder oftmals doppelt vorhandene Inhalte zu suchen."
Also ist das doch ein Problem? Ich interprätiere das als mögliches Problem, weil die Suchmaschine ja sinnlos nach alten Links sucht und keine Zeit mehr dafür hat das Wichtige vom Unwichtigen zu unterscheiden. Und Google hat bei Millionen von Seiten nicht sehr viel Zeit sich mit alten Links zu beschäftigen.
Als fürsorglicher Webmaster möchte ich natürlich, dass die Webseite möglichst ohne viele Fehlermeldungen läuft.
Unter der Google Hilfe werden hierzu prinzipiell zwei Methoden empfohlen.
Die Weiterleitung mit dem 301 Antwortcode oder
eine Fehlermeldung mit 410 "Gone"
Alle anderen Methoden wie z.B. Weiterleitung auf Mülldeponieseiten, Sperren, oder auf die Startseite usw. führen zu massiven Soft 404 Fehler.
Google untersucht sogar Links die bereits vor mehreren Jahren benutzt wurden. Nach dem Motto: "schau mal, ich hab da noch etwas Älteres gefunden, was soll ich denn damit machen?" Es werden auch Links untersucht, welche von Usern vermutlich falsch gesetzt wurden, wie z. B. htm anstatt von html.
Im Ergebnis muß also eine dauerhafte und zuverlässige Lösung für diese Problemfälle gefunden werden.
Leider lässt sich Google dazu nicht sonderlich aus, wie man das im Detail genau umsetzen sollte.
In den meisten Fällen überlassen Entwickler und Webmaster die Behandlung von alten Links ihrem Webserver über die Methode der .htaccess Umleitung. Ich persönlich finde jedoch dass dies zu weiteren Fehlern führen wird, da die Serversprache nicht gerade einfach zu verstehen ist und eher etwas für Profis ist. Insbesondere wenn auch noch Parameter in dem Link eingebaut wurden, so ist der Code nahezu unmöglich zu verstehen. Für mich zumindest ist das verwirrend und vor allem zeitaufwändig.
Ein weiteres nicht zu unterschätzendes Problem ist die Webseitengeschwindigkeit. Bei jedem noch so kleinem Abruf einer Datei, muss auf dem Server die .htaccess der Reihe nach abgearbeitet werden. Selbst das Favicon unterliegt dieser Prüfung in der .htaccess. Etwas in die Jahre gekommene Webseiten, welche bereits mehrere Softwareumzüge hinter sich haben, müssen dann ziemlichen Balast mit sich herum schaufeln. Von der Unübersichtlichkeit der bereits vergessenen Umleitungen einmal abgesehen. Umleitungen über 1000 Links sind keine Seltenheit. Und 100% vergessen wird Google diese Links nie!
Nun um die genannten Nachteile zu eliminieren hab ich mir ein PHP Tool ausgedacht, welches meine Wünsche zur Webseitenbetreuhung berücksichtigt.
Im Prinzip erfüllt das PHP Tool folgende Mindestanforderungen:
-
Einfach verständliche Befehle über PHP, welche übersichtlich nach der Funktion sortiert werden, so dass eine Fehlervermeidung erfolgt
-
Verringerung von unnötigen crowlen der Suchmaschinen
-
Kein Leistungsverlust der Webseitengeschwindigkeit, nur eben beim Aufruf einer fehlerhaften Seite
-
Dauerhafte Löschung bzw. Weiterleitung ohne intensive Überwachung
-
User Freundlichkeit durch zeigen des aufgetretenen Fehlers auf unterschiedlichen Fehlerseiten (keine Leerseiten)
-
Eindeutiger Server Code für die Suchmaschine
-
Beinhaltung von Sicherheitsaspekten wie möglicher Hackversuche bereits beim Versuch zu sperren. (bad-bot-filter)
-
Protokollierung der Fehler
-
Dauerhafte Reduzierung bis Elimination von Soft-Fehlern in der Search Console
-
Webmasterfreundlichkeit: Auch Webmaster können nicht ständig an den Crowler Fehler herumarbeiten.
Und hier meine Lösung:
Zuerst eine .htaccess Ergänzung mit den Fehlerseiten:
ErrorDocument 400 /101.php
ErrorDocument 404 /101.php
ErrorDocument 410 /101.php
CheckSpelling Off
Danach eine Kopie der .htaccess auf dem Server anlegen als z.B. Orginal_ht.txt
Das Hauptmodul zur Weiterleitung in php erstellen. (Siehe unten)
Fehlerseiten nach den Webseitenlayout anlegen:
404.php "Not Found"
410.php "Gone"
300.php "Multiple Choice"
Und schon hat man eine sehr, sehr professionelle Lösung, welche allen zu Gute kommt.
Dem User, dem Webmaster, dem Webserver und der Suchmaschine.
P.S. Ich verwende diesen Code auf meiner Webseite, hab aber die URL usw. abgeändert.
Wenn Ihr wollt könnt Ihr das Verhalten auf falsche Links hier gerne einmal ausprobieren.