Manchmal 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.
- 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/
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.