morefire
MENÜ

robots.txt-Datei anwenden & für SEO nutzen

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

Wo liegt die robots.txt und wofür verwende ich diese?

Die robots.txt-Datei wird als reine Textdatei (nicht HTML) auf der Domain-Root (z.B. https://www.domain.de/robots.txt) angelegt. Ist für eine Webseite eine Datei hinterlegt, kannst Du sie durch Eingabe in die Adresszeile einfach finden. 

Bevor Webcrawler – in der robots.txt-Datei User-Agents genannt – die Webseite crawlen sehen sie sich die robots.txt-Datei an, um Hinweise auf ausgeschlossene Seiten, Verzeichnisse oder Parameter zu finden, die nicht gecrawlt werden sollen oder um herauszufinden, dass sie als Crawler die Seite nicht besuchen und damit nicht crawlen dürfen. In dieser Datei kann auch der Link zur XML-Sitemap hinterlegt werden, um es auch hier dem Crawler so einfach wie möglich zu machen diese zu finden. 

Wann verwende ich diese?

Verwendet wird eine robots.txt-Datei, 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

Wichtige Anwendungen der robots.txt im Überblick

Der Aufbau der robots.txt-Datei folgt einer bestimmten Reihenfolge (Syntax). Hier sollte je nach Anwendungsfall entschieden werden, welcher Aufbau verwendet werden soll, um nicht fälschlicherweise Seiten oder gar komplette Verzeichnisse vom Crawling auszuschließen oder sensible Inhalte dem Crawler zugänglich zu machen. Wichtige Anwendungen der robots.txt im Überblick

Anwendung Beispiel
Allen Crawlern das Crawlen der kompletten Webseite erlauben  User-agent: *

  Disallow:

Nur für bestimmten Webcrawler das Crawlen erlauben  User-agent: Googlebot

  Disallow:

Bestimmte Seiten vom Crawlen ausschließen  User-agent: Googlebot

  Disallow: /unterseite.html

Bestimmte Verzeichnisse vom Crawlen ausschließen  User-agent: Googlebot

  Disallow: /verzeichnis/

Für verschiedene Crawler unterschiedliche

Verzeichnisse/Seiten ausschließen

  User-Agent: Googlebot

  Disallow:

  User-Agent: msnbot

  Disallow: /verzeichnis/

  User-Agent: *

  Disallow: /tmp/

  Disallow: /logs

Sitemap in robots.txt hinterlegen  User-Agent: *

  Disallow:

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

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.

 

Zurück nach oben

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, 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 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. 

Wie kann ich die robots.txt für SEO nutzen?

Crawler-Steuerung hört sich für SEOs ja erst einmal gut an und tatsächlich kann eine richtig erstellte robots.txt-Datei auch in der Suchmaschinenoptimierung helfen – auch wenn das Vorhandensein einer solchen Datei keinen direkten Rankingfaktor darstellt. 

robots.txt vs. noindex

Die Datei ist zwar ein hilfreiches Tool, jedoch halten sich nicht alle Webcrawler an die Hinweise in der robots.txt. Dadurch kann es trotz Ausschluss in der Datei sein, dass Seiten oder Verzeichnisse im Index landen. Dies liegt dann häufig daran, dass die Suchmaschine der Seite eine gewisse Relevanz beimisst, da sie z.B. intern oder extern stark verlinkt ist und der Crawler dadurch trotzdem auf sie stößt. Deshalb sollte eine robots.txt-Datei auch nicht verwendet werden, um Seiten von der Indexierung auszuschließen, da es unter Umständen dazu kommen kann, dass die Seite dennoch in den Index aufgenommen wird. Falls es also Seiten gibt, die wirklich nicht im Index landen sollen, sollten diese über das Meta-Robots-Tag “noindex” ausgeschlossen werden.

Welche Vorteile hat die robots.txt in der Suchmaschinenoptimierung?

Gibt es Seiten auf der Webseite, die der Crawler nicht beachten muss, da sie…

  • …nicht für alle Nutzer öffentlich sind (z.B. Logins, Warenkorb, Danke-Seiten nach erfolgreichem Download) ? 
  • …für Suchmaschinen unentdeckt bleiben sollten (Indexskripte, Utilities, etc.)?
  • …sich mit vorhandenem Inhalt doppeln (z.B. Druckversion von HTML-Dateien)?

Dies sind alles Seiten, die das Crawlbudget unnötigerweise ausschöpfen, da sie nicht im Index der Suchmaschinen landen sollen. Durch einen korrekten Ausschluss über die robots.txt-Datei optimierst Du also nicht nur das Crawling, sondern hast auch die Möglichkeit, Duplicate Content zu minimieren.

Wo ist Vorsicht geboten?

Wird eine Seite, ein Verzeichnisse oder Parameter in der robots.txt fälschlicherweise ausgeschlossen, kann dies auch Einfluss auf das Ranking nehmen, denn so besteht die Gefahr, dass die Seiten nicht gecrawlt werden und dadurch eventuell nicht im Index der Suchmaschine landen. Die gleiche Problematik gilt auch im umgekehrten Fall. Sollen Seiten oder Verzeichnisse nicht in den Index aufgenommen werden, ist ein Ausschluss über die robots.txt-Datei nicht die sicherste Variante. Zwar halten sich die meisten Crawler an das Exclusion-Protokoll, aber leider nicht alle. Willst Du also auf Nummer sicher gehen, dann hinterlege auf diesen Seiten das Meta-Robots-Tag “noindex” (s. robots.txt vs. noindex). Wie Du siehst, sollte eine robots.txt-Datei also mit Bedacht erstellt werden.

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)

6 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.