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:
- Der User-Agent namens „Googlebot“ soll den Ordner
http://example.com/nogooglebot/
und seine Unterverzeichnisse nicht crawlen. - 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.
- 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.
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 unterhttp://www.example.com/robots.txt
befinden. Sie kann nicht in einem Unterverzeichnis platziert werden (z. B. inhttp://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ürhttp://www.example.com/file.asp
, aber nicht fürhttp://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. |
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$ |