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. 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. 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.[1]

600x400-robotstxt-01.png

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. 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.[2] Im Bereich “Crawling” steht ein eigener robots.txt-Tester zur Verfügung.

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 crawken 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:

  • Googlebot (Google Suchmaschine)
  • Googlebot-Image (Google-Bildersuche)
  • Adsbot-Google (Google AdWords)
  • Slurp (Yahoo)
  • bingbot (Bing)

Sollen mehrere User Agents angesprochen werden, erhält jeder Bot eine eigene Zeile. Eine Übersicht über alle gängigen Befehle und Parameter für die robots.txt ist bei Mindshape.de zu finden.

Einen Verweis auf die XML-Sitemap wird folgendermaßen realisiert:

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

Robots.txt mit Wildcards nutzen

Das Robots Exclusion Protocoll 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. Beim User-Agent bedeutet es, 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.

Beispiel

robots txt Beispiel.png

Bedeutung für die Suchmaschinenoptimierung

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 Seiten indexiert werden, die zum Beispiel Duplicate Content enthalten oder sensible Bereiche wie ein Login betreffen. 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.[3] 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. Denn 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.

robots.txt-Kunst

Manche Programmierer und Webmaster nutzen die robots.txt auch, um lustige Nachrichten darin zu verstecken.[4] Auswirkungen auf das Crawling oder die Suchmaschinenoptimierung hat diese „Kunst“ jedoch nicht.

Einzelnachweise

  1. Verbesserungen des Robots-Exclusion-Protokolls googlewebmastercentral-de.blogspot.de. Abgerufen am 06.11.2015
  2. Informationen zur robots.txt-Datei support.google.com. Abgerufen am 06.11.2015
  3. The Ultimate Guide to Blocking Your Content in Search internetmarketingninjas.com. Abgerufen am 06.11.2015
  4. Von Asimovs Robotergesetzen zu Benders Metall-Arsch: Die witzigsten robots.txt-Files im Web t3n.de Abgerufen am 01.02.2017

Weblinks

Kategorie

Verwandte Artikel