rankingCHECK
MENÜ

robots.txt – Was ist das und wie wende ich diese an?

Die Robots Exclusion Protocol, kurz robots.txt, ist eine reine Textdatei (nicht HTML), die vom Webmaster einer Domain erstellt wird um den Bot einer Suchmaschine anzuweisen, auf welche Teile einer Webseite er Zugriff bekommt. Wann und wie man diese verwendet wird hier erklärt!

Inhaltsverzeichnis:robots-txt
Was ist eine robots.txt?
Wann verwende ich diese?
Crawler von Google
Einfache Aufbaubeispiele
Fortgeschrittene Aufbaubeispiele
Hilfe von Tools
Test der robots.txt
Webseite im Index trotz Sperrung?

Was ist eine robots.txt?

Die Robots Exclusion Protocol, kurz robots.txt, ist eine reine Textdatei (nicht HTML), die vom Webmaster einer Domain erstellt wird um den Bot einer Suchmaschine anzuweisen, auf welche Teile einer Site er Zugriff bekommt. Die Erfindung der robots.txt geht auf Martijn Koster zurück. Diese wurde dann mit der Einführung von AltaVista und anderen beliebten Suchmaschinen in den darauf folgenden Jahren populär.

Wann verwende ich diese?

Man verwendet eine robots.txt, welche auf der Root-Ebene einer Domain (z.B. http://www.domain.de/robots.txt) anlegt wird um …

  • dem Webcrawler zu verbieten, auf nicht öffentliche Verzeichnisse einer Webseite zu gelangen
  • eine Suchmaschine daran zu hindern, Indexskripte, Utilities oder andere Arten von Code zu erreichen
  • vorhandene doppelte Inhalte, z.B. Druckversionen von HTML-Dateien, nicht zu indexieren
  • dem Webcrawler zu helfen die XML-Sitemap zu finden

Crawler von Google

Es gibt zahlreiche Crawler (User-Agent) von Google, die man in dem Dokument verwenden kann. In der folgenden Liste sind die gängigen aufgelistet, um z.B. das Indexieren von Bildern oder Videos zu verbieten.

Crawler User-Agent
Googlebot
(Google Websuche)
Googlebot
Googlebot für Nachrichten Googlebot-News
Googlebot für Bilder Googlebot-Image
Googlebot für Videos Googlebot-Video
Google Mobile Adsence Mediapartners-Google
oder
Mediapartners
Google AdSense Mediapartners-Google
oder
Mediapartners
Google AdsBot AdsBot-Google

Einfache Aufbaubeispiele

Nachdem ich die robots.txt jetzt ein wenig erklärt habe, kommen wir zum eigentlichen Teil dieses Dokuments: zum Aufbau! Die Syntax (Reihenfolge) gestaltet sich recht simpel.

Als erstes gibt man den Namen des Webcrawlers (User-Agent) an, der angesprochen werden soll. Anschließend den Befehl, also die Aktion, welche ausgeführt werden soll.

Die einfachste Version gilt als Regel für alle Webcrawler. Sie erlaubt das Crawlen der kompletten Seite

User-agent: *
Disallow:

Möchte man nur den Googlebot ansprechen, so fügt man den Webcrawler von Google hinzu:

User-agent: Googlebot
Disallow:

Disallow

Um eine bestimmte Seite oder gar ein Verzeichnis für den Googlebot auszuschließen, genügt das Hinzufügen in die Disallow-Zeile (Man kann so viele Disallow-Zeilen angeben wie möglich)

Ausschließen einer bestimmten Seite:

User-agent: Googlebot
Disallow: /unterseite.html

Ausschließen eines bestimmen Verzeichnis:

User-agent: Googlebot
Disallow: /verzeichnis/

Ich habe schon öfters erlebt, dass einige Webmaster nur bestimmten Crawlern das Indexieren bestimmter Teile einer Seite verbieten möchten. Hier ein Beispiel dafür:

User-Agent: Googlebot
Disallow:
User-Agent: msnbot
Disallow: /verzeichnis/
User-Agent: *
Disallow: /tmp/
Disallow: /logs

Mit der letzten Regel verbietet man allen Webcrawlern die tmp-Verzeichnisse und alle Verzeichnisse und Ordner, die mit /logs beginnen. Eine Liste mit allen gängigen Webcrawlern finden man hier http://www.robotstxt.org/db.html

Umgang mit HTTP und HTTPS Seiten

Ein Problem, womit viele Webmaster zu kämpfen haben, ist wenn SSL installiert ist und die Seiten über HTTP und HTTPS erreichbar sind. Hier benötigt man zwei getrennte Versionen des Dokuments. Jeweils eine, die unter http://www.domain.de/robots.txt und unter https://www.domain.de/robots.txt abgelegt ist.

Fortgeschrittene Aufbaubeispiele

Crawl-Verzögerung

Diese Anweisung teilt dem Webcrawler einer Suchmaschine mit, wie viele Sekunden zwischen den Crawl-Vorgängen der einzelnen Seiten vergehen soll. Eine Methode um die Belastung des Servers zu verringern. Diese wird von Yahoo!, Bing und Ask unterstützt.

User-Agent: Bingbot
Crawl-Delay: 5

Pattern-Matching:

Google und Bing erlauben die Verwendung von zwei regulären Ausdrücken, die verwendet werden können, um Seiten oder Verzeichnisse von den Webcrawlern auszuschließen. Diese sind einmal ein Stern (*) und das Dollarzeichen ($).

Um bestimmte Unterverzeichnisse zu sperren, die mit /verzeichnis beginnen (/verzeichnis1/, /verzeichnis2/, nutzt man die Hilfe eines Wildcards (*).  Dies wird von Google, Yahoo! und Bing unterstützt.

User-Agent: Googlebot
Disallow: /verzeichnis*/

Um alle URLs zu sperren die beispielweise auf .asp enden, nimmt man das Dollarzeichen ($) zur Hilfe:

User-Agent: Googebot
Disallow: /*.asp$

Sitemap

Die letzte Zeile, die oft Verwendung in der robots.txt findet, ist die Ortsangabe der XML-Sitemap. Es gibt viele Gründe eine XML-Sitemap für eine Webseite zu nutzen. Mein Kollege Ben hat hierzu einen interessanten Artikel verfasst, welcher die Indexierungshilfen einer XML-Sitemap beschreibt und erklärt, wie man diese in die Google Webmastertools einfügt. https://www.ranking-check.de/blog/xml-sitemaps-indexierungshilfen-fuer-suchmaschinen/

Um die Sitemap in die robots.txt hinzuzufügen, reicht eine einfache Zeile aus:

User-Agent: *
Disallow:
Sitemap: http://www.domain.de/sitemap.xml

Das gleiche gilt natürlich auch für Video- oder Bilder-Sitemaps

User-Agent: *
Disallow:
Sitemap: http://www.domain.de/sitemap.xml
Sitemap: http://www.domain.de/video-sitemap.xml
Sitemap: http://www.domain.de/bilder-sitemap.xml

Hilfe von Tools

Es gibt Zahlreiche Tools um eine robots.txt zu erstellen.  Selbst in den  Google Webmastertools konnte man mittels eines Tools, das von Google bereitgestellt wurde, diese erstellen lassen. Dieses ist aber vor längerer Zeit abgeschaltet worden.

Zwei dieser Tools, mit denen ich gerne arbeite, ist der Robots.txt File Generator von SEOBOOK  und der Robots.txt Generator von Pixelfolk.

Test der robots.txt

Um das erstellte Dokument zu testen kann man ebenfalls mit hilfreichen Tools arbeiten. Zwei gute wären beispielswiese hier http://tools.seobook.com/robots-txt/analyzer/ oder hier http://tool.motoricerca.info/robots-checker.phtml.

Eine weitere Möglichkeit ist ein Blick in die Webmastertools der Domain, was ich eher bevorzuge, da man hier einen sehr guten Überblick hat. Dazu geht man unter dem Punkt Crawling auf Blockierte URLs.

robots-txt-blockierte-urls

Hier hat man auf einen Blick die Summe der URLs, die man für den Googlebot blockiert hat.

Wenn der Pfad zur XML-Sitemap in der robots.txt eingefügt wurde, dann steht dort wie im Screenshot angezeigt „Gültiger Sitemap-Verweis gefunden“

image002

Um zu prüfen, ob die Disallow Regeln funktionieren, bedient man sich eines Test, in dem man die auszuschließenden URLs in das vorhandene Feld einträgt, und dies über den Button„Test“ überprüfen lasst.

image001

In wenigen Millisekunden spuckt Google auch schon das Ergebnis aus. Und das von mir vorher ausgeschlossene Verzeichnis /checkout/ ist für die Crawler blockiert.

Webseite doch im Index trotzt Sperrung?

Es kommt schonmal vor, dass eine Webseite in den Suchergebnissen einer Suchmaschine erscheint, obwohl man diese durch die robots.txt gesperrt hat.

Das ist der Fall, wenn eine gesperrte Seite sehr viele eingehende Links mit gleichem Linktext erhält. Für die Suchmaschine ist diese Seite dann so relevant und interessant, dass diese Seite zum gesuchten Linktext erscheint, aber wichtig: nicht in den Index gelangt. Dies macht sich dann so bemerkbar, dass das dazugehörige Snippet fehlt.

Ich hoffe ich konnte euch weiterhelfen. Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.

Christian Roeb ist SEO Consultant bei rankingCHECK. Er schreibt zu Themen rund um die Suchmaschinenoptimierung. In seiner Freizeit widmet er sich der Musik und geht Bouldern.

4.13 / 5 (15 votes)

Schreibe einen Kommentar

Loading Facebook Comments ...

4 Kommentare

Chris Roeb schrieb am 20. Januar, 2016 @ 10:50

Hallo Alexander,
das Disallow ist ein Befehl, mit dieser der Robot einer Suchmaschine, in diesem Fall alle Robots (User-Agent:*) angesprochen werden.
Lassen wir die Regel offen und schreiben,

Disallow:

erlauben wir dem Bot, dass er die gesamte Domain crawlen darf.
Nutzen wir hingegen den folgenden Befehl,

Disallow: /

setzen wir dem Bot einen Riegel vor die Tür und verbieten ihm dass er die komplette Domain crawlen darf.

Ich hoffe ist etwas verständlicher gewesen 😉
Bei Fragen kannst du dich gerne melden.

Beste Grüße,
Chris

Markus schrieb am 28. Januar, 2016 @ 21:05

Hallo Chris,
danke für den Artikel. Eigentlich ist auch alles verständlich. Ich habe jedoch das folgende Problem. Als robots.txt habe ich von
User-Agent: *
bis
User-Agent: *
Disallow:
Sitemap: http://www.domain.de/sitemap.xml
alles probiert und ich bekomme über die Webmastertools immer die folgende Meldung wenn ich die Sitemap teste: Sitemap enthält URLs, die von der “robots.txt”-Datei blockiert werden.
Ich checke es einfach nicht. Ich sperre doch nichts. Das hat mich den ganzen Tag beschäftigt und ich hab keinen Bock 🙁 mehr. Also vielleicht kannst Du mir ja helfen. Vielen Dank im Voraus. LG Markus

Trackbacks

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Loading Disqus Comments ...