So funktioniert robots.txt
Eine gut geschriebene robots.txt spart Bandbreite und schützt vor Problemen mit Suchmaschinen. Damit Sie beim Schreiben nichts verkehrt machen, unterstützt Sie Google jetzt mit einem robots.txt-Prüftool. Wie Sie dieses Werkzeug nutzen und eine optimale robots.txt schreiben, zeigt der folgende Beitrag.
Die Datei robots.txt dient dazu, Suchmaschinen und andere Bots zu dirigieren. Mit einfachen Einstellungen legen Sie fest, welche Ordner und Dateien ein Bot nicht in seinen Index aufnehmen soll.
In der puren Variante sieht die robots.txt nur eine Negativ-Option vor. Sie dürfen also nur Dateien und Ordner ausschließen und nicht explizit festlegen, welche Bereiche Ihrer Website der Bot einlesen soll. Deshalb ist im Zusammenhang mit der robots.txt oft auch vom "Robots Exclusion Standard" die Rede.
Allerdings ist das mit dem Standard so eine Sache - besser wäre es, von einem kleinsten gemeinsamen Nenner zu reden. Denn viele Bots unterstützen mehr Kommandos als vorgesehen - auch solche zum expliziten Einschließen von Dateien und Ordnern.
Die Grundlagen
Grundlage Nummer 1: Die robots.txt gehört in das Web-Root-Verzeichnis Ihrer Website. Die Datei muss für alle lesbar sein und muss mindestens einen Eintrag enthalten. Eine leere robots.txt wird als nicht existent betrachtet.
Die einfachste und radikalste Form der robots.txt sieht so aus:
User-agent: *
Disallow: /
Die erste Zeile bezieht sich auf alle Bots, die zweite schließt alle Dateien und Ordner vom Zugriff des Bots aus. Vorausgesetzt alle Bots halten sich an diese Anweisung, wird Ihre Website in keinen Suchindex aufgenommen. Sinnvoll ist dieser Komplettausschluss, wenn ein Webauftritt gerade in der Probephase ist oder umgebaut wird. Der Googlebot und alle anderen Suchmaschinenbots lassen sich damit effektiv ausschließen. Ist die Site dann fertig, schalten Sie die Sperre wieder ab, zum Beispiel mit
User-agent: *
Disallow:
Fehlt der Schrägstrich, öffnen Sie Ihre Site allen Bots und erlauben den Zugriff auf alle Seiten Ihres Angebots. Nach ein paar Tagen holen sich die Bots wieder Daten von Ihrer Seite.
Im Normalfall aber werden Sie immer einige Dateien und Ordner zum Ausschließen haben. Dazu gehören zum Beispiel:
- Eingabeformulare
- Login-Seiten
- Die Verzeichnisse von Zusatzprogrammen, zum Beispiel Adserver
- Skript-Verzeichnisse
Das Ausschließen funktioniert so: Sie schreiben Disallow: gefolgt vom Pfad der auszuschließenden Dateien und Ordner. Dabei genügt es auch, nur die ersten Buchstaben zu schreiben, etwa
User-agent: *
Disallow: /search
Damit würden alle Dateien und Ordner ausgeschlossen, die mit search beginnen. Soll nur der Zugriff auf das Verzeichnis search verhindert werden, schreiben Sie
Disallow: /search/
Sie können beliebig viele Disallow-Anweisungen untereinander schreiben.
Mit User-agent: legen Sie fest, für welchen Bot eine Reihe von Disallow-Befehlen gilt. Mit
User-agent: *
sind alle Bots betroffen. Wollen Sie aber zum Beispiel für den Googlebot eigene Anweisungen festlegen, ergänzen Sie Ihre robots.txt um eine Sektion, die nur für den Googlebot gilt, zum Beispiel
User-agent: *
Disallow: /search
User-agent: Googlebot
Disallow: /search
Disallow: /thisfile
Disallow: /thatdir/
Kommentare sind in der robots.txt ebenfalls erlaubt. Die müssen mit einem # eingeleitet werden, zum Beispiel:
User-agent: *
Disallow: /cgi-bin/ #Keine Scripts lesen!
Natürlich darf der Kommentar auch in einer eigenen Zeile stehen.
Die Erweiterungen für Google
Google bietet über die auf robotstxt.org festgelegten Standards noch einige Erweiterungen. So erkennt der Googlebot auch einfache Muster beim Disallow-Befehl. Um beispielsweise zu verhindern, dass der Googlebot auf dem Server vorhandene php-Dateien indexiert, geben Sie ein:
User-agent: Googlebot
Disallow: *.php$
Die Suchmuster für den Googlebot dürfen als Platzhalter den * für beliebige Zeilen und ein $ für das Ende des Suchstrings enthalten. Obiges Beispiel schließt also alle Dateien aus, die auf "php" enden. Sollen alle dynamisch erzeugten Inhalte einer Site außen vor bleiben, empfiehlt Google
User-agent: Googlebot
Disallow: /*?
Dieses Muster passt auf alle URLs, die ein Fragezeichen enthalten - das Zeichen, auf das in der Regel die für dynamische Seiten typischen Parameter folgen.
Eine weitere Spezialität von Googlebot: Er versteht nicht nur Befehle zum Ausschließen von Seiten, sondern nimmt auch Anweisungen entgegen, ausdrücklich Seiten zu indexieren. Der Befehl heißt Allow.
User-agent: Googlebot
Allow: /nonodir/diedoch.html
Disallow: /nonodir/
Mit der Allow-Zeile gestatten Sie dem Googlebot, auf die Datei diedoch.html im Verzeichnis /nonodir/ zuzugreifen. Die zweite Zeile mit Disallow sperrt den Zugriff auf alle anderen Dateien im Verzeichnis. Auf diese Weise können Sie sehr einfach Ausnahmen definieren und genau steuern, was der Googlebot liest.
Robots.txt mit dem Sitemap-Tool von Google prüfen
Wer noch keinen Account bei Google Sitemaps hat, sollte sich schleunigst einen besorgen. Denn dieses Tool erlaubt nicht nur, spezielle Sitemaps im XML-Format zu verwalten. Es bietet auch einen Weg, die eigene robots.txt zu überprüfen und interaktiv zu erweitern.
Nach dem Anmelden bei Google Sitemaps unter https://www.google.com/webmasters/sitemaps fügen Sie zunächst mit Add Ihre Site zu Sitemaps hinzu. Falls Sie keine Sitemap haben, können Sie unter If you don't have a Sitemap... einfach die URL Ihrer Website eintragen. Danach wählen Sie die Site in der Siteoverview aus und klicken auf robots.txt. Hier finden Sie zunächst eine kurze Information, ob die robots.txt auf Ihrer Seite erreichbar ist und wann sie zuletzt herunter geladen wurde. Weiter unten finden Sie in einem Textfeld Ihre komplette robots.txt. In dem Textfeld dürfen Sie die Einträge editieren - achten Sie aber darauf, dass es insgesamt nicht mehr als 2000 Zeichen werden.
Nach dem Editieren prüfen Sie die Änderungen. Dazu schreiben Sie in das Feld Test URLs against your robots.txt file die Adressen, anhand derer Sie die robots.txt-Einträge testen wollen. Jede Adresse muss in einer eigenen Zeile stehen.
Mit einem Klick auf Check prüft Google die Adressen und zeigt wenige Augenblicke später das Ergebnis. In einer Liste lesen Sie nach, welche Adresse für den Bot offen ist und welche nicht. Zusätzlich zum Googlebot dürfen Sie in der Auswahlliste die robots.txt-Einträge auf ihr Verhalten anderen Bots von Google gegenüber prüfen, etwa den Mediabot, der für die Adsense-Anzeigen zuständig ist.
Die Google Removal Console
Die Google Removal Console bietet an, eine robots.txt sofort auszulesen und die darin enthaltenen Disallow-Anweisungen sofort umzusetzen. Innerhalb weniger Stunden lassen sich somit Teile oder ganze Websites aus dem Google-Index entfernen.
Um die Konsole zu nutzen, öffnen Sie
http://services.google.com/urlconsole/controller
Anmelden können Sie sich mit Ihrer E-Mail-Adresse und einem Kennwort. Danach wählen Sie die Option Löschen Sie Seiten, Unterverzeichnisse oder Bilder mithilfe einer robots.txt-Datei und geben im folgenden Fenster den Pfad zu Ihrer robots.txt ein.
Achtung: Die Removal Console ist nur dann sinnvoll, wenn Sie bestimmte Inhalte schnell aus dem Google-Index ausblenden wollen, etwa aus rechtlichen Gründen. Die Removal Console hilft nicht, wenn Sie ein Duplicate-Content-Problem mit Google haben, also wegen doppelt vorhandener Inhalte im Index zurückgestuft wurden. Mit Hilfe der Removal Console lassen sich zwar die doppelten Inhalte ausblenden. Doch bis Ihre Site wieder erscheint, dauert es in der Regel drei Monate. Da tut es auch eine Anpassung der robots.txt, ohne gleich die Removal Console anzuwerfen.
Eine weitere Gefahr der Removal Console: Mit ungeschickter Handhabung können Sie Ihre Website komplett für ein halbes Jahr aus Google ausschließen. In Foren wie Webmasterworld berichten Webmaster folgendes: Wegen eines Duplicate-Content-Problems mit zwei Domainen, etwa www.site.xy und site.xy, wollten sie alle Einträge für site.xy entfernen. Also die robots.txt angepasst, die Removal Console mit http://site.xy/robots.txt gefüttert und schon ist es geschehen: Es sind nicht nur alle Einträge von site.xy verschwunden, sondern auch alle von www.site.xy. Also: die Removal Console nur dann benutzen, wenn es wirklich notwendig ist.
Außerdem sollten Sie beachten: Die Removal Console blendet die Suchergebnisse nur sechs Monate lang aus. Damit Inhalte dauerhaft außen vor bleiben, müssen die entsprechenden Disallow-Anweisungen in der robots.txt erhalten bleiben.
Fallen und Probleme
Die robots.txt ist ein ideales Werkzeug, um Bots zu steuern. Aber die Wirksamkeit der Datei hängt immer davon ab, ob ein Bot diese Datei auch liest und interpretiert. Spam-Bots, die nur Mail-Adressen abgrasen, scheren sich nicht um die robots.txt. Deshalb kann diese Datei auch keinen wirksamen Schutz bieten. Den erreichen Sie nur, wenn Sie auf Server-Ebene Schutzbarrieren errichten, etwa mit der Datei .htaccess.
Eine weitere Falle steckt in der Logik der robots.txt. Wer annimmt, ein Bot würde zunächst die Sektion User-agent: * lesen und dann die für ihn vorgesehene Sektion, liegt falsch. Ist beispielsweise User-agent: Googlebot vorhanden, so liest Google ausschließlich diese Sektion und kümmert sich nicht um User-agent: *.. Falls Sie also Bereiche auf Ihrer Webseite haben, die von keinem Bot gelesen werden sollen, müssen Sie die in jeder Sektion notieren.
Die Größe von robots.txt
Für die Datei robots.txt gibt es keine Größenvorgabe. Wenn das Robots-Tool von Google Sitemaps ein 2000-Zeichen-Limit vorgibt, so ist das offenbar nur dazu gedacht, den Server nicht zu sehr zu belasten. Viele Websites verfügen über robots.txt-Dateien, die weit über 2000 Zeichen hinausgehen. Falls Sie eine flotte Datenleitung haben, probieren Sie es einmal unter
http://www.chop.edu/robots.txt
Dort sehen Sie eine wirklich große robots.txt: 477 KByte.
Andere Erweiterungen
Eine sehr nützliche Erweiterung ist Crawl-delay. Damit weisen Sie einen Bot an, zwischen zwei Abrufen Ihrer Seite eine Pause zu nehmen. Ein Beispiel:
User-agent: Slurp
Crawl-delay: 10
Diese zwei Zeilen bremsen den Suchmaschinen-Bot von Yahoo ein. "Slurp" wartet nach jedem Seitenabruf zehn Sekunden, bevor er wieder zugreift. Genauso geht's mit dem Msnbot. Der Googlebot verarbeitet Crawl-delay nicht.
Robot-Anweisungen im Meta-Tag
Mit der robots.txt ist trotz der Google-Erweiterungen nur eine grobe Steuerung der Bots möglich - außer Sie legen ein riesiges robots.txt-File an, das alles im Detail regelt. Eine feinere Steuerung sieht das meta-robots-Tag vor, das Sie in jeder HTML-Seite unterbringen dürfen. In diesem Tag legen Sie zwei Parameter fest: index/noindex und follow/nofollow. Mit index legen Sie fest, dass der Bot die Seite in seinen Index aufnehmen darf. Mit noindex verbieten Sie das. Der Parameter follow weist den Bot an, den Links im Dokument zu folgen. Die beiden Parameter lassen sich frei kombinieren oder einzeln verwenden.
In der Praxis sieht das zum Beispiel so aus:
<meta name="robots" content="noindex,follow">
Diese Anweisung erlaubt dem Bot nicht, die Seite aufzunehmen. Dafür soll er aber den Links folgen. Ideal ist das zum Beispiel für eine Liste mit Links zu Artikeln auf der eigenen Seite. Statt robots darf in name auch der Name eines einzelnen Bots stehen, etwa Googlebot oder Slurp.





