Das müssen Sie wissen, wenn Sie eine Robots.txt-Datei auf Ihrem Server anlegen wollen.

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 der robots.txt

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 den Webmaster-Tools von Google prüfen

In den Webmaster-Tools von Google können Sie prüfen, ob Ihre robots.txt sauber funktioniert.

Die Robots-Prüfung finden Sie direkt unter https://www.google.com/webmasters/tools/robots-analysis. Wählen Sie zunächst Ihre Seite aus, die Sie prüfen wollen (Sie müssen die Site dafür vorher bei den Webmaster-Tools eingetragen haben und als Eigentümer verifiziert sein.

Robots.txt in den Webmaster-Tools pr?fen

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.

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:

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.

Lesen Sie hier weiter: Duplicate Content