Mit einer robots.txt Google steuern

Mit einer robots.txt Google steuern

Welcher Webmaster träumt nicht manchmal davon, dass Google ihm seine Wünsche erfüllt? Nun, dieser Traum kann zumindest teilweise in Erfüllung gehen. Nämlich mit Hilfe einer robots.txt.

Eine robots.txt ist eine Textdatei, in der Anweisungen für Google und andere Suchmaschinen stehen. Leider halten sich nicht alle Suchmaschinen an diese Vorgaben, aber zumindest die wichtigsten wie Google, Yahoo, Bing & Co. folgen den vom Webmaster vorgegebenen Anweisungen.

Damit die robots.txt von den Suchmaschinen gefunden wird, muss sie im Hauptverzeichnis einer Domain liegen. Der Pfad lautet dann also: www.example.com/robots.txt.

Die 2 wichtigsten Anweisungen, die in einer robots.txt vorkommen können, sind User-Agent und Disallow.

User-Agent

Die Anweisung User-Agent gibt an, für welche Suchmaschinen die folgenden Befehle gelten. Ist das Wildcardzeichen “*” angegeben, gelten die Kommandos für alle Suchmaschinen:

User-Agent: *

Die wichtigsten User-Agents sind:

Googlebot Der Google-Crawler
Googlebot-Image Der Crawler der Google-Bildersuche
Slurp Der Crawler von Yahoo
bingbot Der Bing-Crawler

Wenn die folgenden Anweisungen z. B. nur für Google gelten sollen, lautet der Befehl:

User-Agent: Googlebot

Eine riesige Liste mit hunderten von User-Agents findet ihr bei user-agents.org.

Disallow

Mit Disallow gebt ihr an, welche Dateien und Verzeichnisse nicht durchsucht werden dürfen. Wenn ihr hinter Disallow nichts angebt, erlaubt ihr den Suchmaschinen das Durchsuchen des gesamten Webauftritts:

Disallow:

Mit einem Schrägstrich dahinter verbietet ihr das Durchsuchen eurer kompletten Website:

Disallow: /

Wenn ihr das Durchsuchen einer einzelnen Webseite verbieten wollt, sieht das so aus:

Disallow: /impressum.html

Für das Aussperren eines kompletten Verzeichnisses könnt ihr folgenden Eintrag verwenden:

Disallow: /privat/

Neben User-Agent und Disallow gibt es noch einige andere Anweisungen, die aber nicht von allen Suchmaschinen unterstützt werden:

Allow (Google, Yahoo)

Wenn ihr ein komplettes Verzeichnis mit Disallow ausgesperrt habt, könnt ihr einzelne Dateien oder Unterverzeichnisse darin mit Allow wieder für die Suchmaschinen freischalten:

Disallow: /privat/
Allow: /privat/visitenkarte.html

Damit sperrt ihr das Verzeichnis “privat” für die Suchmaschinen aus. Die einzige Ausnahme ist die in diesem Verzeichnis enthaltene Webseite “visitenkarte.html”, die durchsucht werden darf.

Sitemap (Google, Yahoo, Bing)

Mit dem Befehl Sitemap sagt ihr den Suchmaschinen wo sie eure XML-Sitemap finden können:

Sitemap: /infos/sitemap.xml

Dies ist nur dann notwendig, wenn die Sitemap nicht im Hauptverzeichnis liegt oder eine andere Bezeichnung als sitemap.xml trägt. Wie ihr eine XML-Sitemap erstellt, könnt ihr im Artikel Sitemap erstellen mit GSiteCrawler nachlesen.

Weitere (eher selten gebrauchte) Anweisungen findet ihr bei Wikipedia.

Beispiele für Einträge in der robots.txt

Hier noch einige Beispiele für sinnvolle Einträge in der robots.txt:

User-Agent: *
Disallow:


Alle Suchmaschinen dürfen die komplette Website durchsuchen.
User-Agent: *
Disallow: /


Die komplette Website darf nicht durchsucht werden. Dieser Eintrag bietet sich z. B. an, wenn ihr zum Testen eine neue Website bereits online gestellt habt, diese aber noch nicht fertig ist und deshalb noch nicht in den Suchmaschinen angezeigt werden soll.
User-Agent: Googlebot-Image
Disallow: /


