Was ist die robots.txt und wofür ist sie gut?

robots.txt
Sascha Lienesch

Sascha Lienesch | 25.10.2018

Die robots.txt ist eine einfache Textdatei, die Webmaster erstellen, um Crawlern Anweisungen zu geben, welche Bereiche einer Website gecrawlt werden dürfen und welche nicht. Die Datei wird im Hauptverzeichnis (Root) auf dem Webserver abgelegt. Kommt ein Crawler auf Ihre Website, so wird diese Datei dann zuerst „ausgelesen“. In der Regel halten sich die Crawler dann auch an die Anweisungen, die dort gegeben werden. Das Protokoll dahinter nennt sich Robots-Exlusion-Standard-Protokoll. Man muss keine robots.txt erstellen – es macht aber oft Sinn.

Man kann sowohl einzelne URLs als auch ganze Verzeichnisse vom Crawling ausschließen. Man kann sogar mit der robots.txt anweisen, dass keine einzige Seite der ganzen Domain vom Bot besucht werden darf.

Allow und Disallow

Im Prinzip gibt es „nur“ zwei Typen von Anweisungen, nämlich „Allow“ und „Disallow“. Übersetzt bedeutet das „Erlauben“ und „Nicht erlauben“. Damit erklärt es sich fast von selbst. Grundsätzlich sind erstmal alle Dateien zum Crawling frei gegeben. Möchte man nun einzelne Verzeichnisse oder URLs vom Crawling ausschließen, so stellt man „Disallow“ voran und benennt dann das Verzeichnis. Eine relative Adressierung reicht danach aus.

Beispiel

Disallow: /admin

Damit wird das Admin-Verzeichnis einer Webinstallation vom Crawling ausgeschlossen. So einfach wird der Befehl ausgeführt. Gibt es weitere Verzeichnisse, die für Bots gesperrt werden sollen, so kann man dort einfach weitere Zeilen darunterschreiben.

Disallow: /wp-admin/
Disallow: /xmlrpc.php

So kann man das im Prinzip unendlich fortführen.

Mit dem Allow-Befehl wird genau das Gegenteil bewirkt. Gibt es z. B. ein Verzeichnis, welches grundsätzlich nicht gecrawlt werden soll, dann kann es innerhalb dieses Verzeichnisses vielleicht eine URL geben, die trotzdem frei gegeben werden soll. Hier kann man dann eine neue Zeile erstellen, die mit „Allow“ beginnt. Dies ist vor allem im Zusammenhang mit Disallow-Anweisungen nützlich, durch die große Teile einer Site mit Disallow gesperrt sind außer eines kleinen Teils, der darin eingeschlossen ist.

Wildcard-Anweisungen

Durch den Einsatz von Wildcards, kann man auch bestimmte Arten von URLs vom Crawling ausschließen.

Beispiele

Ausschluss aller gif-Dateien:
Disallow: /*.gif$

Zum Blockieren des Zugriffs auf alle URLs, die Fragezeichen (?) enthalten

Disallow: /*?

Verwenden Sie zum Blockieren einer beliebigen Zeichenfolge ein Sternchen (*). Der Beispielcode blockiert den Zugriff auf alle Unterverzeichnisse, die mit dem Wort „private“ beginnen.

Disallow: /private*/

Anweisungen für bestimmte Bots geben

Crawler und Bots geben sich mit einem bestimmten Namen auf dem Server zu erkennen. Über eine Deklaration in der Robots.txt kann man bestimmen, für welchen Crawler die Regeln gelten sollen. Mit einem Sternchen * definiert man die Regeln für alle Maschinen.

Google verwendet verschiedene User-Agents, um das Internet zu crawlen. Nachlesen kann man diese auf Support-Seite von Google hier https://support.google.com/webmasters/answer/1061943?hl=de

Insbesondere der User-Agent „Googlebot“ ist hier wichtig. Wenn man also in der robots.txt Seiten oder Verzeichnisse nur für Google, nicht aber für andere Suchmaschinen oder Crawler sperren möchte, so kann man das explizit bestimmen. Man stellt vor die Disallow-Regeln einfach folgende Zeilen voran:

User-agent: Googlebot

Man kann also genau unterscheiden, welche Regeln für welchen Crawler gelten sollen.

Hier nun ein Beispiel für eine robots.txt

User-agent: BingBot

Disallow: /quellen/dtd/

