Robots.txt
Autor: Florian Kolbe
Inhaltsverzeichnis
Was ist die Robots.txt?
Die Robots.txt ist eine Textdatei mit Anweisungen für die Crawler der Suchmaschinen. In ihr wird festgelegt, welche Bereiche einer Webseite von den Webcrawlern durchsucht werden dürfen. Diese werden allerdings nicht explizit durch die Robots.txt ausgesperrt. Vielmehr werden bestimmte Bereiche nicht zum Durchsuchen freigegeben. Über die einfache Textdatei können Webmaster ohne großen Aufwand ganze Domains, komplette Verzeichnisse, ein oder mehrere Unterverzeichnisse oder einzelne Dateien vom Suchmaschinen-Crawling ausschließen. Jedoch stellt diese Datei keinen Schutz vor unberechtigten Zugriffen dar.
Hinterlegt wird die Robots.txt im Root-Verzeichnis (Stammverzeichnis) der Domain. Somit ist sie das erste Dokument, welches von einem Crawler beim Besuch der Webseite aufgerufen wird. Die Datei steuert aber nicht nur das Crawling. Zusätzlich kann ein Verweis zur Sitemap eingefügt werden, durch den die Crawler der Suchmaschinen einen Überblick über die vorhanden URLs der Domain erhalten.
Die Funktionsweise der Robots.txt
1994 wurde ein Protokoll mit dem Namen REP (Robots Exclusion Standard Protokoll) veröffentlicht. In diesem wird festgelegt, dass alle Suchmaschinen-Crawler (user-agents) zuerst im Root-Verzeichnis der Webseite nach der Datei Robots.txt suchen und die enthaltenen Anweisungen auslesen müssen. Erst danach dürfen die Bots mit der Indexierung der Webseite beginnen. Die Datei muss sich direkt im Wurzelverzeichnis der Domain befinden und komplett klein geschrieben werden, denn die Bots lesen die Robots.txt und deren Anweisungen "case-sensitive" aus. Leider halten sich nicht alle Suchmaschinen und deren Bots an die Regeln. Immerhin funktioniert die Datei aber bei den wichtigsten Suchmaschinen, wie Bing, Yahoo und Google. Deren Suchbots halten sich streng an die Vorgaben in der Robots.txt und an das REP.
In der Praxis wird die Textdatei für unterschiedliche Arten von Dateien verwendet. Bei Bilddateien verhindert sie, dass diese in den Suchergebnissen von Google erscheinen. Unwichtige Ressourcendateien, wie beispielsweise Script-, Stil- und Bilddateien lassen sich mit der Robots.txt ebenfalls einfach blockieren. Außerdem können mittels entsprechender Befehle dynamisch generierte Webseiten vom Crawling ausgeschlossen werden. So werden Ergebnisseiten der internen Suchfunktion, Seiten mit Session IDs oder Aktionen der Nutzer wie beispielsweise Warenkörbe vom Crawling ausgeschlossen. Auch bei sonstigen Nicht-Bilddateien (Webseiten) lassen sich die Crawling-Zugriffe durch den Einsatz der Textdatei individuell steuern. Damit lassen sich folgende Szenarien verhindern:
- es werden ähnliche oder unwichtige Seiten auf der Webseite gecrawlt
- das Crawling-Budget wird unnötig verschwendet
- der Server wird durch die Crawler überlastet
In diesem Zusammenhang ist jedoch zu beachten, dass die Robots.txt keine Garantie für die Nicht-Indexierung von Webseiten und Unterseiten darstellt. Sie steuert lediglich das Crawling der Seiten einer Domain, jedoch nicht die Indexierung. Sollen Seiten nicht in den Index aufgenommen werden, muss die Anweisung <meta name="robots" content="noindex"> im Header einer Webseite untergebracht werden.
Dateien, die für die Crawler-Analyse der Webseite von hoher Relevanz sind, sollten hingegen nicht blockiert werden. Dabei sollte beachtet werden, dass auch CSS- und Java Script Dateien freigegeben werden sollten, denn diese werden insbesondere von Mobile Bots gleichermaßen für das Crawling verwendet.
Welche Anweisungen kommen in der Robots.txt zum Einsatz?
Die Robots.txt muss als UTF-8- oder ASCII-Textdatei im Stammverzeichnis der Webseite erstellt werden. Es darf nur eine Datei mit diesem Namen vorhanden sein. Die Textdatei besteht aus einem klar lesbaren Format und beinhaltet einen oder mehrere Regelsätze. Die Groß- und Kleinschreibung muss beachtet werden und die Regeln (Anweisungen) werden von oben nach unten abgearbeitet.
Folgende Keywords werden verwendet:
- user-agent: bezeichnet den Namen des Crawlers (die Namen finden sich in der Robots Database)
- disallow: verhindert das Crawlen von Dateien, Verzeichnissen oder Seiten
- allow: überschreibt disallow und ermöglicht das Crawlen von Dateien, Seiten und Verzeichnissen
- sitemap (optional): zeigt den Pfad zum Speicherort der Sitemap
- *: steht für beliebig viele Zeichen
- $: steht für das Zeilenende
Die Anweisungen (Einträge) in der Robots.txt bestehen immer aus 2 Teilen. Im ersten Teil wird festgelegt, für welche Robots (user-agents) die folgende Anweisung gilt. Im 2. Teil befindet sich die Anweisung (disallow oder allow). "user-agent: Google-Bot" und die Anweisung "disallow: /clients/" bedeuten, dass der Crawler von Google das Verzeichnis /clients/ nicht durchsuchen darf. Soll die komplette Webseite von keinem Suchbot gecrawlt werden, lautet der Eintrag: "user-agent: *" und die Anweisung "disallow: /". Mit dem Dollarzeichen "$" können Seiten, die eine bestimmte Endung besitzen, blockiert werden. Durch die Anweisung "disallow: /* .doc$" werden etwa alle URLs mit der Endung .doc blockiert. Auf die gleiche Art und Weise lassen sich in der Robots.txt spezifische Dateiformate blockieren: "disallow: /*.jpg$".
Die Robots.txt für die Website https://www.example.com/ könnte beispielsweise folgendermaßen aussehen:
User-agent: * Disallow: /login/ Disallow: /card/ Disallow: /fotos/ Disallow: /temp/ Disallow: /search/ Disallow: /*.pdf$ Sitemap: https://www.example.com/sitemap.xml
Welche Rolle spielt die Robots.txt bei der Suchmaschinenoptimierung?
Die Textdatei ist ein kleines, aber wichtiges Stück Technik und sollte deshalb von jedem Webmaster und SEO-Experten verstanden werden. Auf die SEO (Search Engine Optimization) haben die Anweisungen in der Textdatei einen großen Einfluss. Mit der Robots.txt können Webmaster das Verhalten der Such-Bots individuell steuern. Werden die User Agents allerdings zu stark durch die Datei eingeschränkt, wirkt sich dies nachteilig auf das Ranking der Webseite aus. Mit den Seiten, die ausgeschlossen wurden, können Webseiten in der Regel nicht ranken. Gibt es hingegen keine oder kaum Einschränkungen kann es passieren, dass Seiten mit Duplicate Content indexiert werden, was sich ebenfalls nachteilig auf das Ranking auswirkt.
Bevor die Datei in das Stammverzeichnis der Webseite geladen wird, sollte die Syntax überprüft werden. Bereits kleinere Fehler führen dazu, dass die Crawler die Angaben missachten und Webseiten crawlen, die keinesfalls im Index erscheinen sollen. Durch solche Fehler kann es passieren, dass Seiten für die Suchmaschinencrawler nicht mehr erreichbar sind und ganze URLs nicht mehr indexiert werden. Seiteninhaber und SEO-Experten können die Korrektheit der Robots.txt über die Webmaster Tools von Google überprüfen. Dazu müssen sie eine Analyse in der Search Console durchführen. Unter "Status" und "blockierte URLs" finden die Nutzer alle Seiten, die durch die Anweisungen blockiert wurden. Durch eine korrekte Verwendung der Textdatei wird sichergestellt, dass alle wichtigen Teile der Webseite oder Domain von den Bots gecrawlt werden. Somit werden alle aktuellen Seiteninhalte von Google und anderen Suchmaschinen indexiert.
Über den Autor |
Florian Kolbe arbeitet bei Online Solutions Group und ist dort im Bereich Online Marketing tätig. Bei seiner Arbeit als Trainee beschäftigt er sich ausgiebig mit den Themen SEO und SEA und stößt dabei stets auf neue Herausforderungen und spannende Themen. In diesem Gastartikel teilt er sein Wissen über die Robots.txt und deren Bedeutung für die Suchmaschinenoptimierung. |