Vorheriger Artikel Nächster Artikel

Was ein SEO über die robots.txt wissen sollte

Die kleine Text-Datei “robots.txt” ist ein kleines Stück Technik, das man als verstehen sollte. Denn sie steuert die Crawler der über die eigene Webseite. Oder, besser gesagt: In der robots.txt kann man die Suchmaschinen-Bots bitten, bestimmte Bereiche der Webseite in Ruhe zu lassen. Google jedenfalls hält sich dran.

Was ein SEO über die robots.txt wissen sollte
(Foto: istock_SEO)

Allerdings gibt es einige Details und Eigenheiten der robots.txt zu beachten.

Über die robots.txt allgemein

Wer sich in das der robots.txt zugrunde liegende Robots Exclusion Standard Protokoll einlesen möchte, findet auf der Wikipedia einige Infos. Ich werde mich hier auf die für SEOs wichtigen Regeln und Tipps beschränken. Und das geht ganz allgemein los:

  • Die robots.txt ist immer auf der obersten Verzeichnisebene zu finden, ihre URL lautet also immer: http://[www.domain.de]/robots.txt.
  • Die Angaben für Verzeichnisse und Dateien starten immer direkt hinter der Domain. Also immer mit einem Slash („/“) und dann den Pfad.
  • Es gibt die Anweisungen “disallow” und “allow”. Da “allow” die Regel ist, muss diese in der Regel nicht verwendet werden. Außerdem kümmern sich nur die “Großen” Robots um dieses “allow”.
  • Groß- und Kleinschreibung spielt eine Rolle.
  • Ein Stern („*“) ist ein Platzhalter. Wenn etwa alle Verzeichnisse die mit “privat” beginnen, gemeint sind, sieht das so aus: privat* (Beispiel unten). Auch das können nicht alle Bots, und man darf nur bei den großen damit rechnen, dass das klappt.
  • Da auch Zeichen und damit auch der Punkt interpretiert werden, muss es möglich sein, dass das Ende einer Dateierweiterung markiert wird. Das erfolgt mit dem Dollarzeichen („$“).
  • Mehrere Regeln werden von einer Leerzeile voneinander getrennt.

Es gibt auch viele Tipps und Tricks, wie man mit der robots.txt ungeliebte Bots sperrt. Crawler, die einen nerven, die die Performance der Seite fressen oder gar Inhalte klauen. Allerdings sorgt auch eine noch so lange Liste „scrapböser” Bots in der robots.txt nicht für Ruhe auf dem Server. Denn wer Inhalte „scrapt“, wird sich kaum an eine Disallow-Anweisung in einer kleinen Text-Datei halten. Da sorgt dann nur ein Eintrag in der .htaccess für wirklich gesperrte Seiten.

Der Aufbau robots.txt

Ein Eintrag in der robots.txt besteht immer aus zwei Teilen. Zunächst wird angegeben, für welchen User Agent (Robot) die Anweisung gilt, danach wird die Anweisung gegeben:

User-agent: Googlebot
Disallow: /cms/

Das bedeutet: Der Webcrawler von Google sollte das Verzeichnis /cms/ nicht crawlen.

Sollten sich überhaupt kein Robot mit diesem Verzeichnis beschäftigen würde die Anweisung so lauten, der Stern steht als Platzhalter für alle Robots:

User-agent: *
Disallow: /cms/
Darf die gesamte Seite nicht gecrawlt werden – etwa auf einer Testinstallation vor einem Relaunch – würde die Anweisung wie folgt lauten. Der Schrägstrich bedeutet, dass kein Verzeichnis gecrawlt werden soll:
User-agent: *
Disallow: /
Soll eine einzelne Seite oder ein einzelnes Bild nicht gecrawlt werden, wird der Eintrag in der robots.txt so aussehen:

User-agent: Googlebot
Disallow: /datei-name.html
Disallow: /images/bild.jpg

Spezielle Aufgaben in der robots.txt

Es geht ja häufig nicht darum, komplette Seiten aus dem Index zu hauen, sondern um feinere Aufgaben. Hierfür gibt es verschiedene Anweisungen für die verschiedenen Robots.

User-agent: Googlebot-Image
Disallow: /

Es können auch z.B. alle Bilder eines bestimmten Formats gesperrt werden:

