Robots.txt


Bei der robots.txt Datei handelt es sich um eine Textdatei, in der festgelegt werden kann, welche Bereiche einer Domain von einem Webcrawler gecrawlt werden dürfen und welche nicht. Mit der robots.txt können einzelne Dateien in einem Verzeichnis, komplette Verzeichnisse, Unterverzeichnisse oder ganze Domains vom Crawling ausgeschlossen werden. Die robots.txt-Datei wird im Root der Domain hinterlegt. Sie ist das erste Dokument, das ein Bot abruft, wenn er eine Webseite besucht. Die Bots der großen Suchmaschinen wie Google und Bing halten sich an die Anweisungen. Ansonsten gibt es keine Garantie, dass sich ein Bot an die Vorgaben der robots.txt hält.

Hintergrund

Die robots.txt hilft dabei, das Crawling durch Suchmaschinenrobots zu steuern. Außerdem kann in der robots.txt Datei ein Verweis auf die XML-Sitemap aufgenommen werden, um Crawler mitzuteilen, welche URL-Struktur eine Website besitzt. Einzelne Unterseiten können ebenfalls mithilfe des Meta Tags mit der Bezeichnung robots und zum Beispiel mit dem Wert Noindex von der Indexierung ausgeschlossen werden.

Aufbau des Protokolls

Das sogenannte "Robots Exclusion Standard Protokoll" (kurz: REP) wurde 1994 veröffentlicht.[1] Dieses Protokoll legt fest, dass Suchmaschinen-Robots (auch: User Agent) zunächst im Root-Verzeichnis nach einer Datei mit der Bezeichnung robots.txt suchen und die enthaltenen Vorgaben auslesen, bevor sie mit der Indexierung beginnen. Dazu muss die robots.txt Datei im Root-Verzeichnis der Domain abgelegt sein und genau diesen Dateinamen in kleinen Buchstaben tragen.[2] Das Auslesen der robots.txt durch den Bot erfolgt case-sensitive. Gleiches gilt für die Direktiven, die in der robots.txt notiert werden.

Allerdings ist zu beachten, dass sich nicht alle Crawler an diese Regeln halten und die robots.txt Datei somit keinerlei Zugriffsschutz bietet. Einige Suchmaschinen indexieren die gesperrten Seiten dennoch und zeigen diese lediglich ohne Beschreibungstext in den Suchergebnisseiten an. Das tritt vor allem dann auf, wenn die Seite stark verlinkt ist. Backlinks von anderen Websites sorgen dafür, dass der Bot auch ohne Direktiven aus der robots.txt auf eine Website aufmerksam wird. Die wichtigsten Suchmaschinen, beispielsweise Google, Yahoo und Bing halten sich allerdings an die Vorgaben in der robots.txt und verfahren nach dem REP.[3]

Erstellung und Kontrolle der robots.txt

Die robots.txt kann ganz einfach mithilfe eines Texteditors erstellt werden, weil sie im Plaintext-Format abgespeichert und ausgelesen wird. Zudem gibt es im Web kostenfreie Tools, die die wichtigsten Informationen für die robots.txt abfragen und die Datei automatisch erstellen.[4] Auch über die Google Search Console kann die robots.txt erstellt und zugleich geprüft werden. Jede Datei setzt sich aus zwei Blöcken zusammen. Zunächst gibt der Ersteller an, für welche(n) User Agent(s) die Anweisungen gelten sollen. Anschließend folgt ein Block mit der Einleitung "Disallow", nach dem die von der Indexierung auszuschließenden Seiten aufgelistet werden können. Optional kann der zweite Block auch aus der Einleitung „Allow“ bestehen, um diesen durch eine dritten Block „Disallow“ zu ergänzen und die Anweisungen zu präzisieren.

Bevor die robots.txt in das Root-Verzeichnis der Website hochgeladen wird, sollte die Datei immer auf ihre Korrektheit geprüft werden. Schon kleinste Fehler in der Syntax können dazu führen, dass der User Agent die Vorgaben missachtet und auch Seiten crawlt, die nicht im Suchmaschinenindex erscheinen sollten. Um zu überprüfen, ob die robots.txt Datei erwartungsgemäß funktioniert, kann in der Google Search Console unter „Status“ -> „Blockierte URLs“ eine Analyse durchgeführt werden.[5] Dazu stellt Google einen eigenen robots.txt-Tester zur Verfügung.[6]

Ausschluss von Seiten aus dem Index

Der einfachste Aufbau der robots.txt sieht folgendermaßen aus:

User-agent: Googlebot
Disallow:

Dieser Code bewirkt, dass der Googlebot alle Seiten crawlen darf. Das Gegenteil hiervon, nämlich den Webcrawlern das Crawling der kompletten Webpräsenz zu verbieten, sieht folgendermaßen aus:

User-agent: Googlebot
Disallow: /

In der Zeile "User-agent" trägt der Nutzer hinter dem Doppelpunkt die User Agents ein, für die die Vorgaben gelten. Hier können beispielsweise folgende Eingaben getätigt werden:

Sollen mehrere User Agents angesprochen werden, erhält jeder Bot eine eigene Zeile. Einen Verweis auf die XML-Sitemap wird folgendermaßen realisiert:

Sitemap: http://www.domain.de/sitemap.xml

robots.txt mit Wildcards

