robots.txt für Suchmaschinen

Crawler oder Robots der der Suchmaschinen werden über die Datei robots.txt gebeten, bestimmte Seiten oder Verzeichnisse nicht zu indexieren.

Verwendung der Datei robots.txt

Die Datei robots.txt ist vor allem dafür vorgesehen, Crawlern von Suchmaschinen den Wunsch zu übermitteln, den Zugriff auf bestimmte Seiten oder Verzeichnisse eines Webangebotes zu unterlassen bzw. durchzuführen. Darüber hinaus gibt es noch einige spezifische Anweisungen, z.B. zur zeitlichen Verzögerung des Zugriffs durch Crawler der Suchmaschinen.

Es ist nicht zwingend, eine robots.txt einzusetzen. Viele Spider suchen danach, haben aber kein Problem wenn diese nicht vorhanden ist. Eine nicht vorhandene robots.txt bedeutet, es gibt keine Einschränkungen für die Erfassung der Inhalte der Webpräsenz. Ausnahmslos alle Inhalte dürfen erfasst werden.

Durch den Aufruf der nicht vorhandenen robots.txt wird ein HTTP-Statuscode 404 ausgegeben, der in den Logfiles erfasst wird. In Webstatistiken wird der 404 HTTP-Statuscode häufig als Fehlermeldung bezeichnet. Die Fehlermeldungen sind kein Problem, da es sich um keinen Fehler handelt. Die 404 Meldung der robots.txt erscheinen nicht mehr sobald die Datei vorhanden ist.

Programme der Suchmaschinen, welche die Dokumente aus dem Web “einsammeln”, werden Crawler genannt.

Müssen wir uns vor Suchmaschinen verstecken?

Normalerweise ist jeder Betreiber einer Website stolz, wenn seine Seiten in möglichst vielen Suchmaschinen und Webverzeichnissen gelistet sind. Es kann jedoch Gründe geben, Crawler der Suchmaschinen von bestimmten Verzeichnissen oder Dateien fernzuhalten.
Einige mögliche Anwendungsfälle:

  • Testverzeichnisse mit unfertigen Seiten
  • Private Dateien
  • technische Bereiche
  • Aussperren “wilder Crawler”

Die Programmierung von Spidern, welche übrigens nicht nur von Suchmaschinen eingesetzt werden, muss sehr sorgfältig erfolgen. So kann ein aggressiv arbeitender Spider durch eine Vielzahl von Abrufen pro Zeiteinheit den Server, auf dem die abgefragten Dokumente liegen, überlasten. Dann spricht man von “wilden Crawlern”. Wie echte Crawler erkannt werden ist hier beschrieben:
Yahoo! Crawler , MSNBot, GoogleBot

Normalerweise werden Dateien in Verzeichnissen nicht gefunden, wenn kein Link darauf verweist und bei keinem Suchdienst angemeldet wurden. Sobald jedoch eine andere Person, z.B. ein Freund oder guter Bekannter, völlig begeistert von Ihren Inhalten, auf den ungeschützten privaten Bereich verweist, können über diesen Verweis Spider der Suchmaschinen Ihre Seiten finden und indexieren.

robots.txt oder Meta Tag robots?

Es gibt zwei Arten, den Crawlern mitzuteilen, in welcher Art der zugriff auf Dateien gestattet wird. Auf Dateiebene lässt sich besser realisieren, dass eine Seite nicht in den Index von Suchmaschinen gelangt. Dann sollte man mit “noindex” per robots Meta-Tags im Datei-Header verwalten. Für eine gesamte Webpräsenz ist die zentrale Datei robots.txt ein effizienteres Werkzeug. Allerdings, können ausgeschlossene Seiten dennoch im Index erscheinen, solange andere Seiten einen Link gesetzt haben. Dann kann die URL und der Verweistext von der verweisenden Seite ausgelesen und in den Resultaten der Suchmaschine (speziell Google) angezeigt werden, ob wohl die Datei selbst vom indexieren über die robots.txt ausgeschlossen ist.

Die robots.txt erstellen

Mit einem normalen Texteditor können Sie die Datei erstellen und als Textdatei abspeichern.

Merke: Beachten Sie beim Abspeichern, dass alle Buchstaben des Dateinamen klein geschrieben werden !
Richtig:

robots.txtFalsch: Robots.txt

Merke: Innerhalb der Datei müssen Sie darauf achten, dass jede Zeile mit einem Grossbuchstaben beginnt!

Beispiel:

User-agent: *
Disallow: /test/
Die 1. Zeile bestimmt welcher Spider keinen Zugriff erhält.
Ein

*bedeutet: Alle Spider.

Merke: Das * Zeichen kann nicht in der Disallow-Zeile eingesetzt werden.

Hingegen heisst:

User-agent: backrubdass nur der Spider mit dem Namen backrub (ehemaliger Name des Google-Spider), auf die unter Disallow genannten Verzeichnisse oder Dateien nicht zugreifen soll.