Die Website darf nicht von der Google Bildersuche durchsucht werden. Welche Vor- und Nachteile das hat, könnt ihr im Artikel Content-Diebstahl – Was kann man gegen Bilderklau tun? nachlesen (in den Kommentaren des Artikels steht auch einiges dazu).

Was ist der Unterschied zum Meta-Tag “robots”?

Im Prinzip hat das Meta-Tag “robots” die gleiche Funktion wie ein Eintrag in der robots.txt:

Mit

<meta name="robots" content="noindex" />

gebt ihr an, dass die Seite, in der dieser Meta-Tag vorkommt, nicht durchsucht werden darf. Der Nachteil dieser Methode ist aber, dass ihr damit nur eine Seite auf einmal ausschließen könnt. Ihr müsstet diesen Meta-Tag also in jede Seite aufnehmen, die nicht durchsucht werden soll. Verzeichnisse könnt ihr übrigens gar nicht per Meta-Tag ausschließen. Wenn ihr das Durchsuchen einer Seite in der robots.txt verbietet, wird der Meta-Tag in der entsprechenden Seite gar nicht berücksichtigt.

Wieso halten sich nicht alle Crawler an die Einträge in der robots.txt?

Neben den seriösen Suchmaschinen-Crawlern wie z. B. Google, Yahoo und Bing gibt es auch sogenannte Spam-Bots, die die robots.txt ignorieren und grundsätzlich alle Seiten durchsuchen. Diese Spam-Bots sammeln z. B. alle E-Mail-Adressen auf einer Webseite, die nachher für gutes Geld weiterverkauft werden.

Eine Sperrung in der robots.txt bedeutet auch nicht, dass die entsprechende Seite gar nicht in den Suchmaschinenindex aufgenommen wird. Google speichert z. B. den Titel und den Link:

So sieht eine mit Hilfe der robots.txt gesperrte Seite in Google aus.
So sieht eine mit Hilfe der robots.txt gesperrte Seite in Google aus.

Solche Seiten werden allerdings nur angezeigt, wenn man mit Google nach dem kompletten Link sucht. Außerdem erzeugt Google für diese Seiten keine Cache-Version.

Wenn ihr verhindern wollt, dass eure Seiten überhaupt nicht in den Index von Google aufgenommen werden, dann müsst ihr den Zugang entweder mit Hilfe der .htaccess absperren oder ihr dürft die Seite gar nicht erst ins Internet stellen 😉

Veröffentlicht von

Cujo

Die Webmaster-Zentrale wurde im Januar 2010 von mir gegründet. Dabei haben mich 3 Internetauftritte maßgeblich beeinflusst. Zum einen die Website des t3n-Magazins, www.t3n.de, auf der immer sehr interessante Artikel zum Thema Webseitenerstellung gepostet wurden. Genau solche Artikel wollte ich auch schreiben. Dann bin ich schon seit mehreren Jahren im Homepage-Forum, www.homepage-forum.de, aktiv. Im Laufe der Zeit stellte ich fest, dass dort immer die gleichen Fragen gestellt wurden. Jedesmal darauf die gleichen Antworten zu geben, war erstens langweilig, zweitens zeitraubend und drittens hat es sich nicht gelohnt, die Fragen ausführlich zu beantworten. In der Webmaster-Zentrale greife ich jetzt oft Fragen auf, die im Homepage-Forum gestellt wurden und habe die Möglichkeit die angesprochenen Themen viel detaillierter zu behandeln. Bei wiederkehrenden Fragen poste ich dann einen Link zu einem Artikel in der Webmaster-Zentrale. Dadurch erhalten die User ausführlichere Antworten als normalerweise in einem Forum üblich. Die Idee, Informationen bereitzustellen und diese im Forum zu verlinken, habe ich von Daniel, www.homepage-faqs.de, übernommen. Daniel bezeichnet sich selbst als Forenhelfer und ist sehr aktiv im Homepage-Forum. Er hat schon zahllosen Usern mit seinen Informationen geholfen und ihnen die Grundlagen der Webseitenerstellung erklärt. Diese 3 Webauftritte hatten einen so großen Einfluss auf mich, dass ich sicher behaupten kann, dass es ohne sie die Webmaster-Zentrale nicht geben würde.