User-agent: *
Disallow: /fotos/
Disallow: /temp/
Disallow: /fotoalbum.html

Hier werden also in dem Beispiel einmal Regeln für den Crawler von Bing festgelegt und danach weitere Regeln für alle Crawler.

Sitemap in robots.txt angeben

Sinnvoll ist es auch, in der robots.txt den Speicherort der Sitemap anzugeben. Wie oben erwähnt suchen die Crawler die robots.txt zuerst auf. Es macht also Sinn und ist auch so von Google empfohlen, die Sitemap in der Textdatei zu nennen.

Schreiben Sie dazu einfach als letzte Zeile:

Sitemap: https://www.example.com/sitemap.xml

Die Suchmaschinen finden also direkt die Sitemap und können diese bei der weiteren Verarbeitung der Daten berücksichtigen und den Aufbau der Seiten so gut verstehen.

Folgende Dinge sollten Sie wissen

  • Die Robots.txt ist für Crawler nicht verbindlich. Sie kann übergangen werden. Laut Aussagen von Google halten sich seriöse Crawler aber daran. Google tut dies auch.
  • Die Robots.txt verhindert keine Indexierung. Der Crawler kann ja auch über externe oder interne Links zu der Seite kommen und in den Index aufnehmen. Er wird sie aber nicht crawlen.
  • Wenn eine Seite nicht in den Index aufgenommen werden soll, dann darf sie nicht per Robots.txt gesperrt werden. Google wird die Seite dann nicht crawlen und den „noindex“ Tag nicht sehen und deshalb nicht beachten können. Geben Sie Google die Chance, die Meta Robots-Anweisungen (z. B. noindex,follow) zu beachten.

Durch das Voranstellen der Raute # kann man Kommentierungen in der Robots.txt vornehmen und so für jeden Webmaster Hinweise eintragen. Diese Zeilen „stören“ den Code dann nicht.

Robots.txt mit der Google Search Console testen

Immer wieder haben wir in verschiedenen Artikel betont, wie wichtig die Google Search Console für Webmaster ist. Jeder sollte diese einrichten. Google zeigt hier nach einem Test, ob es Probleme beim Lesen der Robots.txt gibt.

Google Search Console: robots.txt

Zu finden ist der Tester über das Menü unter dem Punkt „Crawling“ und nennt sich robots.txt-Tester. Da die Domain ja schon hinterlegt ist, kann man dort direkt die Robots.txt anschauen. Darunter findet man dann die Hinweise auf Fehler und Warnmeldungen. In unserem Beispiel finden sich keine Fehler oder Warnungen. Hier ist alles in Ordnung.

Es handelt sich hier um eine WordPress-Installation, in der die Admin-URL ausgeschlossen wird. Über den Befehl „Allow“ wird jedoch eine spezielle URL von diesem Verbot ausgenommen.

So testet man eine Robots.txt-Datei im Google-Tool:

  1. Öffnen Sie den Tester für Ihre Website und scrollen Sie durch den Code der robots.txt-Datei, um die hervorgehobenen Syntaxwarnungen und logischen Fehler zu ermitteln. Unterhalb des Editors sehen Sie die Anzahl an Syntaxwarnungen und logischen Fehlern in Ihrer Datei.
  2. Geben Sie in das Textfeld unten auf der Seite die URL einer Seite auf Ihrer Website ein.
  3. Wählen Sie in der Drop-down-Liste rechts neben dem Textfeld den User-Agent aus, den Sie simulieren möchten.
  4. Klicken Sie auf die Schaltfläche Testen, um den Test zu starten.
  5. Überprüfen Sie, ob die Schaltfläche Testen nun Zulässig oder Blockiert lautet, um herauszufinden, ob die von Ihnen eingegebene URL für die Web-Crawler von Google blockiert ist.
  6. Bearbeiten Sie die Datei und führen Sie den Test gegebenenfalls erneut durch. Hinweis: Änderungen, die Sie auf der Seite vornehmen, werden nicht auf Ihrer Website gespeichert. Fahren Sie mit dem nächsten Schritt fort.
  7. Fügen Sie die Änderungen in die robots.txt-Datei auf Ihrer Website ein. Dieses Tool nimmt keine Änderungen an der Datei auf Ihrer Website vor, es führt nur Tests in der im Tool gehosteten Kopie durch.

Quelle: https://support.google.com/webmasters/answer/6062598?hl=de&ref_topic=6061961