Die zweite Zeile gibt im obigen Beispiel an, das Verzeichnis test soll nicht gespidert werden.
Verzeichnisangaben erfolgen immer absolut, vom Hauptverzeichnis (root-Verzeichnis) des Webserver. Sie beginnen und enden mit einem /

Es können beliebig viele Spider benannt werden.
Merke: Für jeden Spider muss eine neue Zeile beginnend mit

User-agent:gefolgt vom Spidernamen erstellt werden.

Es können beliebig viele Verzeichnisse benannt werden, auf die nicht zugegriffen werden soll.
Merke: Für jedes Verzeichnis muss eine neue Zeile beginnend mit

Disallow:erstellt werden.

Einzelne Dateien benennen:

User-agent: *
Disallow: /test/test1.html
Disallow: /test/test2.html
Disallow: /test/spezial/test3.html
Merke: Für jede Datei muss eine neue Zeile beginnend mit

Disallow:erstellt werden.

Anweisungen für mehrere Spider:

User-agent: spider1
Disallow: /test/test1.html
User-agent: spider2
Disallow: /test/spezial/

User-agent: spider3
Disallow: /

Je Spider wird also eine

User-agent:Zeile erstellt, gefolgt von beliebig vielen

Disallow:Zeilen, welche jeweils genau diesem Spider angeben, wo er nicht indexieren soll.

Merke: Eine leere oder nicht vorhandene Datei robots.txt bedeutet, es gibt keine Einschränkungen für das Indexieren von Dateien.

Gemeinsame Richtlinien für die robots.txt, die von Yahoo!, Google und Microsoft unterstützt werden (Stand Juni 2008):

RICHTLINIE WIRKUNG EINSATZMÖGLICHKEITEN UND BEISPIELE
Disallow Veranlasst den Crawler, die Site nicht zu indexieren – die Datei robots.txt der Site muss jedoch gecrawlt werden, um diese Anweisung zu finden. Die per Disallow gesperrten Seiten werden jedoch nicht gecrawlt. ‘No Crawl’-Seite einer Site. Diese Anweisung ist die Default-Syntax und bewahrt (einen) bestimmte(n) Pfad(e) einer Site davor, gecrawlt zu werden.Beispiele:Disallow:/
Gesamte Präsenz soll nicht gecrawlt werdenDisallow: /*?
Seiten, die ein Fragezeichen in der URL enthalten, sollen nicht gecrawlt werden.
Allow Sagt dem Crawler, welche Seiten der Site indexiert werden sollen, so dass Sie diese Anweisung in Kombination mit Disallow verwenden können. Wurde der Zugriff nicht durch Disallow eingeschränkt, ist er erlaubt und muss nicht separat erlaubt werden. Die Anwendung von Allow ist vor allem im Zusammenhang mit Disallow-Anweisungen nützlich, durch die große Teile einer Site mit Disallow gesperrt sind ausser eines kleinen Teils, der darin eingeschlossen ist.Beispiel:Disallow: /verzeichnis/
Allow: /verzeichnis/datei.htm
$ Wildcard Unterstützung Sagt dem Crawler, alles ausgehend vom Ende einer URL zu suchen – bezieht sich auf eine große Anzahl von Verzeichnissen, ohne bestimmt Seiten anzugeben. ‘No Crawl’-Dateien mit bestimmten Mustern, z. B. Dateien eines bestimmten Dateityps, der immer eine bestimmte Erweiterung hat, wie etwa pdf.Beispiel:Disallow: /*.pdf$
Alle Dateien mit der Endung .pdf sollen nicht gecrawlt werdenDisallow: /*?
Allow: /*?$
Es sollen alle Dateien nicht gecrawlt werden, die ein Fragezeichen enthalten. Dateien, welche direkt mit einem Fragezeichen enden, sollen jedoch indexiert werden.
* Asterisk-Wildcard Unterstützung Sagt dem Crawler, dass er nach einer Sequenz von Zeichen suchen soll. ‘No Crawl’-URLs von einem bestimmten Muster, z. B. Disallow -URLs mit Session-IDs oder anderen überflüssigen Parametern.Beispiel:Disallow: /geheim*/
alle verzeichnisse die mit geheim beginnen ( /geheimnis/, /geheim-halten/ usw.) sollen vom Crawling ausgeschlossen werden
Sitemaps Location Sagt dem Crawler, wo er die Sitemaps finden kann. Auf andere Orte verweisen, an denen sich Feeds befinden, die Crawlern helfen, URLs auf einer Site zu finden.Beispiel:Sitemap: http://www.meine-website.de/sitemap.xml

 

 

 

 

Hinweis auf Sitemap

Eine beliebige Zeile der robots.txt soll nach dem Sitemap-Protokoll folgenden Verweis enthalten:

Sitemap: http://www.meine-website.de/sitemap.xml

Der Verweis muss als vollständige URL geschrieben werden. Der Speicherort für die Sitemap kann beliebig in einem für Suchmaschinen zugänglichen Verzechnis gewählt werden. Websitebetreiber, die mehrere Domains betreiben, können die Sitemaps auf einer Domain ablegen und von den anderen Domains auf die jeweilige Sitemap verweisen.