23 thoughts on “Mit einer robots.txt Google steuern”

  1. Kleiner Einwand!

    Leider halten sich nicht alle Suchmaschinen an diese Vorgaben, aber zumindest die wichtigsten wie Google …

    Wenn sich Google daran halten würde, so würde ich zu diversen Domains nicht meine durch .htaccess und robots.txt gesperrte Adminseiten in der Speedanalyse als angebliche Zeitnahme wieder vorfinden, oder?

    Auch bei Google zählt: Es ist das eine, was man sagt – und was ganz anderes, was man macht! 😉

  2. @Chandor Ich bin mir jetzt nicht ganz sicher, was du mit “Speedanalyse” meinst. Geht es dir dabei um die Funktion “Websiteleistung” in den Webmaster-Tools oder was meinst du damit?

  3. Ja, genau dieses Tool aus den Labs meine ich! Dort werden Seiten aus meinem ACP aufgeführt. Versuch habe ich geschrieben, da diese Verzeichnisse über .htaccess geschützt sind. Und … wie geschrieben …. über die Robots ausdrücklich angewiesen wurde, diese Verzeichnisse nicht zu crawln. Die URL der Seite selbst wurde wahrscheinlich über meine aktive G-Toolbar übermittelt …. woher sonst!?

  4. @Chandor Dass Google die Adresse von der Google-Toolbar bekommen hat, kann gut sein. Das habe ich schon öfters gehört. Dass er die Adresse bei der Websiteleistung anzeigt, finde ich auch ein bisschen seltsam. Andererseits ist es aber auch nicht so tragisch. Schließlich geht es bei der robots.txt nur darum, dass die Seiten nicht im Index landen. Und das ist bei dir wahrscheinlich der Fall, oder?

    @Matthias Ich habe den Namen des Bing-Crawlers im Artikel geändert. Vielen Dank für den Hinweis 🙂

  5. Hi Eric,

    ja, es wird die Toolbar sein. Aber warum werden mir diese Seiten im Lab als Analyse angezeigt?

    Man munkelt, der Speed wird auch einer der Rankingfaktoren sein. Warum werden Seiten beurteilt, die keiner sehen wird (bis zu fünf von angezeigten 10 URL), und auch Google (eigene Aussage) nicht beurteilen sollte. Zitat: “… außer Acht lassen wird…”?

    Wozu die Robots? Sollte dann ja als Crawling-Fehler “404” in den WMT angezeigt werden!? Werden Sie aber nicht!

    Mein Fazit:
    Seid vorsichtig mit solchen Aussagen, was Google so NICHT tut oder was Google so beachtet! Es sei denn, Ihr seid Angestellter des inneren Zirkels in Los Angelas!

  6. Hallo chandor.

    Vielleicht hast du ja einen fehler in deiner robots.txt.

    Bei mir werden sämtliche Seiten die ich durch die robots.txt gesperrt habe als crawling Fehler angezeigt.

    Also scheint die robots.txt von Google doch beachtet zu werden.

  7. Nein, da ist kein Fehler drin. Sicherheits halber habe ich die URL in den WMT überprüft. Google bestätigt mir:

    Blockiert für Zeile x:Disallow: /xxxxx/

  8. Das ist nicht so ganz richtig, was Du bezüglich der robots.txt und nicht indexieren schreibst. Google indexiert grundsätzlich erst mal alles, egal ob es in der robots.txt ausgeschlossen wurde oder nicht. Wer wirklich eine Seite, wie zum Beispiel das Impressum ausschließen will hat definitiv nur die Möglichkeit des Meta Tags, an den hält sich Google einwandfrei.

    Das ist mittlerweile schon sehr lange so, dass die robots.txt nicht mehr so funktioniert wie sie sollte und in einigen Fällen kann dies auch richtig dicke Probleme verursachen (z.B. session ids in Shops). Mittlerweile ist es so, dass von der robots.txt am besten die Finger gelassen werden sollte.

    Im Januar habe ich bereits hier: http://www.crazytoast.de/robots-txt-double-content-eintraege-sind-kontraproduktiv.html darüber berichtet.

  9. Da muss ich crazy girl leider recht geben. Das ist mir in letzter Zeit auch schon aufgefallen und macht nun auch einen Sinn. danke @crazy girl. Die robots.txt scheint damit teilweise ausgedient zu haben.

  10. @Jens: Nicht nur ausgedient, in einigen Fällen kann sie auch kontraproduktiv sein.
    Sieh das mal so: Google ist sich über die “Schwachpunkte” der verschiedenen Systeme ziemlich gut bewusst. Wenn ich sie aber mit der robots.txt verbiete, dann können diese ergo nicht erkannt und gebannt werden.
    Ein gutes Beispiel sind hier die Session IDs von Shops. Wer die über die robots.txt ausschließt wird sie trotzdem im Index finden, zwar etwas “minderbemittelt” (da ohne Titel und description), aber immerhin sind sie da, sind double content und können u.U. wenn es viele werden auch Schaden anrichten.
    Werden sie über die robots.txt freigegeben (also nicht ausgeschlossen) erkennt Google das relativ schnell und schlägt sogar selbst den/die entsprechenden Parameter in den Webmaster Tools vor. Schwachstelle erkannt, Schwachstelle gebannt 😉

    Das Ganze ist seit knapp 1 Jahr so. Mir ist es nur relativ früh aufgefallen, da ich auch einen Shop habe…

  11. @Crazy Girl Bezüglich des Meta-Tags habe ich andere Erfahrungen gemacht: Google indexiert eine Seite auch dann, wenn bei Meta-Tag “noindex” verwendet wird. Allerdings, wie von dir erwähnt, ohne Titel und Description.

    Als Beispiel dafür kannst du dir mal diese Seite ansehen: http://www.raetselstunde.de/impressum.html Die Seite hat beim robots-Metatag den noindex-Eintrag und ist in der robots.txt gesperrt. Trotzdem ist sie bei Google im Index drin (ohne Titel und ohne Description).

    Was mir aber gerade noch aufgefallen ist: Wenn ich eine Seite nur per robots.txt sperre, wird noch der Titel angezeigt. Wenn ich sie zusätzlich per Metatag sperre, wird der Titel nicht mehr angezeigt. Die Description wird in beiden Fällen nicht angezeigt. Wofür auch immer diese Erkenntnis gut ist 🙂

    Mit den Session IDs habe ich mich nicht näher beschäftigt, da ich keinen Shop habe.

  12. Sorry, dass ich jetzt etwas grinsen muss… Der Grund warum diese von Dir erwähnte Seite im Index zu finden ist, liegt im Eintrag in der robots.txt zu finden. Damit “verbietest” Du Google diese Seite anzusehen, so dass der “noindex” Meta Tag gar nicht zum Zuge kommen kann. Google darf ihn sich ja nicht ansehen! Das ist ein weiteres Beispiel für “kontraproduktiv”, was ich oben meinte.
    Nimm den Eintrag aus der robots.txt raus und Du wirst sehen, nach einer Weile verschwindet diese Seite aus dem Index 😉

  13. Okay, ich werde es mal ausprobieren.

    Es ist aber trotzdem seltsam, dass eine nur mit robots.txt gesperrte Seite anders angezeigt wird als eine Seite, die mit robots.txt und mit Metatag gesperrt wird. So ganz scheint Google den Metatag dann doch nicht zu ignorieren.

  14. Nimm einfach Abstand von Einträgen in der robots.txt, das ist das einfachste, als sich über die unterschiedlichen Vorgehensweisen von Google diesbezüglich Gedanken zu machen.
    Diese Einträge sind mittlerweile schlicht und ergreifend kontraproduktiv 😉

  15. Hallo,
    ein sehr gelungener Artikel und sehr hilfreich. Ich hätte aber noch eine Frage dazu:
    Wenn ich auf einer Webseite interne Links habe, die auch sicht- und klickbar sind, ich diese aber mit robots.txt von der Indexierung ausschliese – wertet die Suchmaschine diese überhaupt noch als interne Links?

  16. @Rene Wenn du eine Webseite per robots.txt ausschließst, kannst du reinschreiben, was du willst, Google wird es nicht werten. Die internen Links auf dieser Seite haben dann nur noch für den Besucher eine Bedeutung aber nicht mehr für Google.

  17. Der Artikel liegt zwar schon etwas zurück, aber oben steht
    User-Agent: Googlebot-Image
    Disallow:
    würde google eine Bildersuche verbieten, aber genau das Gegenteil ist der Fall.
    Richtig muss es heissen:
    User-Agent: Googlebot-Image
    Disallow: /
    Nur mit dem Schrägstrich wird die Bildersuche ausgeschlossen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.