Dake für diese ausführliche Zusammenstellung.
Ich würde aber die Regeln für ganz bestimmte Bots an den Anfang setzen.
Denn soweit ich weiß stoppt ein Bot das Durchsuchen der Robots.txt nachdem er auf eine Anweisung gestoßen ist, die auf ihn zutrifft.
D.h. nach
User-Agent: * wird außer Googlebot kein Bot mehr nach weiteren Anweisungen suchen. Googlebot-Image, Duggmirror und ia_archiver würden bei dieser Robots.txt nur bis zur Anweisung
User-agent: Googlebot kommen und dann abbrechen.
Bots lesen i.d.R. von oben nach unten. Sobald nach einem Block von Anweisungen, der auf sie zutrifft eine Anweisung an einen anderen Bot kommt, bricht der Bot ab.
Außerdem würde ich es genau andersherum machen. Anstatt jedes Verzeichnis aufzulisten das nicht indiziert werden soll, würde ich anfangs immer alle Verzeichnisse und Dateien verbieten (Disallow: /) und dann nur die Verzeichnisse auflisten, die indiziert werden dürfen.
Da die Robots.txt ja von außen lesbar sein muss, könnte nämlich sonst jeder sehen, was es da so für Verzeichnisse gibt, auf die man nicht zugreifen darf. Und das würde ich aus Sicherheitsgründen vermeiden wollen. Also lieber jeden so weit wie möglich über die Ordner- und Dateistruktur im Dunkeln lassen
Man könnte das ganze nämlich auch folgendermaßen machen:
Code: Select all
# http://www.deineDomain
################################################################################
#
# GOOGLE BOT:
#
User-agent: Googlebot
#
# Erstmal generell alles verbieten
#
Disallow: /
#
# wo ist die Sitemap?
#
Sitemap: http://www.domain.com/gsitemap.php
#
# lediglich folgende Verzeichnisse/Dateien erlauben
#
Allow: /index.php
Allow: /gsitemap.php
Allow: /uploads/
#
# Da wir das gesamte Verzeichnis uploads erlaubt haben,
# müssen wir nun doch noch einige spezielle Dateien ausschließen
#
Disallow: /*.cgi$
Disallow: /*.css$
Disallow: /*.gif$
Disallow: /*.gz$
Disallow: /*.inc$
Disallow: /*.jpg$
Disallow: /*.jpeg$
Disallow: /*.js$
Disallow: /*.php$
Disallow: /*.php*
Disallow: /*.png$
Disallow: /*.tpl$
Disallow: /*.wmv$
Disallow: /*.flv$
Disallow: /*.xhtml$
# ... usw.
#
# Hier bricht der Googlebot ab, da der Anweisungsblock für ihn hier beendet ist.
# Das erkennt der Bot durch die neue User-agent: Anweisung
#
################################################################################
#
# GOOGLE IMAGE:
#
User-agent: Googlebot-Image
Disallow: /
Allow: /uploads/images/*.jpg$
Allow: /uploads/images/*.jpeg$
Allow: /uploads/images/*.png$
Allow: /uploads/images/*.gif$
#
# hier bricht Google-Image ab
#
################################################################################
#
# Für alle anderen Bots generell die Indizierung verbieten
#
User-agent: *
Disallow: /
Also sollte man schon alle Bots durchgehen und jedem explizit seine Rechte vorlesen und erst am Ende mit * arbeiten.
Übrigens habe ich letztens einen interessanten Blog zum Thema Robots.txt und Suchergebnisse gelesen.
Offenbar indizieren Suchmaschinen auch die Inhalte der Robots.txt selbst.
D.h. man kann durch Schlagworte in der Robots.txt sein Suchmaschinen Ranking beeinflussen
http://www.at-web.de/blog/20080424/robo ... mieren.htm
Ein Grund mehr, warum man dort so wenig wie möglich Informationen über die Verzeichnisstruktur geben sollte.
Man könnte allerdings auch diese Datei explizit von der Indizierung ausschließen.
Andiministrator wrote:
Warum unterbindest Du eigentlich die Indizierung von Bildern außerhalb des uploads/images Verzeichnisses?
Warum nicht?
Grafiken, die z.B. nur fürs Layout sind, sollten meiner Meinung nach nicht indiziert werden.
Ich gehe meistens sogar soweit, dass ich via .htaccess Zugriffe auf alle Dokumente (egal ob Grafiken, Texte etc.) nur zulasse, wenn der Referrer auch die jeweilige Domain ist, unter der diese Daten bereitgestellt werden.
D.h. von extern hat niemand Zugriff auf Bilder o.ä.
Aber wenn sie in meine Seite eingebettet sind bzw. von meiner Seite aus darauf verlinkt wird, sind sie für jeden zugänglich. Schützt auch ungemein vor Traffic-Klau