SEO-TippManchmal möchte man, dass bestimmte Dateien oder Verzeichnisse von einer Suchmaschine nicht weiter untersucht und in den Suchindex aufgenommen werden. Dafür gibt es mehrere Methoden. Wenn es sich bei den Dateien oder Unterverzeichnissen nicht um besonders geschützte Dateien handelt, die unter keinen Umständen ohne weitere Authentifierung im Internet sichtbar sein dürfen, so bietet sich als einfaches, leicht pflegbares Mittel der Einsatz der Datei robots.txt an.

Eine robots.txt hilft dabei, den (unerwünschten) Traffic auf Ihrer Website zu reduzieren. Das entlastet den Server und je nach Vertrag auch Ihr Budget.

Bei der robots.txt handelt es sich um eine einfache Text-Datei mit wenigen Anweisungen, die verschiedene Suchmaschinen oder andere Internet-Spider anweist, genau festgelegte Dateien oder Verzeichnisse in Ruhe zu lassen.

Die folgende Anweisung weist Suchmaschinen an, das Verzeichnis „/administrator/“ nicht zu inspizieren.

User-agent: *
Disallow: /administrator/

Die Datei robots.txt muss sich im Root-Verzeichnis Ihrer Website befinden, also zum Beispiel http://sevke.biz/robots.txt. Wenn Sie sich einen Webspeicher mit anderen teilnehmen, so dass der URL zu Ihrer Startseite etwa so aussieht http://www.domaene.de/~IhrName/, können Sie die robots.txt leider nicht einsetzen, denn sie müsste sich im Verzeichnis http://www.domaene.de befinden und würde dort auch alle anderen Verzeichnisse betreffen, nicht nur Ihr eigenes. Der Dateiname muss komplett in Kleinbuchstaben geschrieben werden.

Darüber hinaus ist die robots.txt für Webcrawler wie Suchmaschinen keineswegs bindend. Ganz im Gegenteil dokumentiert sie lediglich den Wunsch des Website-Betreibers, bestimmte Dateien und Verzeichnisse nicht weiter zu berücksichtigen. Natürlich werden die Dateien und Verzeichnisse durch Auflistung in der robots.txt auch nicht unsichtbar. Links von anderen Websites auf Ihre Inhalte lassen Suchmaschinen ihre Seiten trotzdem indexieren. Allerdings wird in den Ergebnislisten der Suchmaschinen dann zwar der Link, aber nicht der Inhalt als Snippet angezeigt. Um die Anweisungen in der robots.txt zu berücksichtigen, muss der Webcrawler entsprechend programmiert sein. Programme, die Ihre Website auf Schwachstellen hin untersuchen, um Angriffsziele für Hacker zu identifizieren, kümmern sich kein bisschen um die robots.txt.

Sinnvolle Ausschlüsse von Verzeichnissen sind zum Beispiel temporäre Verzeichnisse wie /cache/ oder /tmp/ oder Verzeichnisse mit Logdateien wie /logs/. Da die Dateien in diesen Verzeichnissen sowieso nur eine begrenzte Lebensdauer haben, macht es keinen Sinn, sie von Suchmaschinen im Index führen zu lassen.

Kurz und bündig …

  • weist Webcrawler an, bestimmte Inhalte nicht zu indexieren
  • Schreibweise: robots.txt
  • Speicherort: Stammverzeichnis („root“) der Website
  • Mehrere Anweisungsblöcke mit User-agent: / Disallow:
  • kein Zugriffsschutz für Dateien

Aufbau der robots.txt

Die Datei ist in Blöcke aufgeteilt, die jeweils durch eine Leerzeile voneinander getrennt sind. Von diesen Blöcken darf es beliebig viele geben. In jedem Block werden mit der Anweisung User-agent: zunächst die Webcrawler spezifiziert, für die der Block gültig sein soll. Darauf schließen sich eine oder mehrere Anweisungen Disallow: an, mit deren Hilfe die Dateien und Unterverzeichnisse benannt werden, die vom Crawlen ausgeschlossen werden sollen. Zusätzlich sind auch Kommentarzeilen möglich, die jeweils mit einem # („Lattenzaun“) beginnen.

Beispiel für einen User-Agenten:

User-agent: Googlebot

Beispiel für Ausschluss-Zeilen:

Disallow: /cache/
Disallow: /tmp/
Disallow: /logs/

Oder zusammen:

# Googlebot soll bitte /cache und /tmp nicht crawlen

