Feeds: RSS 2.0 | RSS 0.92 | Atom

robots.txt vs. noindex

geschrieben am 29.02.2012 von

Es ist eigentlich ein alter Hut, aber regelmäßig stolpere ich über Fälle, wo Webmaster oder SEOs Probleme mit dem korrekten Einsatz von robots.txt und dem noindex-Metatag haben. Das größte Problem dabei ist der Glaube, dass eine in der robots.txt ausgesperrte URL nicht indexiert werden könne. Das ist falsch! Die robots.txt ermöglicht lediglich eine Steuerung des Crawlers; der historische Zweck der robots.txt war, den Crawler von den Bereichen der Website fern zu halten, die eine besonders hohe Serverlast erzeugten. Der Nebeneffekt dabei: die per robots.txt “geschützten” URLs konnten nicht in den Index gelangen.

Das aber gilt schon lange nicht mehr. Denn Google misst Links eine so hohe Bedeutung zu, dass bereits ein Link auf eine URL reichen kann, diese URL aufzunehmen. Dazu muss Google die verlinkte URL noch nicht einmal besucht haben. Auf diesem Weg also können URLs im Index landen, die in der robots.txt auf “Disallow” gesetzt sind.

Dass dies nicht nur bloße Theorie ist, lässt sich schnell überprüfen. Schauen wir uns mal die robots.txt von idealo.de an:

zum Vergrößern anklicken

Dort ist die Zeile Disallow: /preisvergleich/MainSearchProductCategory/ enthalten. Nach klassischer Vorstellung sollte also keine URL von idealo.de, die mit /preisvergleich/MainSearchProductCategory/ beginnt, im Google-Index enthalten sein.

Allerdings belehrt uns eine entsprechende site:-Suche schnell eines besseren:

zum Vergrößern anklicken

Offenbar folgte Google Links auf diese URLs und fand die Links so überzeugend, dass die verlinkten URLs im Index gelandet sind. Doch woher kommen die Titel wie “Klavier” oder “Brautschau”, wenn doch die URLs nicht gecrawlt werden dürfen? Das sind keine Informationen aus dem Title-Tag der jeweiligen Seite, sondern das ist lediglich der Linktext, den Google hier heranzieht, um eine schönere Ergebnisdarstellung zu erreichen. (Das macht Google inzwischen manchmal sogar bei crawlbaren Seiten, wenn die Suchmaschine der Ansicht ist, dass der vorhandene Title-Tag zu nichtssagend ist. Sozusagen SEO-on-the-fly by Google himself …)

Wir haben bisher also gelernt, dass ein robots.txt-Disallow-Eintrag nicht vor einer Indexierung schützt. Nun, dann nutzen wir doch einfach den Noindex-Metatag. Wir setzen also eine solche Zeile in den HTML-Code unserer Seite:
<meta name="robots" content="noindex">

Doch was passiert nun? Gar nichts! Denn dank der Disallow-Anweisung in der robots.txt-Datei wird Google nie von der Existenz dieser Anweisung erfahren. Schließlich verbieten wir Google ja, diese URL zu crawlen und den Inhalt zu untersuchen. Der Einsatz von robots.txt und des Noindex-Metatags widerspricht sich also häufig.

Wie aber setzen wir diese beiden Werkzeuge richtig ein?

Die robots.txt ist überall dort sinnvoll, wo wir verhindern wollen, dass ein Crawler auf die geschützten URLs zugreift. Dies kann sein, um Bilder von der Aufnahme in Suchmaschinen auszuschließen oder um einen besonders ressourcenintensiven Teil der Webanwendung vor Überlastung zu schützen. Auch wenn wir eine große Anzahl an für Suchmaschinen vollkommen belanglosen URLs (Stichwort: Duplicate Content) haben, kann uns die robots.txt nützen. Denn damit verhindern wir, dass der Crawler sich mit diesen URLs verlustiert und anschließend keine Ressourcen mehr für die wichtigen Seiten übrig hat. Wir müssen aber damit leben, manche URLs trotzdem im Google-Index zu sehen.

Möchten wir aber sicherstellen, dass bestimmte URLs nicht im Index auftauchen, müssen wir den noindex-Metatag einsetzen, den Suchmaschinen aber den Zugriff auf diese URLs erlauben. So kann Google die Noindex-Anweisung erkennen und beachten.

In beiden Fällen könnten wir noch theoretisch mit Nofollow-Links dafür sorgen, dass Google sich mit diesen URLs möglichst erst gar nicht beschäftigt. Da das Nofollow-Attribut aber nur eine Empfehlung ist, an die sich Google häufig nicht hält, können wir uns das auch sparen. Zumal eine Website, die mit Nofollows übersät ist, auf Google auch nicht besonders überzeugend wirken dürfte.