Verzögerung für Crawler

Wird ein Webserver zu heftig gecrawlt, kann eine Zeit angegeben werden, die zwischen den Seitenabrufen einzuhalten ist. Nachfolgende Anweisung gilt für den Yahoo! Crawler Slurp und gibt eine Wartezeit zwischen den Seitenabrufen von 20 Sekunden an.

User-agent: Slurp
Crawl-delay: 20

Für den MSNBot ist es ebenfalls möglich, eine Verzögerung anzugeben. Z.B:

User-agent: MSNBot
Crawl-delay: 120

Eine Verzögerung für den GoogleBot kann in den Webmastertools angeben werden. Der GoogleBot selbst erklärt in einem Interview:
“Es geht für Webmaster normalerweise nach hinten los, wenn sie versuchen, die Crawl-Rate durch die Änderung der robots.txt-Datei zu kontrollieren.

Kommentare:

Zusätzlich können Kommentare in der Datei untergebracht werden.

#Das ist ein Kommentar!

Der Kommentar beginnt immer mit dem Raute-Zeichen:

#Was danach folgt, ist Ihrem guten Geschmack überlassen.

Syntax Checker

Möchten Sie nun wissen, ob sie alles richtig gemacht haben, lassen Sie Ihre fertige Datei auf korrekte Schreibweise überprüfen:
robots.txt syntax checker

Verbindlichkeit

Die Informationen in der robots.txt sind nur Empfehlungen, kein Spider wird gezwungen, sich daran zu halten. Die Erfahrung zeigt, grosse, wichtige Suchdienste haben ihre Spider entsprechend dem offenen Robots-Exclusion Protokoll programmiert. Das heisst, sie beachten die Datei robots.txt und die Anweisungen für Robots.

Wie finden Spider die robots.txt?

Besucht ein Spider eine Domain, sucht er direkt und nur dort unter der Hauptdomain.

Beispiel: http://www.meinedomain.com/robots.txt

Nur wenn die Datei im Hauptverzeichnis der Domain liegt, wird sie von den Spidern gefunden! Es macht keinen Sinn separate Dateien für Unterverzeichnisse zu erstellen, die werden nicht gelesen.

Zusätzliche Anweisungen für einzelne Dateien lassen sich über den robots Meta-Tag realisieren.

Mythen und Legenden

Immer wieder kursieren Mythen, falsche Vorstellungen über die Verwendung der Datei robots.txt. Kenner werden mit dem Kopf schütteln, doch es gibt genügend Informationsbedarf.

Schlüsselworte in der robots.txt ?

Es ist völlig unsinnig, in die robots.txt zahlreiche Schlüsselworte zu schreiben.
Mehr Infos hier: robots.txt für Suchmaschinen optimieren

Meta-Tags in der robots.txt ?

Nein. Diese Datei ist eine reine Textdatei, HTML-Anweisungen werden dort nicht interpretiert.

Kommentare in der robots.txt ?

Ja, Kommentare sind möglich und weiter oben beschrieben.

Höheres Ranking durch Einsatz der robots.txt ?

Werden genügend externe Verweise gesetzt, hilft das dem Ranking der robots.txt. Diese kann jedoch ihre Stärke nicht an andere Seiten weitergeben, weil keine Hyperlinks in der Datei möglich sind.

Indirekt könnte sich jedoch das Ausschliessen von Teilen der Website, die zum Haupthema nicht relevant sind (etwa Testbereiche), positiv auf das gesamte Ranking auswirken.

Risiken und Nebenwirkungen

Die Datei ist nicht geeignet, Webseiten oder Verzeichnisse eines Server zu schützen.

Im Gegenteil, Besucher können die robots.txt jeder beliebigen Domain aufrufen um zu sehen, welche Bereiche nicht für die Öffentlichkeit bestimmt sind. Sollten diese dann nicht geschützt sein, stehen Tore offen, die eigentlich niemand finden sollte. Richtigen Schutz vor dem Zugriff durch Crawler bieten passwortgeschützte Bereiche.

Ob eine Domain eine robots.txt benutzt und welchen Inhalt diese hat, erfahren Sie durch Eingabe von http://www.meinedomain.com/robots.txt wobei Sie für meinedomain.com den Namen der tatsächlichen Domain einsetzen.

Mehr Infos zu Robots und Crawler einschliesslich einer Liste aktiver Spider (in englisch):
The Web Robots Page

Comments

2 responses to “robots.txt für Suchmaschinen”

  1. […] denn hier wird erklärt um was es eigentlich geht.Robots.TXT richtig gemachtrobots.txt erstellenSuchmaschinen und die Datei robots.txtMit der Datei robots.txt Seiten vor Robots schützenGut, da Sie jetzt wissen, was eine robots.txt […]

  2. […] Suchmaschinen und die Datei robots.txt […]

Leave a Reply