Page 1 of 2

robots.txt

Posted: Wed Mar 03, 2010 6:44 pm
by nockenfell
Zur Suchmaschinen Optimierung und zur Sicherheit sollte eine Robots.txt Datei angelegt werden. Ich habe mir heute mal die Mühe gemacht dies ein wenig näher anzuschauen. Hier das Ergebnis:

Code: Select all

User-agent: * 
Sitemap: http://www.domain.com/gsitemap.php

# Nicht indexieren aller Dateien in folgenden Verzeichnissen
Disallow: /cgi-bin/
Disallow: /admin/
Disallow: /doc/
Disallow: /install/
Disallow: /lib/	
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

User-agent: Googlebot
# Unterbinden der Indexierung aller Dateien mit diesen Endungen
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: /*.xhtml$

# Zugriff auf folgende Verzeichnisse / Dateien erlauben
Allow: /index.php
Allow: /gsitemap.php
Allow: /uploads/

# Google Image erlauben alle Bilder zu indexieren
User-agent: Googlebot-Image
Disallow: /
Allow: /uploads/images

# Archivierung der Seite unterbinden
User-agent: ia_archiver
Disallow: /

# duggmirror unterbinden
User-agent: duggmirror
Disallow: /
Für die Sitemap kann die Google-Sitemap des folgenden Projekts verwendet werden:
http://dev.cmsmadesimple.org/projects/gsgenerator

Re: robots.txt

Posted: Thu Mar 04, 2010 7:37 am
by cyberman
Danke für deine Mühe !!!

Re: robots.txt

Posted: Thu Mar 04, 2010 10:57 pm
by Andiministrator
Gute Hilfe, werde ich mir gleich mal speichern. Danke :)

Warum unterbindest Du eigentlich die Indizierung von Bildern außerhalb des uploads/images Verzeichnisses?

Re: robots.txt

Posted: Fri Mar 05, 2010 12:25 am
by NaN
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 :D

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 ;)

Re: robots.txt

Posted: Fri Mar 05, 2010 6:59 am
by nockenfell
Danke für die weiteren Ausführungen. Die Reihenfolge ist sicher eine gute Idee.

Ich habe Disallow: / bisher nicht eingesetzt, da bei Pretty-URL, welche ich fast immer nutze, somit alle Inhalte ausgeschlossen werden. Möglich wäre hier ev

Code: Select all

Disallow: /

Allow: /*.htm$
Allow: /index.php
Allow: /gsitemap.php
Allow: /uploads/
Hier werden alle Files mit Endung *.htm erlaubt. (Voraussetzung das Pretty-URL mit .htm als Endung eingesetzt wird.
NaN wrote:

Code: Select all

################################################################################
#
# Für alle anderen Bots generell die Indizierung verbieten
#
User-agent: * 
Disallow: /
Warum alle anderen Bots aussperren? Willst du auf Bing oder Yahoo oder einer der nie gebrauchten Suchmaschinen nicht gefunden werden? Man kann davon ausgehen, dass wahrscheinlich alle "guten" Suchmaschinen die Robots.txt auswerten während Spam-Suchmaschinen dies eben nicht tun, bzw. sich nich daran halten.
Andiministrator wrote: Warum unterbindest Du eigentlich die Indizierung von Bildern außerhalb des uploads/images Verzeichnisses?
Templategrafiken gehen Google oder auch andere nichts an. Zudem ist der /uploads Ordner der einzige Order mit Inhalt den andere Interessieren könnte.
NaN wrote: 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 ;)
Das heisst aber auch du kannst keine Datei in einem Mail verlinken, oder?

Re: robots.txt

Posted: Fri Mar 05, 2010 9:01 am
by Andiministrator
nockenfell wrote:
Andiministrator wrote: Warum unterbindest Du eigentlich die Indizierung von Bildern außerhalb des uploads/images Verzeichnisses?
Templategrafiken gehen Google oder auch andere nichts an. Zudem ist der /uploads Ordner der einzige Order mit Inhalt den andere Interessieren könnte.
Aha, verstehe. Wir haben auch einige Inhaltsbilder in /images, die zum Gerüst gehören und der Kunde nicht ändern soll. Aber ist sicher ein Sonderfall.

Re: robots.txt

Posted: Sat Mar 06, 2010 4:27 pm
by NaN
nockenfell wrote: Ich habe Disallow: / bisher nicht eingesetzt, da bei Pretty-URL, welche ich fast immer nutze, somit alle Inhalte ausgeschlossen werden.
Stimmt, daran hatte ich nicht gedacht.
nockenfell wrote:Warum alle anderen Bots aussperren?
War ja nur als Beispiel. Damit man sieht wie Bots die robots.txt in der Regel auslesen.
nockenfell wrote: Das heisst aber auch du kannst keine Datei in einem Mail verlinken, oder?
Stimmt auch wieder.
Da muss man dann entweder die .htaccess Datei entsprechend anpassen, sodass auf bestimmte Verzeichnisse doch zugegriffen werden kann, oder aber auf solche Spielereien lieber ganz verzichten.
Kommt immer drauf an, was man mit seiner Seite machen will.

Wobei... wenn die Email als HTML verschickt wird, welcher Referrer wird dann bei Links etc. eigentlich angegeben? Die Adresse des Email Providers, gar keiner, oder die Adresse des Absenders? Mal schaun .  .  .

Re: robots.txt

Posted: Mon Mar 08, 2010 4:38 pm
by harald
sorry für Klugsche***en aber
sollte man nicht lieber das Install Directory nach der Installation löschen anstatt für Bots sperren ?
Für jemanden der Neu ist liest sich das als wenn er dieses nur sperren muss und gut ist es.

Wie schon erwähnt ist die robots ja für jeden ersichtlich und dann weiss jeder da ist was, was man mal kurz überschreiben kann....

gruss

Re: robots.txt

Posted: Mon Mar 08, 2010 9:13 pm
by NaN
harald wrote: sorry für Klugsche***en aber
sollte man nicht lieber das Install Directory nach der Installation löschen anstatt für Bots sperren ?
Für jemanden der Neu ist liest sich das als wenn er dieses nur sperren muss und gut ist es.
Hast ja Recht, aber das steht ja ausführlich im Security Thread und auch bei der Installation des CMS.
Hier gehts ja in erster Linie nur um die Suchmaschinen.
Dass die Robots.txt keine Verzeichnisse sperren kann und somit selber keine Sicherheitsbarriere darstellen soll, sondern nur den gutgelaunten Bots sagt was sie indizieren sollen und was nicht, sollte eigentlich klar sein.
Falls nicht, dann ist es das hoffentlich jetzt :D

Re: robots.txt

Posted: Tue Mar 09, 2010 7:38 am
by nockenfell
harald wrote: sorry für Klugsche***en aber
sollte man nicht lieber das Install Directory nach der Installation löschen anstatt für Bots sperren ?
Für jemanden der Neu ist liest sich das als wenn er dieses nur sperren muss und gut ist es.
Das Install-Verzeichnis muss nach der Installation / Update gelöscht werden. Alles andere ist eine Sicherheitslücke.
Nur macht man mal ab und zu ein Update. Dabei wird wieder ein Ordner "install" angelegt. Dieser soll in jedem Fall nicht indexiert werden. Je nach Updateart, man lädt die Dateien im FTP hoch und geht dann zum Nachtessen da dies ja sooo lang geht, bleibt ein install Verzeichnis über längere Zeit erreichbar

Re: robots.txt

Posted: Tue Mar 09, 2010 7:43 am
by Andiministrator
Andererseits - solang kein Link auf das Install-Verzeichnis zeigt, ist es für die Suchmaschinen ja sowieso unsichtbar.

Re: robots.txt

Posted: Fri Oct 29, 2010 3:24 pm
by markus0711
@nockenfell:

Code: Select all

Disallow: /

Allow: /*.htm$
Allow: /index.php
Allow: /gsitemap.php
Allow: /uploads/

Hier werden alle Files mit Endung *.htm erlaubt. (Voraussetzung das Pretty-URL mit .htm als Endung eingesetzt wird.
Und was müsste man schreiben, wenn Pretty-URL mit
$config['page_extension'] = '/'; eingesetzt wird?

Re: robots.txt

Posted: Wed Nov 03, 2010 1:04 pm
by Andiministrator
Ich arbeite mit / und meine robots.txt sieht so aus:

Code: Select all

User-agent: *
Disallow: /admin/
Disallow: /contrib/
Disallow: /doc/
Disallow: /lib/
Disallow: /modules/
Disallow: /modules/Printing/
Disallow: /plugins/
Disallow: /scripts/
Disallow: /tmp/
Disallow: /tag/

User-agent: Googlebot
Disallow: /*?mact=Printing*$
Disallow: /*?mact=Search*$
Disallow: /*?mact=News*$

Re: robots.txt

Posted: Wed Nov 03, 2010 2:00 pm
by markus0711
Danke.
Warum der Ausschluss Disallow: /*?mact=Printing*$ etc nur für Googlebot und nicht für andere auch?

Re: robots.txt

Posted: Wed Nov 03, 2010 2:20 pm
by Andiministrator
Wir hatten bei anderen Suchmaschinen noch keine Probleme mit der fehlerhaften Indizierung der Druckseiten - aber prinzipiell kannst Du das auch für alle Suchmaschinen so machen.