Das Robots Exclusion Protocol erlaubt zwar keine regulären Ausdrücke (engl.: Wildcards) im strengen Sinne. Aber die großen Suchmaschinenbetreiber unterstützen bestimmte Ausdrücke wie * und $. Das bedeutet, dass reguläre Ausdrücke meist nur mit der Direktive Disallow verwendet werden, um Dateien, Verzeichnisse oder Websites auszuschließen.

  • Das Zeichen * dient als Platzhalter für jegliche Zeichenketten (Strings), die auf dieses Zeichen folgen. Die Crawler würden Websites nicht indexieren, die diese Zeichenkette enthalten – vorausgesetzt sie unterstützen die Syntax von Wildcards.[7] Beim User-Agent bedeutet das, dass die Direktive für alle Crawler gilt – auch ohne die Angabe einer Zeichenkette. Ein Beispiel:
User-agent: *
Disallow: *autos

Mit dieser Direktive würden alle Websites, die die Zeichenkette "autos" enthalten, nicht indexiert werden. Dies wird oft bei Parametern wie Session-IDs (zum Beispiel mit Disallow: *sid) oder URL-Parametern (zum Beispiel mit Disallow: /*?) verwendet, um sogenannte No-Crawl-URLs auszuschließen.

  • Das Zeichen $ dient als Platzhalter für eine Filterregel, die am Ende einer Zeichenkette greift. Der Crawler würde Inhalte nicht indexieren, die auf diese Zeichenkette enden. Ein Beispiel:
User-agent: *
Disallow: *.autos$

Bei dieser Direktive würden alle Inhalte, die mit .autos enden von der Indexierung ausgeschlossen werden. Analog lässt sich dies auf verschiedene Dateiformate übertragen: So können .pdf (mit Disallow: /*.pdf$), .xls (mit Disallow: /*.xls$) oder weitere Dateiformate wie Bilder, Programmdateien oder Logfiles selektiert werden, um sie nicht in den Index der Suchmaschinen zu bringen. Auch hier bezieht sich die Direktive auf das Verhalten von allen Crawlern (User-agent: *), die Wildcards unterstützen.

robots.txt Beispiel

Beispiel: robots.txt

  1. robots.txt zu https://beispiel.de/
User-agent: UniversalRobot/1.0
User-agent: mein-Robot
Disallow: /quellen/dtd/
User-agent: *
Disallow: /unsinn/
Disallow: /temp/
Disallow: /newsticker.shtml

robots.txt in der SEO

Auf die Suchmaschinenoptimierung hat die robots.txt einer Seite einen erheblichen Einfluss. Mit Seiten, die per robots.txt ausgeschlossen wurden, kann eine Website im Regelfall nicht ranken oder maximal mit einem Platzhaltertext in den SERPs auftauchen. Eine zu starke Einschränkung der User Agents kann demnach Nachteile im Ranking bewirken. Eine zu offene Notation von Direktiven kann dazu führen, dass auch Seiten mit Duplicate Content oder sensiblen Bereichen wie Login-Eingabemasken indexiert werden. Bei der Erstellung der robots.txt Datei ist also Genauigkeit gemäß der Syntax unbedingt notwendig. Letzteres gilt auch für die Verwendung von Wildcards, weshalb ein Test in der Google Search Console sinnvoll ist.[8] Wichtig ist jedoch, dass Befehle in der robots.txt eine Indexierung nicht verhindern. In diesem Fall sollten Webmaster stattdessen auf das Noindex-Meta-Tag zurückgreifen und einzelne Seiten über die Angabe im Header von der Indexierung ausschließen. Die robots.txt Datei ist die wichtigste Möglichkeit für Webmaster, das Verhalten von Suchmaschinencrawlern zu steuern. Wenn hier Fehler auftreten, können Webseiten unerreichbar werden, da die URLs überhaupt nicht gecrawlt werden und somit nicht im Index der Suchmaschinen vorkommen können. Die Frage, welche Seiten indexiert werden sollen und welche nicht, hat indirekt Auswirkungen auf die Art und Weise, wie Suchmaschinen Websites betrachten oder sie überhaupt registrieren. Grundsätzlich hat die korrekte Verwendung einer robots.txt jedoch keine positiven oder negativen Auswirkungen auf das eigentliche Ranking einer Website in den SERPs. Vielmehr wird mit ihr die Arbeit des Googlebots gesteuert und das Crawl Budget optimal genutzt. Somit sorgt die korrekte Nutzung der Datei dafür, dass alle wichtigen Bereiche der Domain gecrawlt werden und somit aktuelle Inhalte von Google indexiert werden.

Einzelnachweise

  1. Formalizing the Robots Exclusion Protocol Specification Google Search Central Blog. Abgerufen am 18.10.2021
  2. robots.txt-Datei erstellen Google Search Central Blog. Abgerufen am 18.10.2021
  3. Verbesserungen des Robots-Exclusion-Protokolls Google Webmaster-Zentrale Blog. Abgerufen am 18.10.2021
  4. Robots.txt Generator – Einfach und schnell erstellen SEO Ranking Tools. Abgerufen am 18.10.2021
  5. Einführung zu robots.txt-Dateien Google Search Central Blog. Abgerufen am 18.10.2021
  6. robots.txt-Datei mit dem robots.txt-Tester testen Search Console-Hilfe. Abgerufen am 18.10.2021
  7. Grundlagen/Robots.txt selfhtml. Abgerufen am 18.10.2021
  8. The Ultimate Guide to Blockig Your Content in Search Internet Marketing Ninjas. Abgerufen am 18.10.2021

Weblinks