23 Kommentare

  • SEO-Basics: robots.txt vs. noindex – SEO.at
    29. Februar 2012 12:18

    [...] robots.txt vs. noindex var szu=encodeURIComponent(location.href); var [...]

  • Bert
    29. Februar 2012 14:05

    Tatsächlich der Klassiker, schöne Zusammenfassung!

    Eine schneller Kompromiss (wenn man das Meta-Tag nicht beeinflussen kann, z.b. bei schlechtem CMS) ist auch die Verwendung der NOINDEX (statt DISALLOW) Direktive in der robots.txt (Siehe Link).

  • Robert
    1. März 2012 05:46

    Ergänzend bzw. alternativ kann man seit kurzem auch rel canonical einsetzen, wenngleich nicht ganz im Sinne des Erfinders. So sieht man nicht selten auf einer Impressum-Seite eine andere URL im canonical-Tag. Wie lange das risikolos funktioniert, wenn sich dieser eher missbräuchliche Einsatz häuft, steht aber auf einem anderen Blatt.

  • meet me
    1. März 2012 13:36

    Vielen Dank für den aufschlussreichen Artikel. Jetzt bin ich mal gespannt ob ich eine bestimmte URL aus dem Index bekomme, da Google auch mehr indexiert hat als gewünscht.

  • GvL
    1. März 2012 17:04

    @Bert: Die noindex-Anweisung in der robots.txt wird scheinbar auch von Google nicht befolgt. Testen kann man das gut an der robots.txt von fitforfun.de: http://www.fitforfun.de/robots.txt

    Die dort mit “noindex” gekennzeichneten URLs finden sich massenhaft im Index.

  • Stefan
    1. März 2012 17:38

    @GvL: Das ist ein schlechtes Beispiel. Denn die Noindex-Anweisungen in der fitforfun.de-robots.txt-Datei richten sich nur an den Crawler der Google Search Appliance (User-Agent: gsa-crawler), nicht an den Googlebot, der die Google-Websuche befüllt.

    Interessant ist auch, dass auf der Google-robots.txt-Dokumentation das Wörtchen “noindex” nicht vorkommt:
    https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt?hl=de
    Das zeigt genau das Problem auf, das ich seit langem mit der robots.txt habe. Es ist, anders als suggeriert wird, längst kein Standard mehr und jede Suchmaschine erweitert das Ding nach eigener Vorstellung, ohne die Dinge genau zu dokumentieren.

  • Michael D.
    2. März 2012 08:03

    OK, ich habe ein Verzeichnis mit PDF-Dateien, die ich wegen Duplicate Content nicht indizieren lassen möchte. Aktuell habe ich das Verzeichnis nur über die robots.txt “disallowed”.
    Wenn ich das jetzt richtig verstanden habe, würde der ein oder andere externe Link reichen, um die PDF-Dateien in den index zu spülen. Wie kann ich das nun verhindern? Ich denke mal nicht, dass es klappt, wenn man in den PDF-Metadaten einfügt, oder?

  • Sascha
    2. März 2012 08:13

    Selbiges Problem hatte ich neulich in einem Shopprojekt. Witziger weise ist die zusammenfassung in er “Disallow” Gruppe wohl von Google so nihct merh akzeptiert. Keiner weiß warum.

    Wenn die Bereich einzeln gesperrt werden ist alles wieder gut. Mache also aus:
    ——————–
    User-agent: *
    Disallow: /a.html
    Disallow: /b.html
    Disallow: /c.html
    ——————–
    User-agent: *
    Disallow: /a.html

    User-agent: *
    Disallow: /b.html

    User-agent: *
    Disallow: /c.html
    ——————-

    So war es in diesem Projekt und alles war wieder in Ordnung. Ich kann @ stefan da nur zustimmen.

  • Stefan
    2. März 2012 09:56

    @Michael,
    um PDF-Dateien u.ä. wie Bilder auszuschließen, kannst du den X-Robots-Tag-Header nutzen. Details findest du hier:
    https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag
    So ein HTTP-Header wirk wie HTML-Metatag.

  • GvL
    2. März 2012 12:21

    @Stefan: Danke für den Hinweis.

  • GvL
    2. März 2012 12:41

    Besseres Beispiel: manchester.com/robots.txt -> hier lässt sich ganz gut untersuchen, ob Google die noindex-Anweisung immer befolgt, diese also “inoffiziell” unterstützt. Z.B. beim Verzeichnis /gallery/ scheint das nicht der Fall zu sein, was mich weiter davon überzeugt, die Indizierung von bestimmten Seiten besser über das robots-meta-tag zu steuern.

  • Stefan
    2. März 2012 12:53

    Versteh’ ich nicht ganz. Die Abfrage [site:manchester.com/gallery/] bringt bei mir keine Treffer, ebenso die /events/ oder /notices/. Lediglich für /news/ bekomme ich einen Treffer angezeigt, was wohl daran liegt, dass die Zeile “Allow: /news/index,html” für diese URL die Noindex:-Anweisung überstimmt.

  • GvL
    2. März 2012 13:08

    Für die Abfrage [site:http://www.manchester.com/ inurl:gallery] liefert Google 54 Ergebnisse aus.

    Diese sollten – wenn Google “noindex” in der robots.txt befolgt – aufgrund der Anweisung “Noindex: /gallery/” eigentlich nicht im Index zu finden sein..

  • Stefan
    2. März 2012 13:27

    Deine Abfrage liefert URLs wie diese: http://www.manchester.com/community/chinatown/gallery/gallery.php
    Da steht zwar /gallery/ drinnen, aber die robots.txt-Anweisungen müssen am Pfadanfang übereinstimmen. Eine Anweisung wie “Noindex: /gallery/” matcht nicht auf /irgendwas/gallery/!
    Wenn du eh schon Google-spezifisch arbeitest, dann sollte das mit “Noindex: */gallery/” klappen; empfehlen würde ich es aber nicht, weil damit die robots.txt noch fehleranfälliger wird als sie es eh schon ist.

  • GvL
    2. März 2012 13:56

    Mein Fehler..

  • Top 10 der Woche 10/12 « Wochenrückblicke
    4. März 2012 15:54

    [...] Anprangerung durch Arthur ist das Thema auch in öffentlichen Blogs. Weiter…robots.txt vs. noindex – Es ist eigentlich ein alter Hut, aber regelmäßig stolpere ich über [...]

  • Christoph
    4. März 2012 21:29

    @Robert: Im Canonical-Tag des Impressums einen anderen URL anzugegeben…hmm, also auf so etwas wäre ich gar nicht gekommen und würde ich auch nie machen. Nachhaltigkeit sollte bei der Suchmaschinenoptimierung immer sehr weit – wenn nicht sogar ganz – oben stehen. Und soetwas ist sicher nicht nachhaltig. Davon abgesehen verstehe ich nicht, wie man auf solche Ideen kommt, wenn es doch ganz andere – wesentlich sinnvollere – Möglichkeiten hierfür gibt. Naja… man sieht ja mittlerweile so einige komische Dinge.

  • Mark
    15. März 2012 13:13

    Vielen Dank für den informativen Artikel! Kurz und bündig das wichtigste zusammengefasst.

  • matthias
    16. März 2012 19:53

    Danke für die interessanten Ausführungen. was passiert aber, wenn 2 metatags 1x index; follow und 1 x noindex, nofollow in einer datei sind. soll eigentlich nicht vorkommen, habe ich aber schon oft gesehen.

    danke und viele Grüsse

  • Stefan
    19. März 2012 09:13

    Matthias,
    ich habe keine Ahnung, könnte mir aber vorstellen, dass das noindex,nofollow gewinnt, weil index,follow die Standardeinstellung ist. Aber eigentlich sollte man, wenn das passiert, den Admin/Webentwickler foltern und vierteilen …

  • celo
    3. April 2012 20:09

    Danke schön für diesen Artikel.

  • Thorben
    7. Mai 2012 17:02

    Danke für diesen Artikel. Wird dann folgendes von einem
    noindex-Metatag “übertönt” oder trotzdem indexiert :
    User-agent: *
    Allow: /
    Ich möchte nämlich einen ganzen Ordner “verstecken” ;)

  • Markus
    9. Mai 2012 20:39

    Wow, jetzt weiß ich endlich, warum mir meine robots.txt-Anweisung mit dem vorsichtshalber dazu eingetragenen Noindex nichts gebracht hat. Da muß man erst mal drauf kommen… Kompliment!

Entschuldige, das Kommentarformular ist zurzeit geschlossen.

SEOlytics
- Anzeige -

Weitere Artikel

SEO Cheat-Sheet

Termine

Suchmaschinen-Ranking

Suchmaschinen-Verzeichnis

Suchmaschineneintrag

Intern

Linktipps

Archiv: 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000