User-agent: Googlebot
Disallow: /cache/
Disallow: /tmp/
Disallow: /logs/
Achtung: Schrägstrich beachten!

Der Schrägstrich am Ende des Verzeichnisnamens ist wichtig. Wird er weggelassen, so werden alle Verzeichnisse und Dateien, die mit der Bezeichnung beginnen, ausgeschlossen. /cache würde also auch Dateien wie cache.html betreffen.

Das bedeutet aber auch, dass Sie nicht nur Verzeichnisse, sondern ganz bestimmte einzelne Dateien ausschließen können.

Pro Zeile darf immer genau eine Datei oder ein Verzeichnis ausgeschlossen werden. Sie dürfen also nicht mehrere Dateien oder Verzeichnisse in einer Zeile angeben, auch nicht, wenn Sie diese durch Kommas voneinander trennen.

Wenn die Auschlussregeln für sämtliche Webcrawler gelten sollen, so können Sie als Platzhalter das Zeichen * (Stern) verwenden:

User-agent: *

Danach folgende Blöcke werden nicht mehr ausgewertet! Wollen Sie also in der robots.txt zusätzliche Regeln für ganz bestimmte Crawler definieren, so müssen diese Blöcke als erstes in der robots.txt stehen. Erst am Ende der Datei darf der Block mit dem Platzhalter * stehen.

Spezielle Beachtung sollten Sie den folgenden beiden Regeln schenken:

User-agent: *
Disallow: 

In diesem Fall wird gar nichts verboten, sondern alles erlaubt!

User-agent: *
Disallow: /

In diesem Fall wird sämtlichen Webcrawlern das Crawlen der kompletten Website verboten.

Es gibt also die folgenden drei Möglichkeiten, Inhalte Ihrer Website von der Indexierung auszuschließen:

User-agent: *
Disallow: /

Die gesamte Website wird blockiert.

User-agent: *
Disallow: /verzeichnis/

Ein bestimmtes Verzeichnis (inklusive der gesamten darunter liegenden Struktur) wird ausgeschlossen.

User-agent: *
Disallow: /datei.img

Eine bestimmte Datei wird ausgeschlossen. Aber Vorsicht! Der Dateiname /datei.img beschreibt nur den Anfang des Dateinamens. Es werden alle Dateien und Verzeichnisse ausgeschlossen, die mit „datei.img“ beginnen, also datei.img.html, datei.img.php und auch das Verzeichnis /datei.img.

Hinweis zur Nutzung von Google AdSense

Wenn Sie auf Ihrer Website Werbung von Google-Partnern (AdSense) einblenden, so muss Ihre Website für den User-Agent Mediapartners-Google crawlbar sein. Dies erreichen Sie, indem Sie am Anfang der robots.txt vor einem eventuell folgenden Block, der für alle Crawler gültig ist (User-agent: *), folgenden Block einfügen:

User-agent: Mediapartners-Google
Disallow:

Weitere Anweisungen

Je nach Programmierung des Webcrawlers unterstützen einige von ihnen weitere syntaktische Konstrukte.

User-agent: *
Disallow: /
Allow: /content/

Mit der Anweisung Allow: werden bestimmte Dateien oder Verzeichnisse explizit für das Crawlen freigegeben. Dies ist sinnvoll, wenn Sie davor ein Verzeichnis gesperrt, einzelne Unterverzeichnisse oder Dateien aber doch für die Indexierung freigeben wollen. Im Beispiel soll nichts auf der Website gecrawlt werden mit Ausnahme des Verzeichnisses /content.

