robots.txt-Datei erstellen

Mit einer robots.txt-Datei kannst du steuern, auf welche Dateien Crawler auf deiner Website zugreifen können. Eine robots.txt-Datei ist eine Datei im Stammverzeichnis deiner Website. Im Fall der Website www.example.com befindet sich die robots.txt-Datei also im Dateipfad www.example.com/robots.txt. robots.txt ist eine Nur-Text-Datei, die dem Robots Exclusion Standard entspricht. Sie besteht aus einer oder mehreren Regeln. Jede Regel blockiert oder erlaubt einem oder allen Crawlern den Zugriff auf einen angegebenen Dateipfad auf einer Website. Wenn du in deiner robots.txt-Datei nichts anderes angibst, wird davon ausgegangen, dass alle Dateien gecrawlt werden dürfen.

Das folgende Beispiel zeigt eine einfache robots.txt-Datei mit zwei Regeln:

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

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

Die Regeln besagen sinngemäß:

  1. Der User-Agent namens „Googlebot“ darf keine URLs crawlen, die mit http://example.com/nogooglebot/ beginnen.
  2. Alle anderen User-Agents dürfen die gesamte Website crawlen. Diese zweite Regel könnte weggelassen werden und das Ergebnis wäre das gleiche. Standardmäßig dürfen User-Agents die gesamte Website crawlen.
  3. Die XML-Sitemap-Datei der Website befindet sich unter http://www.example.com/sitemap.xml.

Weitere Beispiele findest du im Abschnitt Syntax.

Grundlegende Richtlinien zum Erstellen einer robots.txt-Datei

Das Erstellen einer allgemein zugänglichen und nützlichen robots.txt-Datei umfasst vier Schritte:

  1. Eine Datei mit dem Namen „robots.txt“ erstellen
  2. Der robots.txt-Datei Regeln hinzufügen
  3. Die robots.txt-Datei auf deine Website hochladen
  4. Die robots.txt-Datei testen

robots.txt-Datei erstellen

Du kannst robots.txt-Dateien mit fast allen Texteditoren erstellen. Gängige Programme zur Erstellung gültiger robots.txt-Dateien sind beispielsweise Editor, TextEdit, vi oder Emacs. Verwende kein Textverarbeitungsprogramm, denn dort werden Dateien häufig in einem eigenen Format abgespeichert und es können unerwartete Zeichen hinzugefügt werden, beispielsweise typografische Anführungszeichen. Dies kann zu Problemen beim Crawling führen. Wenn du beim Speichern der Datei gefragt wirst, welche Codierung verwendet werden soll, wähle die UTF-8-Codierung.

