Fehler auf deiner Website sind nie gewünscht und auch nicht sinnvoll. Um das Erlebnis zu verbessern, solltest du sie beheben. Aber warum, magst du dich fragen? Es tut keinem weh … oh, tut es!
Jedes mal, wenn eine Website deinen Browser anweist, Ressource X zu laden, öffnet dieser eine Verbindung zu deinem Webserver und fragt diese Ressource an. Wenn sie nicht verfügbar ist, antwortet der Server mit einem HTTP-Fehlerstatus 404, was angibt, dass die angefragt Datei nicht auf dem Webserver verfügbar ist und daher auch nicht ausgeliefert werden kann.
Website-Performance verbessern
Daher ist jede Datei, die einen 404-Fehler zurückgibt, eine unnötige Anfrage, für die es keinen Nutzen gibt. Der Browser arbeitet hier dabei und verschwendet Ressourcen. Und insbesondere die Bandbreite von Benutzern wird nutzlos verschwendet. In modernen Zeiten mit vielen mobilen Benutzern, sollte es keine Anfrage ohne Nutzen geben. Und deshalb solltest du dich um 404-Fehler deiner Website kümmern.
Benutzererfahrung verbessern
Wenn dir die Performance deiner Website noch nicht wichtig genug ist, dann denke auch an die Benutzererfahrung. Jeder Fehler auf deiner Website ist ein Fehler zu viel, da es normalerweise bedeutet, dass etwas auf deiner Website nicht so funktioniert, wie es soll. Das verschlechtert im Normalfall die Benutzererfahrung aller Benutzer. Durch die Behebung solcher Fehler erhältst du eine Website mit weniger Fehlern und daher eine bessere Benutzererfahrung.
Server-Performance verbessern
Aber nicht nur auf Benutzerseite gibt es einen Vorteil, keine 404-Fehler mehr auf deiner Website zu haben: Dein Webserver muss jedes Mal, wenn eine nicht existierende Datei angefragt wird, nachsehen, ob sie wirklich nicht vorhanden ist. Außerdem wird dabei standardmäßig die Anfrage zweimal in Logdateien festgehalten, einmal in der access.log und einmal in der error.log. Da Dateien, die nicht vorhanden sind, auch nicht im Cache des Webservers zwischengespeichert werden können, können sie daraus auch nicht ausgelesen werden – wie es bei anderen häufig angefragten Dateien der Fall ist.
Auf diesem Weg verschwendest du auch Ressourcen deines Webservers und hast eine insgesamt höhere Belastung auf deinem Server als du möglicherweise möchtest – da du ihn so schnell wie möglich haben willst, oder? Und bei der Verwendung unnötiger Ressourcen magst du vielleicht auch über den Klimawandel nachdenken und was es heißt, Ressourcen zu verschwenden. Ja, es mag nur ein wenig sein, wenn du deine Website optimierst. Aber denke an die globale Verschwendung von Ressourcen und wie du in der Lage bist, sie ein wenig zu verringern. Und möglicherweise kannst du auch andere Website-Administratoren dazu bringen, über ihre 404-Fehler nachzudenken.
Alle Fehler zählen
Ich fokussierte mich auf 404-Fehler in den vorangegangenen Abschnitten, aber es gibt noch viele Fehler mehr … Auf wenn du nicht alle davon selbst beheben kannst, kannst du – und solltest du – sie dir mindestens einmal ansehen. Alle Fehlermeldungen und was sie bedeuten, kannst du in der Wikipedia finden.
Fehler überwachen
Der einfachste Weg, deine Anstrengung zur Fehlerbehebung nachzuvollziehen, ist sie zu überwachen. In meinem Fall verwende ich dafür Munin, um meinen Server zu überwachen, und auch meine Zugriffs-Logs. Auf diesem Weg kann ich sehen, ob alles normal läuft oder ob nicht normale Fehlermeldungen geloggt werden.
Nachfolgend kannst du sehen, wie die Verbesserungen auf meinen Websites in der Überwachung aussehen. Die Optimierungen fanden vor allem in der Nacht vom 17. April auf den 18. April statt.
Ein Hinweis dazu: Auch wenn deine Website keine Fehler mehr hat, kann es dennoch sein, dass Fehlermeldungen geloggt werden. Normalerweise kommen diese dann von automatisierten Skripten, Spiders und Bots. Dies kann dann folgendermaßen aussehen:
[18/Apr/2020:18:10:52 +0200] "GET /?author=2 HTTP/1.1" 404 10773 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
[18/Apr/2020:18:10:56 +0200] "GET /?author=3 HTTP/1.1" 404 10773 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
[18/Apr/2020:18:11:03 +0200] "GET /?author=6 HTTP/1.1" 404 10773 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
[18/Apr/2020:18:11:05 +0200] "GET /?author=7 HTTP/1.1" 404 10774 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
[18/Apr/2020:18:11:09 +0200] "GET /?author=8 HTTP/1.1" 404 10774 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
Code-Sprache: JSON / JSON mit Kommentaren (json)
Das ist ein häufig auftretendes Problem heutzutage und solange du nicht alle diese Anfragen blockierst (was du effektiv nicht kannst, weil es zu viele verschiedene sind), solltest du dich auf die realen Fehlermeldungen konzentrieren, die durch wirkliche Probleme auf deiner Website verursacht werden.
Zusammenfassung
Auch wenn du nicht jeden Fehler entfernen kannst, du kannst – und sollst – zumindest ein Auge darauf haben. Nur auf diesem Weg kannst du sicher sein, dass deine Website so läuft, wie du es dir vorstellst. Und positive Nebeneffekte sind eine bessere Performance, Benutzererfahrung und das Verhindern von Ressourcenverschwendung – sowohl auf Benutzer- als auch auf Serverseite.