User-agent: Googlebot-Image
Disallow: /*.jpg$

Eine Besonderheit ist das Schalten von AdWords-Anzeigen. Diese dürfen nur auf Seiten erscheinen, die gecrawlt werden können. Sollen sie aber trotzdem nicht in den organischen Index, muss man zwei Einträge machen. Einer dafür, dass die Seiten *nicht* gecrawlt werden – und danach eine Ausnahme für den AdWords-Crawler machen:

User-agent: Mediapartners-Google
Allow: /
User-agent: * Disallow: /
Soll ein gesamtes Verzeichnis gesperrt, aber ein Teilverzeichnis darin erlaubt werden, würde die Anweisung so aussehen. Allerdings sollte das “Allgemeine” vor dem “Speziellen” stehen:
User-agent: *
Disallow: /shop/
Allow: /shop/magazin/
Man kann auch alle Seiten mit einem Parameter vor dem Crawlen sperren. Wobei hier gut abzuklären ist, ob bei diesen Seiten nicht der Canonical-Tag besser wäre. Beide Angaben würden sich gegenseitig stören. Wenn es aber passt, wäre diese Anweisung korrekt. Damit würden alle URLs mit einem Fragezeichen nicht gecrawlt werden.
User-Agent: Googlebot
Disallow: /*?
Mit einer speziellen Anweisung kann man die Lesegeschwindigkeit beeinflussen. Das funktioniert allerdings nur bei Yahoo! Slurp und msnbot. Im Beispiel darf nur alle 120 Sekunden eine Seite gelesen werden:
Crawl-delay: 120
Wichtig: Gibt man Anweisungen für spezielle Bots, müssen in diesem Bereich alle vorherigen, allgemeineren Anweisungen wiederholt werden.

Die wichtigsten Crawler / Bots

Crawler User-Agents
Googlebot für Websuche Googlebot
Googlebot für News Googlebot-News (den gibt es als Bot nicht mehr - aber Googlebot hält sich an dessen Anweisungen.
Googlebot für Bilder Googlebot-Image
Googlebot für Videos Googlebot-Video
Google Mobile Googlebot-Mobile
Google Mobile AdSense Mediapartners-Google oder Mediapartners
Google AdSense Mediapartners-Google oder Mediapartners
Yahoo Slurp
Yahoo Mobile YahooSeeker/M1A1-R2D2
MSNbot / Bing bingbot
MSN für Mobile MSNBOT_Mobile
Internet Archive ia_archiver

Spezialfall “Mobile-Site”

Mit der robots.txt kann man auch eine Mobile Site von einer Desktop-Site “trennen”. Und zwar, indem man die mobilen Bots auf der Desktop-Variante sperrt und die “normalen” Bots auf der Mobile Site. Allerdings würde ich das immer auch mit entsprechenden Sitemaps kombinieren.

Desktop-Site:
User-Agent: Googlebot-Mobile
Disallow: / 
Mobile Site: User-Agent: Googlebot Disallow: /
Hier können auch jeweils noch die Allow-Angaben gemacht werden – aber das ist wohl nicht wirklich notwendig. Natürlich können auch noch weitere Mobile-Bots verwendet werden.

Weitere Hinweise für die robots.txt

  • Darf der Crawler eine Seite bzw. ein Verzeichnis nicht crawlen, heißt das nicht, dass die Seiten daraus auf keinen Fall in den Google-Index kommen. Denn wenn Links darauf zeigen, wird Google die Seite in den Index nehmen – er kennt sie ja. Aber er wird sie nicht crawlen. Also wird er zum Beispiel auch die Anweisung “noindex” gar nicht sehen.
  • Getestet werden kann die robots.txt auch in den Google Webmaster Tools. Dort, im Bereich “Status” und “Blockierte URLs”, kann eine Anweisung direkt mit Beispiel-URLs gecheckt werden.
  • Mit dem Firefox Addon Roboxt sieht man jederzeit den Status einer Seite in der robots.txt (https://addons.mozilla.org/de/firefox/addon/roboxt/)
  • Zusätzlich kann man eine oder mehrere Sitemaps in der robots.txt verlinken. Die Eintragung würde so aussehen: Sitemap: http://[www.meine-domain.de]/sitemap.xml
  • Zulässig sind auch Kommentarzeilen, die mit “#” beginnen.

Bitte: Alles in Maßen und mit Ruhe!

Immer dann, wenn wir bei einem Kunden auf eine richtig ausführliche und lange robots.txt stoßen, werde ich misstrauisch. Ich frage dann: Gibt es jemanden, der mir jede Anweisung darin wirklich erklären kann? Ist dies nicht der Fall, kann es gut sein, dass eigentlich tolle Landingpages vom Crawling ausgenommen werden. Die beste Strategie ist dann, mit folgender robots.txt zu starten und jede Anweisung in Ruhe diskutieren:

User-agent: *
Disallow:
Denn diese Anweisung heißt: Willkommen, Robots, schaut euch meine Seite an…

Ursprünglich publiziert bei SEO-Book.de

Über den Autor

Eric Kubitz (Twitter) ist Geschäftsführer der Contentmanufaktur GmbH, einem Dienstleister im Bereich SEO- und Content-Optimierung. Im SEO Book bloggt er über diese Themen.

NEU: Lass dir diesen Artikel vorlesen
Ein Service von t3n, in Kooperation mit Narando.
Vorheriger Artikel Zurück zur Startseite Nächster Artikel
6 Antworten
  1. von Martin am 13.02.2013 (13:03 Uhr)

    Ist es sinnvoll durch die robots.txt z.B. mein Impressum vom Crawling auszuschliessen? V.a. wenn es sich um eine kleine Webseite handelt, in der möglicherweise die Textmenge im Impressum mehr als 50% des Gesamt-Textes einnimmt?

    Antworten Teilen
  2. von Eric am 13.02.2013 (17:16 Uhr)

    Hallo Martin,

    nein, das würde ich nicht machen. Wenn das Impressum nicht im Index erscheinen sollte, wäre der Mta-Tag "noindex" angesagt. Aber ich sehe auch dafür keinen Grund.

    Die Frage ist allerdings, warum du auf deiner Seite außer auf dem Impressum kaum Text hast? Das macht es Google wirklich schwer, deine Seite zu ranken. Wofür dann auch?

    eric

    Antworten Teilen
  3. von ckler am 13.02.2013 (21:41 Uhr)

    Danke für diesen ausführlichen und interessanten Artikel!

    Christian

    Antworten Teilen
  4. von Viktor am 13.02.2013 (22:31 Uhr)

    @Martin Das Impressum würde ich immer indexieren lassen und mit einem wichtigen Keyword wieder auf die Startseite verlinken! Warum? Meistens ist das Impressum eine der intern am stärksten verlinkten Seiten. Solche starken Seiten sollte man nutzen, statt mit dem noindex "wegzuschmeißen". Außerdem validiert Google oft anhand des Impressums den Trust einer Webseite. Bleibt der Crawler draußen, bleibt auch diese Validierung aus.

    @Eric Toller Artikel! Allerdings fehlt mir noch ein wenig zum Thema aussprerren von Bots, da die robots.txt nur eine Liste ist, an die sich die Bots halten können, aber nicht müssen.

    Ich hab da mal die Gunst der Stunde ergriffen und den Artikel ein wenig erweitert ;) Wen es interessiert: http://mizine.de/internet/umleitung-fur-gewisse-robots-und-crawler/

    Antworten Teilen
  5. von Ben am 15.02.2013 (09:52 Uhr)

    Wofür genau steht das Dollar-Zeichen bei ...
    Disallow: /*.jpg$
    ? Ist es optional? Laut Wikipedia wird dieser sogenannte "Zeilenende-Anker" (kann von Namen keine sinnvolle Funktion ableiten) nur vom Googlebot, Yahoo! Slurp und msnbot berücksichtigt, wodurch sich mir die Frage stellt, ob die Zeile somit von anderen Cralern komplett ignoriert wird?

    Wie bekommt man eigentlich die robots.txt aus dem Index? Unsere wird bei der Google-Site-Abfrage mit gelistet.
    Disallow: /robots.txt$
    ? Oder deaktiviert sie sich dann quasi selbst?

    Antworten Teilen
  6. von adson am 19.02.2013 (10:04 Uhr)

    @Viktor: das mit dem Impressum indizieren lassen würde ich aber tatsächlich nur dann machen, wenn das auch wirklich unique geschrieben hast. Wenn an dieser Stelle einfach ein Standard-Datenschutz-Text kopiert wird, dann hat man schön viel duplicate content auf seiner Unterseite...

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema SEO
Die besten SEO-Plugins für WordPress
Die besten SEO-Plugins für WordPress

Wie lässt sich eine WordPress-Installation für Suchmaschinen optimieren? Und: Worauf gilt es dabei zu achten? Wir haben das Netz gefilzt und die besten SEO-Plugins für WordPress gesammelt. » weiterlesen

So schützt du dich beim A/B-Testing vor SEO-Problemen
So schützt du dich beim A/B-Testing vor SEO-Problemen

Wir zeigen euch, was ihr beim A/B-Testing beachten solltet, damit es aus SEO-Sicht nicht zu Problemen führt. » weiterlesen

„We need to go deeper!“ – Google integriert Suche in Suchergebnisse
„We need to go deeper!“ – Google integriert Suche in Suchergebnisse

Googles Suchalgorithmus zeigt unter bestimmten Voraussetzungen ein eigenes Suchfeld für eure Website in den Ergebnissen an. Jetzt könnt ihr auch eure eigene Suchfunktion in die Ergebnisse einbetten. » weiterlesen

Kennst Du schon unser t3n Magazin?

t3n-Newsletter t3n-Newsletter
Top-Themen der Woche für Web-Pioniere
Jetzt kostenlos
anmelden
Diesen Hinweis verbergen