robots.txt-Datei erstellen

Wenn du einen Hostanbieter wie Wix oder Blogger verwendest, kann es sein, dass du keine robots.txt-Datei erstellen oder bearbeiten musst.

Erste Schritte

Eine robots.txt-Datei ist eine Datei im Stammverzeichnis deiner Website. Für die Website www.beispiel.de befindet sich die robots.txt-Datei, also auf www.beispiel.de/robots.txt. Eine robots.txt-Datei ist eine Nur-Text-Datei, die den Robots Exclusion Standard einhält. Sie besteht aus einer oder mehreren Regeln. Jede Regel blockiert oder erlaubt einem bestimmten Crawler den Zugriff auf einen festgelegten 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 den Ordner http://example.com/nogooglebot/ und seine Unterverzeichnisse nicht crawlen.
  2. Alle anderen User-Agents können auf die gesamte Website zugreifen. Diese Regel könnte weggelassen werden und das Ergebnis wäre das gleiche, da grundsätzlich von einem vollständigen Zugriff ausgegangen wird.
  3. Die XML-Sitemap-Datei der Website befindet sich unter www.beispiel.de/sitemap.xml.

Ein ausführlicheres Beispiel folgt weiter unten.

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.

Mit dem robots.txt-Tester kannst du robots.txt-Dateien für deine Website erstellen oder bearbeiten. Außerdem lässt sich damit die Syntax und die Auswirkung auf deine Website prüfen.

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/ festlegen 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.
  • Kommentare sind alle Inhalte nach einer #-Markierung.

Syntax

  • robots.txt muss eine UTF-8-codierte Textdatei sein (was ASCII-Dateien einschließt). Die Verwendung anderer Zeichensätze ist nicht möglich.
  • Eine robots.txt-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 Regel gilt (User-Agent),
    • auf welche Verzeichnisse oder Dateien der User-Agent zugreifen darf und/oder
    • 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.

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

  • User-agent: [erforderlich; einer oder mehrere pro Gruppe]: Name des Robot (Web-Crawler-Software) der Suchmaschine, für den die Regel gilt. Dies ist die erste Zeile für jede Regel. Die meisten User-Agents sind in der Web Robots Database oder in der Liste der User-Agents aufgeführt. Der Platzhalter * kann für Präfixe, Suffixe oder ganze Strings in Pfaden verwendet werden. Im folgenden Beispiel wird ein Sternchen (*) verwendet, das für alle Crawler mit Ausnahme der verschiedenen AdsBot-Crawler stehen kann, die ausdrücklich benannt werden müssen. Weitere Informationen findest du in der Liste der Google-Crawler. 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 vom User-Agent nicht gecrawlt werden soll. Wenn sich „Allow“ auf eine Seite bezieht, sollte der vollständige Seitenname verwendet werden, so wie er im Browser angezeigt wird. Bei einem Verzeichnis sollte am Ende das Zeichen „/“ stehen. Der Platzhalter * kann für Präfixe, Suffixe oder ganze Strings in Pfaden verwendet werden.
  • Allow: [mindestens ein Disallow- oder Allow-Eintrag pro Regel]: ein Verzeichnis oder eine Seite unter der Stammdomain, die vom zuvor genannten User-Agent gecrawlt werden soll. Hierdurch wird „Disallow“ überschrieben, um so das Crawling eines Unterverzeichnisses oder einer Seite in einem ausgeschlossenen Verzeichnis zu erlauben. Wenn sich „Allow“ auf eine Seite bezieht, sollte der vollständige Seitenname verwendet werden, so wie er im Browser angezeigt wird. Bei einem Verzeichnis sollte am Ende das Zeichen „/“ stehen. Der Platzhalter * kann für Präfixe, Suffixe oder ganze Strings in Pfaden verwendet werden.
  • Sitemap: [optional; Anzahl: keine Angabe oder beliebig oft pro Datei]: der Speicherort einer Sitemap für diese Website. Es muss sich um eine voll qualifizierte URL handeln. 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

Andere Regeln 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. Das Folgende 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. Hinweis: Das Beispiel gilt nicht für die verschiedenen AdsBot-Crawler, die ausdrücklich benannt werden müssen.

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, was dazu führt, dass der Speicherort deiner privaten Inhalte öffentlich zugänglich ist.

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 der Seite nach dem Schrägstrich das Crawling einer einzigen Webseite verhindern:


User-agent: *
Disallow: /private_file.html

Ein bestimmtes Bild für Google Bilder blockieren:


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

Alle Bilder auf deiner Website für Google Bilder 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 bestimmen, 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$