morefire
MENÜ

robots.txt – Was ist das? So setzt Du sie richtig ein!

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 Du diese verwendest wird hier erklärt!

Inhaltsverzeichnis:

Was ist eine robots.txt-Datei?

Die Robots Exclusion Protocol, kurz robots.txt-Datei, ist eine Textdatei, die vom Webmaster einer Domain erstellt wird, um den Bot einer Suchmaschine zu steuern. 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 darauffolgenden Jahren populär.

Wann verwendest Du eine robots.txt-Datei?

Verwendet wird 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-Agents) von Google, die Du in dem Dokument verwenden kannst. In der folgenden Liste sind die gängigen aufgelistet, um z.B. das Crawlen von Bildern oder Videos zu verbieten.

CrawlerUser-Agent
Googlebot

(Google Websuche)

Googlebot
Googlebot für NachrichtenGooglebot-News
Googlebot für BilderGooglebot-Image
Googlebot für VideosGooglebot-Video
Google Mobile AdsenceMediapartners-Google

oder

Mediapartners

Google AdSenseMediapartners-Google

oder

Mediapartners

Google AdsBotAdsBot-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 gibst Du 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öchtest Du z.B. nur den Googlebot ansprechen, so fügst Du den Webcrawler von Google hinzu:

User-agent: Googlebot

Disallow:

Anwendung Disallow

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

Ausschließen einer bestimmten Seite

User-agent: Googlebot

Disallow: /unterseite.html

 

Ausschließen eines bestimmten Verzeichnis

User-agent: Googlebot

Disallow: /verzeichnis/

 

Ich habe auch schon des öfteren erlebt, dass einige Webmaster nur bestimmten Crawlern das Indexieren bestimmter Teile einer Webseite 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 verbietest Du allen Webcrawlern die tmp-Verzeichnisse und alle Verzeichnisse und Ordner, die mit /logs beginnen. Eine Liste mit allen gängigen Webcrawlern findest Du in der Robots Database.

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, die die Belastung des Servers verringern soll. Diese wird von Yahoo!, Bing und Ask unterstützt.

User-Agent: Bingbot

Crawl-Delay: 5

 

Robots.txt mit Wildcards nutzen

Google, Yahoo! 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 der Stern (*) und das Dollarzeichen ($).

Häufige Anwendungsfälle der robots.txt Wildcards

Verzeichnis sperren:

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

User-Agent: Googlebot

Disallow: /verzeichnis*/

 

Spezielle URLs sperren:

Um alle URLs zu sperren die beispielsweise auf .asp enden, nimmst Du das Dollarzeichen ($) zur Hilfe:

User-Agent: Googlebot

Disallow: /*.asp$

 

Alle URLs mit Parametern sperren:

Besitzt eine URL viele Parameter oder Session-IDs, die nicht gecrawlt werden sollen, kannst Du diese mit der folgenden Regel aussperren:

User-Agent: Googlebot

Disallow: /*?*

 

XML-Sitemap in der robots.txt

Die letzte Zeile, die oft Verwendung in der robots.txt findet, ist die Ortsangabe der XML-Sitemap. Es gibt viele Gründe eine Sitemap für eine Webseite zu nutzen. Mein Kollege Ben hat hierzu einen interessanten Artikel zu Indexierungshilfen einer XML-Sitemap verfasst, welcher beschreibt und erklärt, wie Du diese in die Google Webmastertools einfügst.

Um die Sitemap in die robots.txt einzufü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. Zwei dieser Tools, mit denen ich gerne arbeite, sind der Robots.txt File Generator von SEOBOOK und der Robots.txt Generator von Pixelfolk.

 

Test der robots.txt

Um das erstellte Dokument zu testen kannst Du ebenfalls mit hilfreichen Tools arbeiten. Ein gutes Tool ist z.B. der robots.txt-Analyzer von SEOBOOK 

Eine weitere Möglichkeit ist aber auch der Blick in die Webmastertools der Domain, was ich eher bevorzuge, da Du hier einen sehr guten Überblick bekommst. Hier musst Du in der Google Search Console über den Punkt Vorherige Tools und Berichte zu Weitere Informationen navigieren. In dem Fenster, das sich nun auf der rechten Seite öffnet wird auch der robots.txt-Tester aufgeführt.

   

Nach der Auswahl der Property hast Du auf einen Blick die Summe der URLs, die Du für den Crawler blockiert hast. Um zu prüfen, ob die Disallow-/Allow-Regeln funktionieren, kannst Du ein Test durchführen, in dem Du die aus- bzw. einzuschließenden URLs in das vorhandene Feld einträgst und dies über den Button „Testen“ überprüfen lässt. In wenigen Millisekunden spuckt Google auch schon das Ergebnis aus. 

Webseite doch im Index trotz Sperrung?

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

Das ist der Fall, wenn eine gesperrte Seite sehr viele eingehende Links mit gleichem Link-Text erhält. Für die Suchmaschine ist diese Seite dann so relevant und interessant, dass diese Seite zum gesuchten Link-Text 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

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

3.86 / 5 (21 votes)

5 Kommentare

Christian Roeb

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

Silvester schrieb am 21. August, 2016 @ 17:40

Hallo Chris

Interessanter Beitrag. Doch wie macht man dieses hier:

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.

Das würde mich schon interessieren.

Grüsse
Silvester

Trackbacks

Schreibe einen Kommentar

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