User-agent: *
Disallow: /*.pdf$

Das * (Sternchen) steht hier als Platzhalter für eine beliebige Zeichenkette.
Das $ (Dollar-Zeichen) verankert den Suchbegriff am Ende des Dateinamens.
Es sollen also alle Dateien mit der Endung „pdf“ ausgeschlossen werden.

User-agent: *
Disallow: 
Crawl-delay: 120

Die Anweisung Crawl-delay: soll die Geschwindigkeit des Crawlers verringern. Hinter der Anweisung folgt eine Zeitangabe in Sekunden, die den Crawler anweist, nur alle 120 Sekunden (beispielsweise) eine weitere Seite der Website zu untersuchen.

User-agent: *
Disallow: 
Sitemap: http://IhreDomäne.tld/sitemap.xml

Mit der Anweisung Sitemap: können Sie der Suchmaschine den Speicherort der Datei sitemap.xml mitteilen, in der die Struktur Ihrer Website beschrieben ist.

Alle genannten Anweisungen werden nach eigener Aussage von den Suchmaschinen Google, Yahoo und Bing unterstützt.

Bekannte Webcrawler

Hier folgt eine Liste mit einigen bekannten Webcrawlern:

User-agent Bemerkung
Googlebot Webcrawler von Google für die Websuche
Googlebot-Image Webcrawler von Google für die Nachrichtensuche
Mediapartners-Google Webcrawler von Google für Google AdSense
Adsbot-Google Webcrawler von Google für Google AdWords
Googlebot-Mobile Webcrawler von Google für verschiedene Mobilgeräte
Googlebot-News Webcrawler von Google für die Bildersuche
Googlebot-Video Webcrawler von Google für die Videosuche
 
Bingbot Webcrawler von Microsoft Bing für die Websuche
Adidxbot Webcrawler von Microsoft Bing für Werbeanzeigen
MSNbot Früherer Webcrawler von Microsoft Bing für Websuche
BingPreview Webcrawler von Microsoft Bing zur Erzeugung von Website Snapshots
 
Slurp Webcrawler von Yahoo für die Websuche
AhrefsBot Site Explorer und Backlink Checker von Ahrefs
magpie-crawler Crawler der Firma Brandwatch
SISTRIX Crawler Crawler von Sistrix zur Informationsbeschaffung über Websites

Weitere Webcrawler finden Sie in der Robots Database.

Hinweis zur Sicherheit Ihrer Website

Die Datei robots.txt ist von jedem Internet-Nutzer auslesbar! Dazu muss er im Browser lediglich einen URL wie http://sevke.biz/robots.txt eingeben. Das bedeutet aber auch, dass sich jeder Besucher einen ersten Überblick über die Verzeichnisstruktur Ihrer Website verschaffen kann. Besonders kritische Dateien oder Verzeichnisse sollten Sie hier also besser nicht aufführen. Zusätzlich sind natürlich weitere Maßnahmen nötig, um solche Dateien oder Verzeichnisse vor einem unerwünschten Zugriff zu schützen.

Joomla und die robots.txt

Joomla! liefert standardmäßig eine robots.txt mit folgendem Inhalt aus:

# If the Joomla site is installed within a folder such as at
# e.g. www.example.com/joomla/ the robots.txt file MUST be
# moved to the site root at e.g. www.example.com/robots.txt
# AND the joomla folder name MUST be prefixed to the disallowed
# path, e.g. the Disallow rule for the /administrator/ folder
# MUST be changed to read Disallow: /joomla/administrator/
#
# For more information about the robots.txt standard, see:
# http://www.robotstxt.org/orig.html
#
# For syntax checking, see:
# http://www.sxw.org.uk/computing/robots/check.html

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/

Beachten Sie, dass Joomla das Verzeichnis /images von der Indexierung ausschließt. Dieses Verzeichnis enthält die Bilder Ihrer Website. Wenn Sie möchten, dass diese Bilder in der Bildersuche von Google gefunden werden, so müssen Sie die Zeile aus der robots.txt per # auskommentieren oder einfach löschen. Sie könnten aber auch einen neuen Block an den Anfang einfügen, der nur den User-Agenten Googlebot-Image für dieses Verzeichnis zulässt.

WordPress und die robots.txt

Möglicherweise wundern Sie sich, dass in dem Root-Verzeichnis Ihrer WordPress-Installation gar keine robots.txt existiert, diese aber dennoch angezeigt wird, wenn Sie http://IhreDomäne.tld/robots.txt im Browser aufrufen.

WordPress erzeugt die robots.txt virtuell mit dem Inhalt:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/

Dies wird mit Hilfe der Funktion do_robots in der Datei /wp-includes/functions.php erledigt, kann also dort auch von Ihnen geändert werden. Wenn Sie dies tun, müssen Sie aber bei jedem Update von WordPress damit rechnen, dass diese Datei überschrieben wird. Eine Sicherung ist also unerlässlich. Einfacher und sinnvoller ist es, eine eigene robots.txt im Root-Verzeichnis Ihrer WordPress-Installation anzulegen.

Was man mit der robots.txt noch so anstellen kann

Einige Website-Betreiber stellen reichlich Schabernack mit der robots.txt an.

Einen ganzen Lebenslauf finden Sie zum Beispiel in der robots.txt von Rishi Lakhani.

Facebook erlaubt das Crawlen seiner Website nur mit ausdrücklicher schriftlicher Genehmigung.