robots.txt

CMS made simple ist grundsätzlich in der Lage, für Suchmaschinen optimierte URLs auszugeben. Die Feinheiten rund um Pretty URLs & SEO können hier diskutiert werden.
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm
Location: Schweiz / Switzerland

robots.txt

Post 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
[this message is written with 100% recycled bits]
cyberman

Re: robots.txt

Post by cyberman »

Danke für deine Mühe !!!
Andiministrator

Re: robots.txt

Post 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?
NaN

Re: robots.txt

Post 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 ;)
Last edited by NaN on Fri Mar 05, 2010 2:00 am, edited 1 time in total.
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm
Location: Schweiz / Switzerland

Re: robots.txt

Post 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?
[this message is written with 100% recycled bits]
Andiministrator

Re: robots.txt

Post 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.
NaN

Re: robots.txt

Post 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 .  .  .
harald
New Member
New Member
Posts: 5
Joined: Sun Feb 28, 2010 3:35 pm

Re: robots.txt

Post 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
NaN

Re: robots.txt

Post 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
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm
Location: Schweiz / Switzerland

Re: robots.txt

Post 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
[this message is written with 100% recycled bits]
Andiministrator

Re: robots.txt

Post by Andiministrator »

Andererseits - solang kein Link auf das Install-Verzeichnis zeigt, ist es für die Suchmaschinen ja sowieso unsichtbar.
markus0711
Forum Members
Forum Members
Posts: 45
Joined: Thu Jun 10, 2010 7:11 am

Re: robots.txt

Post 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?
Andiministrator

Re: robots.txt

Post 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*$
markus0711
Forum Members
Forum Members
Posts: 45
Joined: Thu Jun 10, 2010 7:11 am

Re: robots.txt

Post by markus0711 »

Danke.
Warum der Ausschluss Disallow: /*?mact=Printing*$ etc nur für Googlebot und nicht für andere auch?
Last edited by markus0711 on Wed Nov 03, 2010 3:48 pm, edited 1 time in total.
Andiministrator

Re: robots.txt

Post 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.
Locked

Return to “Suchmaschinenoptimierung (SEO)”