robots.txt-Datei erstellen

Erste Schritte

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.

Hier ein Beispiel für eine einfache robots.txt-Datei, die aus zwei Regeln besteht:

# Group 1
User-agent: Googlebot
Disallow: /nogooglebot/

# Group 2
User-agent: *
Allow: /

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

Erklärung:

  1. Der User-Agent namens „Googlebot“ soll das Verzeichnis http://example.com/nogooglebot/ und seine Unterverzeichnisse nicht crawlen.
  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 für robots.txt-Dateien

Nachstehend findest du einige grundlegende Richtlinien für robots.txt-Dateien. Da es wichtig ist, die Eigenheiten der Syntax einer robots.txt-Datei zu verstehen, solltest du dir auch die vollständige Syntax von robots.txt-Dateien ansehen.

Format und Speicherort

Du kannst robots.txt-Dateien mit fast allen Texteditoren erstellen. Der Texteditor muss in der Lage sein, Standard-UTF-8-Textdateien zu erstellen. 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.

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 http://www.example.com/ regeln möchtest, sollte sich die robots.txt-Datei unter http://www.example.com/robots.txt befinden. Sie kann nicht in einem Unterverzeichnis platziert werden (z. B. in http://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. http://website.example.com/robots.txt) oder nicht standardmäßige Ports (z. B. http://example.com:8181/robots.txt) angewendet werden.

Syntax

  • Eine robots.txt-Datei muss eine UTF-8-codierte Textdatei sein (was ASCII einschließt). Die Verwendung anderer Zeichensätze ist nicht möglich.
  • Die Datei enthält eine oder mehrere Gruppen.
  • Jede Gruppe besteht aus mehreren Regeln oder Anweisungen mit jeweils einer Regel bzw. Anweisung pro Zeile.
  • 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.
  • Gruppen werden von oben nach unten verarbeitet und ein User-Agent kann nur einen Regelsatz anwenden. Er wendet die spezifischste Regel 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 den Regeln muss die Groß- und Kleinschreibung beachtet werden. Beispielsweise gilt Disallow: /file.asp für http://www.example.com/file.asp, aber nicht für http://www.example.com/FILE.asp.
  • Kommentare sind alle Inhalte nach einer #-Markierung.

In robots.txt-Dateien werden die folgenden Anweisungen verwendet:

  • 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. Im folgenden Beispiel wird ein Sternchen (*) verwendet, das für alle Crawler mit Ausnahme der verschiedenen AdsBot-Crawler stehen kann – Letztere müssen ausdrücklich benannt werden. Beispiele:
    # 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 Anweisung auf eine 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.
  • 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, dies 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.

Weitere Beispieldatei

Eine robots.txt-Datei enthält eine oder mehrere Gruppen, die alle mit einer User-agent-Zeile beginnen, in der das Zielverzeichnis für die Gruppen angegeben ist. Dies ist eine Datei mit zwei Gruppen und Inline-Kommentaren mit Erläuterungen zu den Gruppen:

# Block googlebot from example.com/directory1/... and example.com/directory2/...
# but allow access to directory2/subdirectory1/...
# All other directories on the site are allowed by default.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# Block the entire site from anothercrawler.
User-agent: anothercrawler
Disallow: /

Vollständige robots.txt-Syntax

Hier findest du die vollständige Syntax von robots.txt-Dateien. Bitte lies dir diese Informationen sorgfältig durch, da die robots.txt-Syntax ein paar knifflige Eigenheiten enthält, die du kennen solltest.

Nützliche robots.txt-Regeln

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

Regel Beispiel
Crawling der gesamten Website verhindern: 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: Gib das Verzeichnis gefolgt von einem Schrägstrich an. Verwende zum Blockieren privater Inhalte keinesfalls eine robots.txt-Datei, sondern eine geeignete Authentifizierungsmethode. Durch die robots.txt-Datei gesperrte URLs können indexiert werden, ohne dass sie gecrawlt wurden. Die robots.txt-Datei kann außerdem von allen Nutzern gelesen werden, wodurch der Speicherort deiner privaten Inhalte öffentlich zugänglich wird.

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

User-agent: Googlebot-news
Allow: /

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

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

Durch Auflisten einer einzelnen Seite nach dem Schrägstrich das Crawling dieser einzelnen Seite verhindern:


User-agent: *
Disallow: /private_file.html

Ein bestimmtes Bild aus Google Bilder fernhalten (blockieren):


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

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


User-agent: Googlebot-Image
Disallow: /

Crawling von Dateien eines bestimmten Dateityps verhindern (z. B. .gif):


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

Crawling der gesamten Website verhindern, aber AdSense-Anzeigen auf diesen Seiten ausliefern, also alle Web-Crawler außer Mediapartners-Google ausschließen. 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: /
Wenn du dich auf alle URLs beziehen möchtest, die mit einem bestimmten String enden, dann verwende $. In diesem Beispiel werden alle URLs blockiert, die auf .xls enden:

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