« Zurück zum Magazine

robots.txt – Die häufigsten Fehler und wie Du sie vermeidest

Jeder Webmaster kennt das Problem: Nicht immer sollen alle Bereiche der eigenen Webseite von Suchmaschinen gecrawled werden dürfen. Mit Hilfe der robots.txt Datei hast Du die Möglichkeit, dies gesondert festzulegen.

Wir zeigen in diesem Artikel neben dem richtigen Umgang mit dieser Datei auch die häufigsten Fehler, die beim Erstellen einer robots.txt Datei auftreten können und wie man sie am besten vermeidet.

Es gibt eine Vielzahl an Gründen, weshalb Webmaster sich dazu entscheiden, bestimmte Verzeichnisse und Seiten von der Indexierung durch Suchmaschinen auszuschließen (z.B. Log-In Bereiche oder archivierten Dateien). Um dies zu ermöglichen, wurde 1994 das “Robots Exclusion Standard Protokoll” veröffentlicht. Dieses Protokoll bestimmt, dass die Suchmaschinencrawler zunächst im Hauptverzeichnis nach der robots.txt Datei suchen und die darin enthaltenen Angaben auslesen sollen. Erst dann dürfen die Crawler (auch User Agents genannt) mit dem Crawling beginnen.

Im Zusammenhang mit dem Gebrauch der robots.txt Datei können desöfteren Fehler entstehen, zum Beispiel wenn die Syntax einer Anweisung nicht korrekt ist oder ein Verzeichnis ungewollt blockiert wird. Diese häufigen Fehler können im Einsatz der robots.txt passieren:

Fehler #1 – Benutzen einer falschen Syntax

Die robots.txt ist eine einfache Textdatei und kann mithilfe eines Texteditors auch ganz leicht selbst erstellt werden. Ein Eintrag in der robots.txt besteht dabei immer aus zwei Teilen: Zunächst gibt man an, für welchen User Agent die folgende Anweisung gelten soll (beispielsweise den Googlebot) und anschließend kannst Du z.B. mit Hilfe des Befehls “Disallow” alle Seiten auflisten, die nicht gecrawled werden sollen. Damit die Anweisungen in der robots.txt auch wirklich greifen, muss eine korrekte Syntax wie im folgenden Beispiel verwendet werden.

User-agent: Googlebot
Disallow: /beispielverzeichnis/

In diesem Fall soll der Webcrawler von Google das Verzeichnis /beispielverzeichnis/ vom Crawling ausschließen. Wenn sich diese Anweisung auf alle Crawler beziehen soll, kannst Du folgende Angabe in Deine robots.txt schreiben:

User-agent: *
Disallow: /beispielverzeichnis/

Dabei gilt der Stern (auch Wildcard genannt) als Variable für alle Crawler. Den gegenteiligen Effekt hat die Verwendung eines einzelnen Slashs (/), hier wird die gesamte Webseite von der Indexierung ausgenommen (beispielsweise bei einer Testversion vor einem Relaunch).

User-agent: *
Disallow: /

Fehler #2 – Statt Verzeichnissen Pfad-Bestandteile sperren („/“ vergessen)

Soll ein Verzeichnis gesperrt werden, solltest Du unbedingt an den Slash am Ende des Verzeichnisnamens denken.

Disallow: /verzeichnis sperrt beispielsweise nicht nur /verzeichnis/, sondern auch /verzeichnis-eins.html

Möchtest Du mehrere Seiten von der Indexierung ausschließen, solltest Du für jedes Verzeichnis eine eigene Zeile anlegen, denn die Angabe mehrerer Pfade in einer Zeile führt zu ungewollten Fehlern.

User-agent: googlebot
Disallow: /beispiel-verzeichnis/
Disallow: /beispiel-verzeichnis-2/
Disallow: /beispiel-datei.html

Fehler #3 – Verzeichnisse unabsichtlich blockieren

Bevor die robots.txt in das Root-Verzeichnis der Webseite hochgeladen wird, solltest Du die Syntax der Datei stets auf Korrektheit prüfen. Schon die kleinsten Fehler könnten dazu führen, dass der Crawler die Angaben missachtet und die Seiten crawlt, die später nicht in den Index gelangen sollten. Achte darauf, dass Verzeichnisse, die indexiert werden sollen nicht hinter dem Befehl Disallow: stehen.