Regeln für Format und Speicherort:

  • Die Datei muss den Namen „robots.txt“ haben.
  • Die Website darf nur genau eine robots.txt-Datei enthalten.
  • Die robots.txt-Datei muss sich im Stammverzeichnis des Websitehosts befinden, für den sie eingerichtet wird. Wenn du zum Beispiel das Crawling für alle URLs unter https://www.example.com/ regeln möchtest, sollte sich die robots.txt-Datei im Verzeichnis https://www.example.com/robots.txt befinden. Sie darf nicht in einem Unterverzeichnis platziert werden (z. B. in https://example.com/pages/robots.txt). Falls du dir nicht sicher bist, wie du auf das Stammverzeichnis deiner Website zugreifen kannst, oder eine Erlaubnis dazu benötigst, wende dich an deinen Webhostinganbieter. Solltest du nicht auf das Stammverzeichnis deiner Website zugreifen können, kannst du eine alternative Blockierungsmethode wie Meta-Tags verwenden.
  • Eine robots.txt-Datei kann auf Subdomains (z. B. https://website.example.com/robots.txt) oder nicht standardmäßige Ports (z. B. http://example.com:8181/robots.txt) angewendet werden.
  • Eine robots.txt-Datei muss eine UTF-8-codierte Textdatei sein (was ASCII einschließt). Es kann sein, dass Google Zeichen, die nicht zum UTF-8-Bereich gehören, ignoriert, sodass die robots.txt-Regeln nicht greifen würden.

Der robots.txt-Datei Regeln hinzufügen

Regeln sind Anweisungen für Crawler, die festlegen, welche Teile deiner Website gecrawlt werden dürfen. Beachte beim Hinzufügen von Regeln zu deiner robots.txt-Datei bitte die folgenden Regeln:

  • Eine robots.txt-Datei besteht aus einer oder mehreren Gruppen.
  • Jede Gruppe besteht aus mehreren Regeln oder Anweisungen mit jeweils einer Regel bzw. Anweisung pro Zeile. Jede Gruppe beginnt mit einer User-agent-Zeile, die angibt, für welchen Crawler die Gruppe gelten soll (Ziel).
  • Jede Gruppe von Regeln enthält die folgenden Angaben:
    • Wofür die Gruppe gilt (User-Agent)
    • Auf welche Verzeichnisse oder Dateien der User-Agent zugreifen darf
    • Auf welche Verzeichnisse oder Dateien der User-Agent nicht zugreifen darf
  • Crawler verarbeiten Gruppen von oben nach unten. Ein User-Agent kann nur jeweils einen Regelsatz anwenden. Er wendet die spezifischste Gruppe an, die auf diesen User-Agent anwendbar ist und zuerst in der Datei erscheint.
  • Standardmäßig wird davon ausgegangen, dass ein User-Agent alle Seiten und Verzeichnisse crawlen darf, die nicht durch eine disallow-Regel blockiert sind.
  • Bei Regeln wird die Groß- und Kleinschreibung beachtet. Beispielsweise gilt disallow: /file.asp für https://www.example.com/file.asp, aber nicht für https://www.example.com/FILE.asp.
  • Mit dem Zeichen # wird der Beginn eines Kommentars gekennzeichnet.

Die Google-Crawler unterstützen die folgenden Anweisungen in robots.txt-Dateien:

  • user-agent: [Erforderlich, einer oder mehrere pro Gruppe] Die Anweisung gibt den Namen des automatischen Clients (Suchmaschinen-Crawler) an, für den die Regel gilt. Das ist die erste Zeile für jede Regelgruppe. Die Namen der User-Agents von Google sind in der Liste der Google-Crawler (User-Agents) aufgeführt. Wenn ein Sternchen (*) verwendet wird, gilt die Regel für alle Crawler. Ausgenommen davon sind die verschiedenen AdsBot-Crawler, die ausdrücklich benannt werden müssen. Beispiel:
    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: Block all but AdsBot crawlers
    User-agent: *
    Disallow: /
  • disallow: [pro Regel muss es mindestens einen disallow- oder allow-Eintrag geben]: Gibt das Verzeichnis oder die Seite unter der Stammdomain an, die der User-Agent nicht crawlen soll. Wenn sich die Regel auf eine Seite bezieht, muss der vollständige Seitenname verwendet werden, so wie er im Browser angezeigt wird. Er muss mit dem Zeichen / beginnen und muss, sofern er sich auf ein Verzeichnis bezieht, mit dem Zeichen / enden.
  • allow: [pro Regel muss es mindestens einen disallow- oder allow-Eintrag geben]: Gibt das Verzeichnis oder die Seite unter der Stammdomain an, die vom zuvor genannten User-Agent gecrawlt werden darf. Eine solche Anweisung setzt etwaige disallow-Anweisungen außer Kraft und kann verwendet werden, um das Crawling eines Unterverzeichnisses oder einer Seite in einem eigentlich ausgeschlossenen Verzeichnis zu erlauben. Wenn du eine einzelne Seite zulassen möchtest, gib den vollständigen Seitennamen an, wie er im Browser angezeigt wird. Handelt es sich um ein Verzeichnis, musst du die Regel mit dem Zeichen / abschließen.
  • sitemap: [Optional, null oder mehr Einträge pro Datei]: Gibt den Speicherort einer Sitemap für diese Website an. Die Sitemap-URL muss eine vollständig qualifizierte URL sein. Google geht nicht von Varianten aus und prüft diese auch nicht (z. B. http- bzw. https-Varianten oder Varianten mit bzw. ohne „www“). Sitemaps sind eine praktische Möglichkeit, Google zu zeigen, welche Inhalte gecrawlt werden sollen, im Unterschied zu den „Allow“-/„Disallow“-Anweisungen, mit denen dem Googlebot mitgeteilt wird, welche Inhalte gecrawlt werden dürfen oder eben nicht gecrawlt werden dürfen. Weitere Informationen über Sitemaps Beispiel:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

Bei allen Anweisungen mit Ausnahme von sitemap wird für Präfixe, Suffixe oder ganze Strings bei Pfaden der Platzhalter * unterstützt.

Zeilen, die mit keiner dieser Anweisungen übereinstimmen, werden ignoriert.

Eine vollständige Beschreibung der einzelnen Anweisungen findest du auf unserer Seite Wie Google die robots.txt-Spezifikation interpretiert.

robots.txt-Datei hochladen

Nachdem du die robots.txt-Datei auf deinem Computer gespeichert hast, kannst du sie für Suchmaschinen-Crawler verfügbar machen. Hierfür gibt es kein Tool, da die Vorgehensweise zum Hochladen der robots.txt-Datei auf deine Website von der jeweils konkreten Website- und Serverarchitektur abhängt. Wende dich an deinen Hosting-Anbieter oder suche in der entsprechenden Dokumentation. Du kannst zum Beispiel nach „Dateien hochladen Infomaniak“ suchen.

Teste nach dem Hochladen der robots.txt-Datei, ob sie öffentlich zugänglich ist und ob Google sie parsen kann.

robots.txt-Markup testen

Wenn du testen möchtest, ob die hochgeladene robots.txt-Datei öffentlich zugänglich ist, öffne ein Fenster für das private Surfen (die Bezeichnung dieser Funktion ist von Browser zu Browser verschieden) und rufe den Speicherort der robots.txt-Datei auf. Beispiel: https://example.com/robots.txt. Wenn du den Inhalt deiner robots.txt-Datei siehst, kannst du das Markup testen.

Google bietet zwei Optionen zum Testen des robots.txt-Markups:

  1. den robots.txt-Tester in der Search Console. Dieses Tool kannst du nur für robots.txt-Dateien verwenden, die bereits auf deiner Website zugänglich sind.
  2. Entwicklern empfehlen wir die Open-Source-Bibliothek „robots.txt“ von Google, die auch in der Google Suche verwendet wird. Mit diesem Tool kannst du robots.txt-Dateien lokal auf deinem Computer testen.

robots.txt-Datei an Google senden

Nachdem du deine robots.txt-Datei hochgeladen und getestet hast, finden und verwenden die Google-Crawler sie automatisch. Du brauchst nichts weiter zu tun. Wie du vorgehen musst, wenn du deine robots.txt-Datei bearbeitet hast und die im Google-Cache gespeicherte Version schnellstmöglich aktualisieren möchtest, erfährst du unter Aktualisierte robots.txt-Datei bei Google einreichen.

Nützliche robots.txt-Regeln

Hier einige nützliche allgemeine robots.txt-Regeln:

Nützliche Regeln
Crawling der gesamten Website unterbinden

Beachte, dass in manchen Fällen URLs der Website indexiert werden können, obwohl sie nicht gecrawlt wurden.


User-agent: *
Disallow: /
Crawling eines Verzeichnisses und seines Inhalts verhindern

Wenn du das Crawling eines ganzen Verzeichnisses verhindern möchtest, hänge einen Schrägstrich an den Namen des Verzeichnisses an. Der unzulässige String kann an beliebiger Stelle im Pfad angegeben werden, sodass Disallow: /junk/ mit https://example.com/junk/ und https://example.com/for-sale/other/junk/ übereinstimmt.


User-agent: *
Disallow: /calendar/
Disallow: /junk/
Disallow: /books/fiction/contemporary/
Einem einzelnen Crawler Zugriff gewähren

Nur googlebot-news darf die gesamte Website crawlen.


User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
Allen Crawlern außer einem Zugriff gewähren

Unnecessarybot darf die Website nicht crawlen, alle anderen Bots dürfen es.


User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

Das Crawling einer einzelnen Seite verhindern

Du kannst beispielsweise angeben, dass die Seite useless_file.html nicht gecrawlt werden soll.


User-agent: *
Disallow: /useless_file.html

Ein bestimmtes Bild aus Google Bilder fernhalten (blockieren)

Du kannst beispielsweise das Bild dogs.jpg blockieren.


User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

Alle Bilder auf deiner Website aus Google Bilder fernhalten (blockieren)

Google kann Bilder und Videos nur indexieren, wenn sie gecrawlt wurden.


User-agent: Googlebot-Image
Disallow: /

Das Crawling von Dateien eines bestimmten Dateityps verhindern

Du kannst beispielsweise das Crawling aller .gif-Dateien unterbinden.


User-agent: Googlebot
Disallow: /*.gif$

Das Crawling der gesamten Website verhindern, aber Mediapartners-Google zulassen

Deine Seiten erscheinen dann nicht in den Suchergebnissen, werden aber weiterhin vom Web-Crawler Mediapartners-Google analysiert, um zu entscheiden, welche Anzeigen ausgeliefert werden sollen.


User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
Mit $ die Regel auf URLs beziehen, die mit einem bestimmten String enden

Beispielsweise kannst du alle .xls-Dateien ausschließen.


User-agent: Googlebot
Disallow: /*.xls$