Bei dem Crawlen von Website-Inhalten spielt die robots.txt eine große Rolle. Wieso sie ein wichtiges Instrument für die Suchmaschinenoptimierung ist und wie sie die Auslastung deiner Webseite beeinflussen kann, fassen wir hier zusammen.
Wozu benötigt man die robots.txt?
Die robots.txt bildet die Richtlinie für Suchmaschinen und deren Crawler. Mit dieser Datei kann das Durchsuchen einer Webseite durch Suchmaschinen-Bots, auch Crawling genannt, gezielt gesteuert werden.
Die populärsten Suchmaschinen wie Google, bing und Yahoo! befolgen den bereits 1994 definierten Robots Exclusion Standard und somit auch die Anweisungen in der robots.txt. Beim Vorgang des Crawlings verfolgen die Bots jeden Hyperlink auf deiner Webseite und laden jede Unterseite herunter. Dies kann zu einer hohen Auslastung des Webservers führen, vor allem, wenn mehrere Crawler gleichzeitig aktiv sind oder der Webserver nicht die nötige Leistung besitzt.
Nun kommt die robots.txt ins Spiel. Anhand der in ihr definierten Anweisungen kann den Bots das Crawlen spezieller Verzeichnisses verboten werden, um eine Überlastung der Website mit Bot-Anfragen zu vermeiden. Dies garantiert aber nicht, dass gewisse Website-Inhalte nicht von Suchmaschinen indexiert werden.
robots.txt vs. Robots-Meta-Tags
Grundsätzlich gilt: Die robots.txt-Datei ist laut Google kein zuverlässiges Mittel, um Webseiten von der Indexierung auszuschließen. Es wird empfohlen, Anweisungen zur Indexierung mit dem Robots Meta Schlüsselwort "noindex" zu lösen.
Mithilfe von Robots-Meta-Tags können präzise Angaben zur Indexierung gegeben werden. So kann beispielsweise die Indexierung einer Seite verboten, jedoch dem Crawler die Verfolgung der Verlinkungen auf der Seite erlaubt werden ("noindex, follow"). Im Standard werden beide Prozesse erlaubt: "index, follow". Die Robots-Meta-Angaben werden nicht in einer Datei gesammelt angegeben, sondern dem HTML-Head einer Datei hinzugefügt. Das heißt, dass jede Webseite individuelle Meta-Robots-Tags erhalten kann.
Wird eine Webseite in der robots.txt vom Crawling ausgeschlossen, können die Crawler diese Seite nicht durchsuchen und analysieren. Das bedeutet, dass die Robots-Meta-Angaben nicht erkannt werden und es so unter Umständen zu einer nicht gewünschten Indexierung kommen kann. Solltest du also spezifische Angaben für einzelne Webseiten vergeben, achte darauf, dass du diese Unterseiten nicht in der robots.txt Datei vom Crawling ausschließt.
Weitere Informationen können dem FAQ über die robots.txt von Google entnommen werden.
Was beinhaltet eine robots.txt?
Generell kann die Datei in mehrere Abschnitte eingeteilt werden, welche das Crawlen durch bestimmte Bots erlaubt oder verbietet.
Zu Beginn jedes Abschnittes werden die User-Agents festgelegt. Mit dieser Angabe wird bestimmt, für welche Crawler die unmittelbar darauf folgenden Regeln gelten. Die Crawler haben fest definierte Namen (z.B. Googlebot, Googlebot-Image, bingbot) und können in der Dokumentation der entsprechenden Suchmaschinen, beispielsweise in der Google Crawler Übersicht, nachgeschlagen werden.
Nach der Festlegung der User-Agents folgt gängigerweise der Disallow-Abschnitt. In diesem kann bestimmt werden, welche Verzeichnisse und Seiten von den User-Agents nicht durchsucht werden sollen. Zusätzlich kann auch ein Allow-Eintrag erfolgen, mit welchem die zugelassenen Verzeichnisse besser von den nicht erlaubten getrennt oder Ausnahmen in verbotenen Verzeichnissen definiert werden können. Der Allow-Eintrag ist optional, da die Crawler grundsätzlich alle Verzeichnisse, die nicht ausgeschlossen werden, crawlen werden.
Des Weiteren empfehlen wir in der robots.txt auf die XML-Sitemap zu referenzieren, um eine optimale Grundlage für das Crawlen und Indexieren der Website zu bieten. Diese Verlinkung muss stets absolut hinterlegt werden, also mit vollständiger Webseiten-URL.
Wo finde ich die robots.txt und wie lege ich sie an?
Die robots.txt muss immer im Stammverzeichnis der Website liegen, dem sogenannten Document-Root. Nur dann wird sie von den Crawlern vor der Indexierung eingelesen und eingehalten. Die Datei sollte bei richtiger Anlage unter dem Verzeichnis /robots.txt aufrufbar sein. Bei unserer Website findest du diese beispielsweise unter: https://www.wigital.de/robots.txt.
Da es sich bei der Datei um eine einfache Textdatei (.txt) handelt, kann diese entweder per Rechtsklick auf dem Desktop → „Neu“ → „Textdatei anlegen“ angelegt und anschließend auf den Webserver geladen werden. Alternativ erstellt man diese direkt über einen FTP-Client auf dem Webserver im Stammverzeichnis. Wichtig ist in jedem Fall, dass der Name der Datei „robots.txt“ lautet.
Hinweis: Einige Hosting-Anbieter und Websitebaukästen bieten eine direkte Konfiguration der robots.txt im Hosting an, deswegen empfehlen wir, dies erst zu prüfen oder direkt beim Hoster nachzufragen.
Welche Auszeichnungsmöglichkeiten gibt es?
Es gibt sogenannte Wildcards, welche dynamische Angaben innerhalb der Anweisungen ermöglichen. So werden beispielsweise mit der Wildcard * innerhalb der User-Agent-Anweisung, alle Webcrawler angesprochen werden. Dies bedeutet, dass die folgenden Regeln für alle Webcrawler gelten, die den Robots Exclusion Standard befolgen.
Mit einem Slash / hinter einem Ordnernamen ist das gesamte Verzeichnis mit Unterverzeichnissen und Dateien von einer Anweisung betroffen.
Ein Dollar-Zeichen $ als Suffix markiert einen regulären Ausdruck. So bedeutet /*.png$ beispielsweise, dass alle Dateien mit der Endung .png von der dazugehörigen Anweisung betroffen sind.
Weitere Möglichkeiten lassen sich im entsprechenden Wikipedia-Artikel finden.
Beispiel für eine robots.txt
User-agent: *
Disallow: /nocrawlers/
User-agent: Googlebot
Disallow: /nogooglebot/
In diesem Beispiel wird allen Crawlern das Durchsuchen des Verzeichnisses „nocrawlers“ verboten. Zusätzlich wird dem Googlebot das Crawlen des Verzeichnisses „nogooglebot“ verboten. Alle anderen Bots dürfen dieses Verzeichnis aber durchsuchen.
Fazit
Grundsätzlich ist die robots.txt ein mächtiges Werkzeug, um den Crawling-Vorgang der Suchmaschinen-Bots zu beeinflussen. Im Optimalfall bildet sie eine Art Vorfilter für die Robots Meta Tags und schließt Verzeichnisse aus, die nicht durchsucht werden müssen bzw. sollen, um zum Beispiel die Website vor Performance-Einbrüchen zu schützen. Außerdem kann so Crawling-Budget gespart werden, indem der Fokus der Crawler auf die Webseiten gelegt werden, die für die Suchmaschinenoptimierung relevant sind.