Auch für den Fall, dass sich die Seitenstruktur Deiner Seite beispielsweise auf Grund eines Relaunchs ändert, solltest Du die robots.txt Datei auf Fehler überprüfen. Dies kannst Du ganz einfach mit dem kostenlosen Testing Tool von Ryte tun.

Fehler #4 – robots.txt nicht im root-Verzeichnis ablegen

Der Fehler, der am häufigsten im Zusammenhang mit der robots.txt Datei gemacht wird ist, die Datei nicht im Root-Verzeichnis der Webseite abzulegen. Da die User Agents in der Regel nur das Root-Verzeichnis nach der robots.txt Datei durchsuchen, werden Unterverzeichnisse ignoriert.

Die korrekte URL für eine robots.txt Datei sollte also lauten:

http://www.deine-webseite.org/robots.txt

Fehler #5 – Disallow für Seiten mit einer Weiterleitung

Falls in der robots.txt Datei Seiten gesperrt werden, die mit einem Redirect auf eine andere Seite weitergeleitet werden, kann es passieren, dass der Crawler die Weiterleitung nicht erkennt. Im schlimmsten Fall kann das dazu führen, dass die Seite mit einer falschen URL weiter in den Suchergebnissen angezeigt wird. Auch die Google Analytics Daten für Dein Projekt können dadurch verfälscht werden.

Mit Hilfe des robots.txt Monitorings bei Ryte können Dir solche Fehler nicht passieren. Unter dem Punkt “Monitoring” -> “Robots.txt Monitoring” wird Deine robots.txt stündlich auf Erreichbarkeit (Status 200) geprüft. Ist dies nicht der Fall, bekommst Du eine E-Mail, in der Du darauf hingewiesen wirst, dass Deine robots.txt momentan nicht erreichbar ist.

Auch wenn Deine robots.txt den Status 200 (erreichbar) zurückliefert, wird bei Ryte stets kontrolliert, ob sich an Deiner robots.txt Datei etwas verändert. Falls eine Abweichung auftritt, listet das Tool die genaue Anzahl der Veränderungen auf. Bei mehr als 5 Änderungen erhältst Du eine E-Mail mit der Bitte, die robots.txt Datei zu überprüfen und nachzuvollziehen, ob diese Änderungen beabsichtigt sind, oder ob vielleicht ein Fehler vorliegt.

Tipp: Robots.txt vs. noindex

Wichtig zu wissen ist, dass ein Ausschluss in der robots.txt nicht automatisch bedeutet, dass die Seite nicht indexiert werden kann. Die robots.txt Datei macht lediglich eine Steuerung des User Agents möglich. Dateien oder Verzeichnisse können trotzdem von Suchmaschinen in deren Index aufgenommen werden, zum Beispiel sobald eine über die robots.txt ausgeschlossene URL auf einer crawlbaren externen Seite verlinkt wird. Da sie dem Bot jedoch das Crawling untersagt, wird meist anstelle der Meta-Description eine der folgenden Fehlermeldungen angezeigt:

  • „Aufgrund der robots.txt dieser Website ist keine Beschreibung für dieses Ergebnis verfügbar.“

  • „Die Datei „robots.txt“ auf dieser Website lässt nicht zu, dass eine Beschreibung für das Suchergebnis angezeigt wird.“

  • „A description for this result is not available because of this site’s robots.txt“

Abbildung 2: Beispielsnippet einer Seite, die durch die robots.txt Datei ausgeschlossen ist, aber trotzdem indexiert wurde.

Abbildung 3: Englische Variante der robots.txt Fehlermeldung, sobald eine Seite geblockt ist.

Alleine schon ein Link auf die betroffene Seite reicht also aus, um diese URL in den Index aufzunehmen, selbst wenn sie in der robots.txt auf "Disallow" gesetzt wurde. Auch das Setzen des <noindex>-Tags kann die Indexierung in diesem Fall nicht verhindern, denn dank der Disallow-Anweisung in der robots.txt Datei gelang der Crawler nie zu dieser Stelle im Code.

Wenn Du also sicherstellen möchtest, dass bestimmte URLs nicht im Google Index landen, solltest Du den <noindex>-Tag einsetzen, dem Crawler aber den Zugriff auf dieses Verzeichnis erlauben.

Jetzt Robots.txt überwachen mit Ryte FREE

Veröffentlicht am Nov 13, 2015 von Eva Wagner