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. Für die Website www.example.com befindet sich die robots.txt-Datei also auf 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 bestimmten Crawler den Zugriff auf einen angegebenen Dateipfad auf einer Website. Wenn du in deiner robots.txt-Datei nichts anderes angibst, können alle Dateien implizit gecrawlt werden.

Dies ist eine einfache robots.txt-Datei, die aus zwei Regeln besteht:

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

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

Die Bedeutung der robots.txt-Datei:

  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. Erstelle eine Datei mit dem Namen „robots.txt“.
  2. Füge der robots.txt-Datei Regeln hinzu.
  3. Lade die robots.txt-Datei auf deine Website hoch.
  4. Teste die robots.txt-Datei.

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. Achte darauf, die Datei mit UTF-8-Codierung zu speichern, wenn du im Dialogfeld „Save file“ (Datei speichern) dazu aufgefordert wirst.

Format- und Speicherortregeln:

  • Die Datei muss den Namen „robots.txt“ haben.
  • Die Website darf nicht mehr als 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 unter https://www.example.com/robots.txt befinden. Sie kann 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. Falls du nicht auf das Stammverzeichnis deiner Website zugreifen kannst, 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 ignoriert, die nicht zum UTF-8-Bereich gehören, und robots.txt-Regeln als ungültig darstellt.

Der robots.txt-Datei Regeln hinzufügen

Regeln sind Anweisungen für Crawler, die festlegen, welche Teile deiner Website gecrawlt werden dürfen. Beachte bitte folgende Richtlinien, wenn du deiner robots.txt-Datei Regeln hinzufügst:

  • 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 das Ziel der Gruppe angibt.
  • Eine Gruppe enthält die Informationen,
    • für wen die Gruppe gilt (User-Agent),
    • auf welche Verzeichnisse oder Dateien der User-Agent zugreifen darf und
    • auf welche Verzeichnisse oder Dateien der User-Agent nicht zugreifen darf.
  • Crawler verarbeiten Gruppen von oben nach unten. Ein User-Agent kann nur 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 User-Agents aufgeführt. Ein Sternchen (*) steht für alle Crawler mit Ausnahme der 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: [Mindestens ein disallow- oder allow-Eintrag pro Regel]: ein Verzeichnis oder eine Seite unter der Stammdomain, die der User-Agent nicht crawlen soll. Wenn sich die Regel auf eine Seite bezieht, sollte der vollständige Seitenname verwendet werden, so wie er im Browser angezeigt wird. Er muss mit dem Zeichen / beginnen und sollte, sofern er sich auf ein Verzeichnis bezieht, mit dem Zeichen / enden.
  • allow: [Mindestens ein disallow- oder allow-Eintrag pro Regel]: ein Verzeichnis oder eine Seite unter der Stammdomain, die möglicherweise vom zuvor genannten User-Agent gecrawlt wird. Hierdurch wird eine disallow-Anweisung überschrieben, um so das Crawling eines Unterverzeichnisses oder einer Seite in einem ausgeschlossenen Verzeichnis zu erlauben. Wenn sich die Anweisung auf eine einzelne Seite bezieht, sollte der vollständige Seitenname verwendet werden, so wie er im Browser angezeigt wird. Bezieht sie sich auf ein Verzeichnis, sollte am Ende das Zeichen / stehen.
  • sitemap: [Optional, null oder mehrere pro Datei]: Der Speicherort einer Sitemap in dieser Website. 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 nicht gecrawlt werden dürfen. Weitere Informationen zu Sitemaps Beispiel:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

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

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

Auf unserer Seite darüber, wie Google die robots.txt-Spezifikation interpretiert, findest du eine vollständige Beschreibung der einzelnen Anweisungen.

robots.txt-Datei hochladen

Nachdem du die robots.txt-Datei auf deinem Computer gespeichert hast, kannst du sie für die 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 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 privates Browserfenster (oder ein vergleichbares) 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. Wenn du deine robots.txt-Datei aktualisiert hast und die im Cache gespeicherte Kopie von Google schnellstmöglich aktualisieren möchtest, erhältst du unter Aktualisierte robots.txt-Datei bei Google einreichen weitere Informationen.

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

Hänge einen Schrägstrich an den Namen des Verzeichnisses an, um das Crawlen des ganzen Verzeichnisses zu verhindern.


User-agent: *
Disallow: /calendar/
Disallow: /junk/
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 die Seite useless_file.html nicht zulassen.


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 $ auf URLs beziehen, die mit einem bestimmten String enden

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


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