suchradar     Magazin     Archiv     Foren-Ticker     Blog-Ticker     Agenturen & Dienstleister     Links     Comic     Kalender     Newsletter    Blog 

- Werbung - Hier Werbung schalten -

robots.txt:
Crawler in die richtige Richtung lenken

Die Datei robots.txt bzw. der dazugehörige Standard Robots Exclusion Protocol existieren seit vielen Jahren. Diese Datei, abgelegt im Wurzelverzeichnis einer Website, hat nur einen einzigen Zweck: Den Zugang der Suchmaschinen oder anderer Software zu bestimmten Seiten einer Website zu blockieren. Es ist nicht zwingend nötig, eine robots.txt zu haben. Auch wenn einige automatisierte Tools wie Seitwert.de eine fehlende robots.txt monieren, ist diese auf gar keinen Fall notwendig; das Fehlen der Datei führt nicht zu Nachteilen.

Warum verfügen dann viele Websites über eine robots.txt-Datei? Wie gesagt dient diese vor allem dazu, bestimmte Seiten für Suchmaschinen zu sperren. Das kann z.B. aus den folgenden Gründen erforderlich sein:

  1. Häufig finden sich auf Websites doppelte Inhalte, d.h. es gibt mehrere URLs, die denselben Inhalt anzeigen (z.B. die normale Version eines Artikels und die Druckversion). Über die robots.txt kann man diese sperren, damit Suchmaschinen keine Strafmaßnahmen wegen doppelter Inhalte durchführen können.
  2. Oft existieren Testumgebungen einer Website (z.B. http://test.domain.de/ oder http://www.domain/v2), die auch nicht durch Suchmaschinen erfasst werden sollten, um doppelte Inhalte zu vermeiden.

Gelegentlich taucht übrigens noch das Gerücht auf, dass die robots.txt das Ranking verbessern könnte. Vor ein paar Jahren haben einige Webmaster z.B. versucht, dort Suchbegriffe einzutragen, um damit die Suchmaschinen reinzulegen. Derartige Versuche haben noch nie zum Erfolg geführt und werden es in der Zukunft auch nicht.

Aufbau der robots.txt

Der Aufbau der Datei robots.txt ist im Robots Exclusion Protocol definiert. Dieser schon in den 90er Jahren definierte Standard umfasst allerdings z.B. keine Wilcards (siehe unten), so dass sich die drei großen Suchmaschinen-Betreiber unlängst in Blog-Postings [1-3] geäußert haben, welchen Umfang sie jetzt insgesamt unterstützen. Durch diese drei Beiträge wurde also ein neuer De-Facto-Standard geschaffen.

Der grundlegende Aufbau einer robots.txt hat sich dabei nicht geändert. Die kürzeste robots.txt zeigt die beiden wichtigsten Elemente:

User-agent: *
Disallow : /

Die erste Zeile bedeutet, dass das Folgende für jede Art von Software/Crawler gilt; wenn man z.B. nur Anweisungen für den Google-Crawler schreiben möchte, müsste man an dieser Stelle "User-agent: Googlebot" schreiben.

Die zweite Zeile legt nun fest, welche URLs nicht erfasst werden dürfen. In diesem Fall sind alle Dateien gesperrt, deren Pfad mit einem / beginnt. Die Disallow-Anweisungen beziehen sich nämlich auf den Pfad innerhalb der URL, also das, was nach http://www.domain.de steht.

Die oben gezeigte /robots.txt würde also die gesamte Website für alle Crawler sperren - etwas, das man in der Regel nicht möchte. Häufiger finden sich daher Disallow-Anweisungen, die nur bestimmte Pfade sperren, z.B.

User-Agent: *
Disallow: /print/

Wenn ein Crawler nun diese Website besucht, würde er eine URL wie http://www.domain.de/artikel-33.html indexieren, aber die URL http://www.domain.de/print/artikel-33.html nicht.

Die Disallow-Anweisungen beziehen sich im ursprünglichen Standard immer auf den Beginn eines URL-Pfades. In vielen Fällen stehen die Merkmale, anhand derer man sperren möchte, nicht immer am Anfang des Pfades. Hierzu haben sich nun die Suchmaschinen-Betreiber darauf geeinigt, so genannte Wildcards offiziell zu unterstützen. In die Disallow-Anweisungen dürfen nun also vor allem * eingefügt werden; auch der Operator $ ist jetzt erlaubt.

Das * dient dazu, eine Menge an Zeichen zu "überbrücken". Wenn man also alle Dateien möchte, in deren URL-Pfad irgendwo die Zeichenkette "print" vorkommt, kann man das wie folgt notieren:

Disallow: /*print*

Der Operator $ dient dazu, das Ende des URL-Pfads zu definieren. Wenn man also Dateien sperren möchte, die auf pdf enden, könnte man die folgende Zeile einfügen:

Disallow: /*pdf$

In diesem Fall würden eben alle URLs gesperrt, die auf "pdf" enden; wenn die Zeichenkette "pdf" irgendwo inmitten der URL stehen würde, wäre diese aber nicht gesperrt.

Prinzipiell kann man neben Disallow-Anweisungen aber auch Allow-Anweisungen platzieren. Man kann also z.B. ein Verzeichnis sperren, aber über Allow-Anweisungen bestimmte Dateien innerhalb dieses Verzeichnisses wieder freigeben. Das folgende Beispiel zeigt das Zusammenspiel der Anweisungen, indem das Verzeichnis /halde/ gesperrt wird, aber ein Unterverzeichnis dann wieder für Suchmaschinen geöffnet wird:

Allow: /halde/2007/
Disallow: /halde/
Robots.txt vs. Meta-Tags

Prinzipiell gibt es für das Aussperren der Suchmaschinen auch einen Meta-Robots-Tag. Diesen kann man in eine bestimmte Seite einbauen, damit eine bestimmte Seite von Suchmaschinen nicht erfasst wird:

<meta name="robots" content="noindex">

Auch wenn sowohl robots.txt als auch der Meta-Robots-Tag zum selben Ergebnis führen, hat die robots.txt einen klaren Vorteil: Die Suchmaschinen muss eine Datei nicht erst herunterladen, um dann zu entscheiden, ob diese erfasst werden darf oder ignoriert werden muss.

Das ist insbesondere dann wichtig, wenn eine Website aus sehr vielen Seiten besteht. Wenn man davon ausgeht, dass ein Crawler pro Zeiteinheit nur eine bestimmte Menge an Seiten indexiert, möchte man natürlich gerade als Betreiber großer Websites, dass nur die relevanten Seiten erfasst werden. Die Verwendung einer robots.txt sorgt also dafür, dass zu sperrende Seiten erst gar nicht heruntergeladen werden, was dann wieder mehr "Energie" des Crawlers für relevante Seiten übriglässt.

Weitere Anweisungen

Neben den Allow- und Disallow-Anweisungen gibt es noch zwei weitere Optionen: Sitemaps und Crawl-Delay.

Die Sitemaps-Anweisung dient der Verlinkung der XML-Sitemaps (sofern vorhanden). Sitemap-Dateien können prinzipiell auch über die Webmaster-Tools der jeweiligen Suchmaschinen angemeldet werden (z.B. Google Webmaster Tools, Menü "Sitemaps"). Alternativ kann die URL der Datei aber eben auch in der robots.txt-Datei angegeben werden.

Sitemaps: http://www.domain.de/sitemap.xml

Über den Parameter "Crawl-Delay" können Suchmaschinen-Crawler ausgebremst werden (wird derzeit nicht von Google unterstützt). Die Verzögerung gibt dabei die minimale Zeit zwischen zwei Zugriffen an. Beispiel:

Crawl-Delay: 5

Zwischen zwei heruntergeladenen Dateien müssen also in diesem Fall mind. fünf Sekunden Zeit vergehen. Diese Anweisung wird für viele Website-Betreiber nicht relevant sein, da wohl nur sehr selten die Zugriffe den Web-Server in die Knie zwingen.

Ob sinnvoll oder nicht: Diese Anweisung kann auch mit "User-agent" kombiniert werden, also z.B.

User-agent: Slurp
Crawl-Delay: 5
User-agent: Googlebot
Crawl-Delay: 1

Während Yahoo (Slurp ist der Name für Yahoos Crawler) also fünf Sekunden zwischen zwei Zugriffen warten muss, darf Google wesentlich schneller agieren.

Fazit

Die drei großen Suchmaschinen-Betreiber haben die robots.txt vor allem dank der Wildcards sinnvoll erweitert und Website-Betreibern Sicherheit über den Umfang der unterstützten Anweisungen gegeben. Eine robots.txt ist wie gesagt nicht erforderlich, stellt aber für viele Websites - vor allem große Portale - eine wichtige Hilfe dar, bestimmte Seiten gezielt zu sperren.

[1] http://googlewebmastercentral.blogspot.com/2008/06/improving-on-robots-exclusion-protocol.html
[2] http://www.ysearchblog.com/archives/000587.html
[3] http://blogs.msdn.com/webmaster/archive/2008/06/03/robots-exclusion-protocol-joining-together-to-provide-better-documentation.aspx

 

Über den Autor

Markus Hövener ist Chefredakteur des Magazins suchradar und geschäftsführender Gesellschafter der Suchmaschinen-Marketing-Agentur Bloofusion Germany.

Email: markus@suchradar.de

Kommentare

Seodeluxe schrieb am 12.09.2008:
Hallo Markus, die generelle Freigabe aller Verzeichnisse erfolgt ja klassisch über:

User-agent: *
Disallow:

In den Google Webmaster Tools wird einem jedoch als Erstellung einer neuen robots.txt von Google folgendes vorgeschlagen:

User-agent: *
Allow: /

Ich glaube aber das nur Google diese Syntax verwendet, habt ihr da mehr Information darüber? Ich bleibe jedenfalls erstmal bei der alten Syntax.

Beste Grüße
Marcell
Kommentar abgeben
Name
E-Mail (wird nicht veröffentlicht)
Spamschutz: Wieviel ist 2+2?
Kommentar
 

Agenturen & Dienstleister

SEO-/SEM-Agenturen
> Alle Agenturen
> Agenturen in Berlin, Bremen, Frankfurt, Hamburg, Köln, München

Weitere Dienstleister:
> Content-Dienstleister

 

Ausgabe 24 (6. Juli 2010)

Titelthema "Linkaufbau":
> Linkbuilding Quo Vadis
> Linkaufbau im Unternehmen
> Linkaufbau mit Infografiken
> Linkaufbau: Ressourcen

Außerdem:
> Modifiziertes Broad Match
> Google AdWords Trickkiste
> SEO in Action: XENU
> Google Webmaster Tools
> SEO & Markenverletzungen
> Facebook für Online-Shops
> HTML 5: Relevant für SEO?
> LinkedIn DirectAds

 

Jetzt herunterladen...

RSS-Feed

 

Unsere Partner

Weitere Partner...

 

Der suchradar-Bookshop

Bücher rund um SEO, SEM, Usability und Landing Pages

   

 

suchradar ist ein Projekt der
SEO-/SEM-Agentur Bloofusion