Von verschwundenen Webseiten und stabilen Webadressen
15. Mai 2023
Vor Jahren habe ich meine Website Felsenstrand.de von Wordpress auf Hugo umgestellt. Bei der Durchsicht der Fehlerprotokolle des Webservers sind mir Seitenzugriffe aufgefallen, die mit »Die Seite gibt es nicht« beantwortet wurden. Was ist da passiert, wie kann ich das reparieren und was lerne ich daraus?
Was ist das Problem?
Es gab vor einigen Jahren auf meiner Seite einen Sicherheitsvorfall und deswegen habe ich die technische Grundlage der Seite ausgewechselt. Vor der Umstellung wurde eine Webseite bei Abruf erzeugt und dann ausgeliefert, nach der Umstellung sind alle Webseiten bereits erzeugt und werden beim Abruf nur noch ausgeliefert.
Seitdem ist der technische Betrieb sehr einfach, weil im Wesentlichen nur noch existierende Dokumente ausgeliefert werden. Das ist nicht nur schneller, sondern damit habe ich eine Reihe von möglichen Sicherheitsvorfällen im Vorwege verhindert, weil sie technisch gar nicht mehr auftreten können.
Fehler im technischen Betrieb treten daher so gut wie nie auf, sodass ich nur gelegentlich nach Zugriffstatistiken und Fehlerprotokollen sehe. Dort habe ich dann Zugriffe auf nicht existierende Seiten gesehen, die eigentlich existieren sollten. Die Frage ist nun, warum diese Zugriffe fehlerhaft sind. Gibt es die jeweilige Seite nicht mehr? Oder ist sie schlicht nicht erreichbar, weil ich doch noch technische Probleme habe? Oder hat sich jemand beim Eingeben der Webseitenadresse vertippt?
Was ist mein Lösungsansatz?
Auch wenn die Fehler sehr selten sind, hat mich das doch ein bisschen gewurmt. Ich wollte die Ursache herausfinden und daraus lernen. Dann wollte ich das konkrete Problem lösen und – wenn ich das Problem verallgemeinern kann – gleich alle diese Einzelfälle beheben. Und im besten Fall finde ich noch heraus, wie ich zukünftige Vorfälle verhindern kann.
Ursachenforschung
Fehlerhafte Zugriffe auf Webseiten sind an sich nicht schlecht, sondern sagen einfach die Wahrheit.
Sie sagen mir zum Beispiel, dass …
- … ich beim Umbau der technischen Grundlagen geschlampt habe (URLs gehen nicht mehr).
- … Altlasten da sind. Verweise auf Webseiten, die in Wordpress gültig waren, sind wegen der geänderten technischen Grundlage nun nicht mehr gültig. Das muss ich dann aufräumen und wegschmeißen.
- … eventuell Funktionalität fehlt, die von Suchmaschinen erwartet wird. Das könnte dazu führen, dass die Suchmaschine mich für die Ergebnisse weniger berücksichtigt. Ob das wirklich das Fall ist, finde ich nur durch recherchieren heraus, da ich nicht auswendig weiß, welche Suchmaschine was erwartet.
- … jemand sich bei der Eingabe einer URL vertippt hat. Das sollte sehr selten vorkommen, da statistisch gesehen am häufigsten der Einstieg in meine Seite über Suchmaschinen erfolgt.
Nun ist das sehr technisch, ich kann aber auch etwas daraus lernen. Ein paar dieser fehlerhaften Zugriffe werde ich nicht vermeiden können (Vertipper zum Beispiel), andere werden mir aber etwas sagen wollen, wenn ich nur hinhöre. Was ist denn nun im meinem konkreten Fall passiert?
Ein Artikel wurde nicht gefunden. Das ist merkwürdig, denn die URL dazu habe ich festgelegt und der Welt über meine Webseite bekannt gegeben. Die URLs können nicht von Suchmaschinen programmatisch erwartet werden, da ich kein besonderes Schema verwende, sondern sie sprechend nach dem Titel des Artikels vergebe.
Allerdings habe ich ja meine Seite vor Jahren technisch umgebaut, und vermutlich sind dabei entweder Sachen kaputt gegangen oder ich habe nicht sauber gearbeitet.
Das trifft hier zu: In meinem konkreten Fall lag die Ursache darin, dass ich geschlampt hatte. Ich habe einen Alias nicht mitgenommen.
Konkrete Lösung
Was ist ein Alias? Ein Alias ist eine weitere URL, die auf den gleichen Artikel verweist, praktisch also ein zweiter Name, unter dem die Seite aufgerufen werden kann.
Ein solcher Alias kann zum Beispiel sinnvoll sein, wenn ich im Nachgang festgestellt habe, dass eine Webadresse nicht sinnvoll vergeben ist – weil Suchmaschinen beispielsweise einen bestimmten Aufbau der Adresse erwarten. In einem solchen Fall sollte nicht die ursprüngliche Webadresse geändert werden, da diese weiterhin existieren soll, sondern eben eine neue zusätzliche Webadresse auf diese Seite vergeben werden, damit die Webseite unter der ursprünglichen Webadresse erreichbar ist. Und genau das mache ich mit einem Alias.
In der Vergangenheit habe ich gelegentlich einen Artikel über mehrere URLs zur Verfügung gestellt und beim Umbau einfach etwas vergessen.
Es fehlt also ein Alias. Den ergänze ich nun und dann sollte das Problem behoben sein.
Meine Webseiten generiere ich mit Hugo. Dieses Werkzeug kann beliebig viele Aliase erzeugen, indem ich diese in den Metadaten des Artikels mit Spiegelstrichen einfach eintrage.
Das sieht in meinem Fall für den fehlenden Alias dann so aus:
---
title: "Wie sieht die Visitenkarte der drei Fragezeichen aus?"
[...]
aliases:
- /wie-sieht-die-visitenkarte-der-drei-fragezeichen-aus/
[...]
---
Das war’s auch schon. Diesen einen Fall habe ich nun gelöst und ohne viel Aufwand reparieren können. Mein Artikel über die Visitenkarte der drei ??? kann nun (wieder) über zwei URLs erreicht werden: eine etwas längere und eine etwas kürzere (der Alias).
Das ist dann auch gleichzeitig die Verallgemeinerung: Wenn ich einen fehlerhaften Seitenzugriff sehe, sollte ich prüfen, ob das womöglich ein Alias fehlt.
Auf zum nächsten Punkt:
Zukünftige Vorfälle verhindern
Wenn Menschen auf Links klicken, dann erwarten sie, dass da auch etwas erscheint. Sind Links öfter defekt, dann werden Lesende meine Seite wahrscheinlich verlassen und womöglich nicht wiederkommen.
Und wenn Bots von Suchmaschinen vermehrt defekte Links finden, wird meine Seite in den Ergebnisseiten weiter unten angezeigt und dann kommt niemand mehr vorbei. Auch das möchte ich vermeiden – meinen Platz auf der ersten Seite von Google möchte ich möglichst lange behalten :)
Ich stelle mir also folgende Frage: Wie verhindere ich, dass das wieder passiert? Kurze Antwort: Das geht leider nicht.
Ich habe keine Liste von Aliasen, die ich mal festgelegt hatte. Datensicherungen aus der Zeit sind längst überschrieben, ich kann also nicht in alten Veröffentlichungen danach suchen. Wie ich oben bereits erwähnt habe, gibt es auch kein Muster, nach dem ich sie vergeben hatte und daraus etwas ableiten könnte. Ein Monitoring bekannter Seiten funktioniert demnach nicht.
So bleibt mir nur, nach Einzelfällen zu gucken und diese dann zu reparieren. Ich werde also wohl oder übel (regelmäßig) Fehlerprotokolle nach Auffälligkeiten durchflöhen. Dafür habe ich mir gerade ein Projekt angelegt. Das erledige ich nach dem Lösen des konkreten Problems.
Außerdem kann ich prüfen, ob alle Links, die ich jetzt in den Artikeln untergebracht habe, funktionieren. Mit meiner derzeitig eingesetzten Technik habe ich alle (wirklich alle) Dateien der Webseite lokal auf meinem Rechner. Die Links darin kann ich alle prüfen, damit kann ich dann zumindest sicherstellen, dass ich keine Links setze, die ins Leere führen. Das mache ich dann regelmäßig (beispielsweise vor der Veröffentlichung eines neuen oder geänderten Artikels) oder bei Bedarf, um sicherzustellen, dass noch alle Links funktionieren.
Auch dafür habe ich mir gerade ein Projekt angelegt. Im wesentlichen wird dies wohl ein Crawler werden, die Umsetzung sollte nicht allzu aufwändig sein.
Zusammenfassung
Fehlerhafte Zugriffe auf Webseiten können mehrere Ursachen haben. Manche können durch Reparaturen behoben werden, andere sind korrekt und können nicht behoben werden, wieder andere sind unvorhersehbar und können nicht vermieden werden. In meinem Fall fehlte ein Alias, den ich in Hugo über einen Eintrag in den Metadaten eines Artikel festlegen kann. Um zukünftige Vorfälle schnell zu finden oder gar zu vermeiden, möchte ich zwei kleine Projekte umsetzen, die mir dabei automatisiert helfen.
Weiterlesen
Anlass dieses Artikels waren fehlerhafte Zugriffe auf meinen Artikel »Wie sieht die Visitenkarte der drei Fragezeichen aus?«, der nun wieder über zwei URL erreicht werden kann: eine etwas längere und eine etwas kürzere.
Der konkrete Status-Code, der in der Protokollen angezeigt wurde, war ein 404. Falls du mehr über diese Codes erfahren möchtest, lege ich dir eine Übersicht zu den Status-Codes ans Herz. Dort findest du weiterführende Informationen verlinkt.
Randnotiz: Seit 25 Jahren ist die URL zum Artikel » Cool URIs don’t change« stabil. Autor des Artikels ist Tim Berners-Lee.
- Veröffentlicht:
- 15. Mai 2023
- Länge:
- Etwa 6 Minuten Lesedauer, 1264 Wörter
- Tags:
- Felsenstrand Hugo HTML