robots.txt - wenn die Indizierung durch Suchmaschinen ganz oder teilweise unerwünscht ist.
Dies ist die Fortsetzung von
Von Suchmaschinen erfasste Karten bzw. online-Inhalte entfernen
Um übertriebene Erwartungen gleich im Vorfeld zu dämpfen: Alles, was unter keinen Umständen an die Öffentlichkeit gelangen soll oder darf, gehört nicht auf einen Webserver. Und wer seine Inhalte nur einem begrenzten Personenkreis zugänglich machen will, sollte eher auf einen guten Passwortschutz oder gar kryptografische Verfahren setzen, als auf den Schutz, den die Datei "robots.txt" vor Suchmaschinen bieten kann. Denn die Robots (auch Spider oder Crawler) der Suchmaschinen sind zwar angehalten, die Verbote darin zu beachten - aber es gibt keinen Zwang dazu. Oder mit anderen Worten: Es ist jederzeit möglich, einen "böswilligen" Robot zu programmieren, der alles liest und erfasst, was sich irgendwie über den Webserver ausliefern lässt.
Bezüglich der großen und bekannten Suchmaschinen kann man sich aber weitgehend darauf verlassen, dass sie die Angaben der in der Wurzel einer Domain liegenden Datei robots.txt beachten. Deshalb soll im Folgenden gezeigt werden, wie man durch geschickte Organisation seiner Daten in Verbindung mit einer passenden robots.txt dafür sorgen kann, dass bestimmte Teile der eigenen Site vor den Suchmaschinen verborgen bleiben. Gleichzeitig wird die Syntax erläutert und ein Beispiel einer funktionierenden Datei robots.txt gegeben.
Nehmen wir mal folgendes fiktives Beispielszenario an: Auf unserer Domain "www.rtest.de" wollen wir Informationen zu folgenden Themen und mit den dabei genannten Beschränkungen für Suchmaschinen anbieten:
- Einladungen zu anstehenden Partys, Feiern etc.: Kein Zugriff für die Suchmaschine archive.org (Wayback-Maschine) - geht schließlich in 10 Jahren keinen etwas an, welche Partys man so in seiner wilden Jugendzeit gefeiert hat. Aber zu unseren Partys ist jeder willkommen - und deshalb darf dieser Teil ruhig bei z.B. Google indiziert und angeboten werden (ohne die Bilder von früheren Partys, die wir zwar nicht mehr zeigen, aber auf dem Webserver aufheben wollen).
- Informative Seiten zu einem speziellen Thema, die explizit für die interessierte Allgemeinheit bestimmt sind: Zugriff für Suchmaschinen inkl. archive.org ist erwünscht, zumindest vorerst wollen wir auch alle Bilder zulassen - mit Ausnahme unseres Logos (diese letzte Einschränkung dient nur dazu, den Ausschluss einzelner Dateien in robots.txt zu demonstrieren).
- Private Fotos (z.B. ein Fotoalbum mit Urlaubsfotos und kurzen Texten dazu): Generell kein Zugriff für Suchmaschinen.
Mit diesen Anforderungen empfiehlt sich dann folgende Grundstruktur unserer Site (um zu einer vollen URL zu kommen, immer noch "http://www.rtest.de" voranstellen):
- /index.html : Von hier sollten Links zu allen relevanten Rubriken unserer Site ausgehen.
- /robots.txt : Mit dieser Datei kann man den Robots der Suchmaschinen Anweisungen bzw. Verbote erteilen.
Wichtig: Diese Datei muss in der Wurzel der Domain (auch Hauptverzeichnis genannt) liegen. - Andernfalls wird sie von den Robots schlicht ignoriert!
- /bilder/ : In diesem Verzeichnis (und ggf. weiteren Unterverzeichnissen) stehen alle Bilder, die wir vor (Bilder-)Suchmaschinen schützen wollen. Ausserdem stehen hier evtl. vorhandene Texte zu unseren privaten Bildern.
- /party/ : Nur HTML-Dateien zum Thema, die zugehörigen Bilder (insbesondere von früheren Partys) stehen im Verzeichnis "/bilder/" und werden in HTML wie folgt referenziert: < IMG src="../bilder/party_x.jpg"> .
- /spez_thema/ : Hier lassen wir uns zu unserem Lieblingsthema aus, wobei wir
- /spez_thema/bilder/ : die verwendeten Bilder vorsichtshalber alle in einem Verzeichnis sammeln - sollten wir es uns später anders überlegen und die Bilder doch vor Bildersuchmaschinen verstecken wollen, dann können wir das ganz einfach durch einen zusätzlichen Eintrag an geeigneter Stelle in "/robots.txt" tun: Disallow: /spez_thema/bilder/ .
Die folgende Datei "/robots.txt" würde dann den gängigen Suchmaschinen unsere Wünsche bezüglich des Zugriffs mitteilen (Erklärung der einzelnen Zeilen im Anschluss):
#Copyright 2004 Abmahnwelle e.V. #Dieser Entwurf für eine Datei "robots.txt" darf frei benutzt, kopiert und verändert werden #unter den Bedingungen der GNU GPL http://www.gnu.org/licenses/gpl.html , Version 2 #oder später. # Dieser Entwurf wurde mit viel Sorgfalt erstellt, trotzdem gilt: #Keine Garantie oder Haftung in irgendeiner Form - Benutzung auf eigene Gefahr!
# Allen Suchmaschinen den Zugang zu unseren eher privaten Bildern verbieten: # User-agent: * Disallow: /bilder/ Disallow: /spez_thema/bilder/logo.png # Logo ausschließen - nur zur Demo. # Oder, wenn alle Bilder dort ausgeschlossen werden sollen: #Disallow: /spez_thema/bilder/
# Die Wayback-Maschine (archive.org) davon abhalten, unsere # Partyankündigungen und -berichte zu archivieren: # User-agent: ia_archiver # "ia_archiver" ist der Name des Robots von archive.org Disallow: /party/ |
Erläuterungen
- robots.txt ist eine einfache Textdatei ("Plain Text") und muss zwingend im Hauptverzeichnis der Domain stehen, d.h. ihre URL lautet in unserem Beispiel http://www.rtest.de/robots.txt .
- Ein Doppelkreuz ("#") markiert den Beginn eines Kommentars - in obigem Beispiel außer für Erläuterungen auch für Copyright-Vermerk und Haftungsausschluss verwendet.
- Der Rest der Datei (also ohne Kommentare) besteht aus sogenannten "Rekords", die jeweils durch eine oder mehrere Leerzeilen voneinander getrennt sind - in obigem Beispiel sind 2 solche Rekords enthalten. Jeder Rekord besteht seinerseits aus Zeilen, die aus Feldname, Doppelpunkt und Wert bestehen (optional noch Leer- oder Tab-Zeichen und ein Kommentar).
- Jeder Rekord beginnt mit einer "User-agent"-Zeile. Als Wert ist hier entweder der Name des Robots einzutragen - oder ein Sternchen ("*") für "alle Robots".
Frage: Woher erfahre ich den Namen eines Robots?
Antwort: Entweder aus dem Web (oft gibt die Homepage des Robot-Betreibers dazu Auskunft) oder durch Auswertung der Logdateien des Webservers.
- Danach folgen eine oder mehrere "Disallow"-Zeilen, die als Wert eine Pfadangabe bzw. einen Teil davon enthalten sollen. Dadurch wird dem vorher bezeichneten Robot jede Pfadangabe verboten , die mit dem in "Disallow" bezeichneten Wert beginnt .
Hinweise und Sonderfälle:
- Es ist nur ein Pfad(-fragment) als Wert erlaubt.
- Eine explizite Erlaubnis ist nicht möglich - nur Verbote.
- Ist der Wert von "Disallow" leer , so sind dem betreffenden Robot alle Inhalte der Domain erlaubt. (Auf diese Weise kann man Verbote für alle Robots formulieren und dann einem bestimmten Robot den Zugriff wieder erlauben.)
Also eigentlich alles ganz einfach - wenn man seine Daten vorher geeignet strukturiert hat.
Wer trotzdem mehr zum Thema Robots und Suchmaschinen wissen will, dem seien folgende Websites zum weiterlesen empfohlen: