Karl Heinz: robots.txt Disallow versus <meta>-Tag noindex

Hallo,

das Crawling Budget des Google Bots pro Webseite ist ja begrenzt. Es macht demnach Sinn mit Hilfe der robots.txt dafür zu sorgen, dass das Crawling Budget nur für das Crawling der relevanten Seiten (die indexiert werden sollen) genutzt wird. Aus diesem Grund ist es sinnvoll z.B. folgendes in die robots.txt zu packen:

User-agent: *
Disallow: /admin/
Disallow: /core/
Disallow: /tmp/
Disallow: /views/
Disallow: /setup/
Disallow: /log/
Disallow: /*?cl=search
Disallow: /*&cl=search

Damit wird kein Crawling Budget für Seiten verbraten deren Indexierung nicht sinnvoll ist. Wird allerdings eine Seite, aus den oben genannten Verzeichnissen verlinkt, so kann es trotzdem sein, dass diese Seite im Google Index auftaucht. Die Meta Description kann allerdings nicht ausgelesen werden, da ein Crawling in der robots.txt verboten wurde.

In den SERPS würde das dann so aussehen:

Fragen:

  • Eigentlich müsste man alle Seiten, deren Crawling in der robots.txt verboten wird, mit dem <meta>-Tag noindex kennzeichnen, nur so kann man vermeiden, dass in den Google SERPS Ergebnisse angezeigt werden, bei welchen keine Meta Description ausgelesen werden kann. In der Praxis geht das aber nicht, weil:

Die Anweisung noindex funktioniert nur, wenn die Seite nicht durch eine robots.txt-Datei blockiert wird. Andernfalls ist die noindex-Anweisung für den Crawler nicht sichtbar und die Seite kann somit weiterhin in den Suchergebnissen erscheinen, beispielsweise wenn es auf anderen Seiten Verlinkungen zu ihr gibt.

Welchen Ausweg gibt es aus diesem Schlamassel? Wie kann ich vermeiden, dass eine Seite die über die robots.txt vom Crawling ausgeschlossen ist, nicht so etwas in den SERPS liefert?

  • Angenommen man kennzeichnet eine Seite mit dem <mata>-Tag noindex. Einen Dissalow Eintrag in der robots.txt bezogen auf diese Seite gibt es nicht. Dann wird die Seite zwar nicht indexiert Crawling Budget wird aber schon verbraucht oder?

  • Wie kann ich erreichen, dass eine Seite weder gecrawlt wird (und damit kein Crawling Budget verbraucht) noch indexiert wird? Ist das in Kombination überhaupt möglich?

Viele Grüße

--
"Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."
  1. Hallo

    das Crawling Budget des Google Bots pro Webseite ist ja begrenzt.

    User-agent: *
    Disallow: /admin/
    Disallow: /core/
    Disallow: /tmp/
    Disallow: /views/
    Disallow: /setup/
    Disallow: /log/
    Disallow: /*?cl=search
    Disallow: /*&cl=search
    

    Wird […] eine Seite, aus den oben genannten Verzeichnissen verlinkt, so kann es trotzdem sein, dass diese Seite im Google Index auftaucht. Die Meta Description kann allerdings nicht ausgelesen werden, da ein Crawling in der robots.txt verboten wurde.

    Nur mal als Klarstellung. Mit der robots.txt verbietest du sage und schreibe nichts. Die Befolgung der Anweisungen in der robots.txt ist freiwillig. (Nicht nur) Google richtet sich nach den Anweisungen, aber damit entspricht Google irgendwie einem geäußerten Wunsch, befolgt aber nicht ein Verbot (auch wenn da Disallow steht).

    Fragen:

    • Eigentlich müsste man alle Seiten, deren Crawling in der robots.txt verboten wird, mit dem <meta>-Tag noindex kennzeichnen, nur so kann man vermeiden, dass in den Google SERPS Ergebnisse angezeigt werden, bei welchen keine Meta Description ausgelesen werden kann. In der Praxis geht das aber nicht, weil:

    Die Anweisung noindex funktioniert nur, wenn die Seite nicht durch eine robots.txt-Datei blockiert wird.

    Was lässt dich das vermuten? Wenn ein Bot die in der robots.txt festgelegten Regeln strikt befolgt, indexiert er Seiten in den angegebenen Verzeichnissen per se nicht. Also gäbe es keinen Grund für meta noindex. Indexiert er sie entgegen dem in der robots.txt geäußerten Wunsch aber doch, dann wird er auch das meta noindex finden. Wenn er aber das Meta-Element findet, gibt es keinen Grund, die dort festgelegte Regel nicht zu befolgen, außer er ignoriert eine solche Regel sowieso.

    • Angenommen man kennzeichnet eine Seite mit dem <mata>-Tag noindex. Dann wird die Seite zwar nicht indexiert Crawling Budget wird aber schon verbraucht oder?

    • Wie kann ich erreichen, dass eine Seite weder gecrawlt wird und damit keine Crawling Budget verbraucht noch indexiert wird? Ist das in Kombination überhaupt möglich?

    Du bist darauf angewiesen, dass ein Suchmaschinenroboterbetreiber die auf einer Website angegebenen Regeln befolgt. Du hast als Werkzeuge innerhalb deiner Website dazu die robots.txt, Meta-Angaben im Dokumentkopf und zuguter Letzt noch das Attruíbut rel mit dem Wert "nofollow" in Links, denen ein Robot nicht folgen soll (nicht "nicht darf").

    Tschö, Auge

    --
    Eine Kerze stand [auf dem Abort] bereit, und der Almanach des vergangenen Jahres hing an einer Schnur. Die Herausgeber kannten ihre Leser und druckten den Almanach auf weiches, dünnes Papier.
    Kleine freie Männer von Terry Pratchett
    1. @@Auge,

      • Eigentlich müsste man alle Seiten, deren Crawling in der robots.txt verboten wird, mit dem <meta>-Tag noindex kennzeichnen, nur so kann man vermeiden, dass in den Google SERPS Ergebnisse angezeigt werden, bei welchen keine Meta Description ausgelesen werden kann. In der Praxis geht das aber nicht, weil:

      Die Anweisung noindex funktioniert nur, wenn die Seite nicht durch eine robots.txt-Datei blockiert wird.

      Was lässt dich das vermuten?

      Dieser Google Hilfe Artikel:

      https://support.google.com/webmasters/answer/93710?hl=de

      Im Artikel steht folgendes:

      Wenn ein Bot die in der robots.txt festgelegten Regeln strikt befolgt, indexiert er Seiten in den angegebenen Verzeichnissen per se nicht.

      Doch, wenn die Seite Backlinks hat schon, dann wird die Seite indexiert aber nicht gecrawlt.

      Also gäbe es keinen Grund für meta noindex.

      Doch, den gäbe es. Ich möchte kein solches Ergebnis in den SERPS:

      Indexiert er sie entgegen dem in der robots.txt geäußerten Wunsch aber doch, dann wird er auch das meta noindex finden.

      Eben nicht, sonst dürfte es so etwas wie im Screenshot oben nicht geben.

      In der robots.txt sage ich ausschließlich das die Seiten nicht gecrawlt werden sollen. In der robots.txt kann ich nicht sagen, dass die Seiten nicht indexiert werden sollen. Das sind zwei paar Schuhe.

      Wenn er aber das Meta-Element findet, gibt es keinen Grund, die dort festgelegte Regel nicht zu befolgen, außer er ignoriert eine solche Regel sowieso.

      Laut dem oben verlinkten Google Artikel wird er das Meta-Element nicht finden, wenn ein disallow in der robots.txt ist. Was nicht gefunden wird kann auch nicht befolgt werden.

      1. Hallo,

        ist denn sichergestellt, dass es nicht noch eine andere Form der Bereitstellung von Informationen für Suchmaschinen gibt? Mir fällt da spontan eine Sitemap ein, die hinterlegt sein könnte.

        Ansonsten bin ich auch der Meinung, die noindex-Variante geht nur, wenn die Suchmaschine die Seiten "analysieren" kann. Backlinks von anderen Seiten müsste in dem Fall mit "rel=nofollow, noindex" der Hinweis mitgegeben werden. Allerdings hat man keinen Einfluss darauf, wenn es wirklich externe Seiten sind.

        Also IMHO in der robots.txt kein disallow auf seiten setzen, die von extern verlinkt werden. Dann besser mit in diesen Seiten mit "noindex" arbeiten.

        gruß bornstecker

      2. Hallo

        Die Anweisung noindex funktioniert nur, wenn die Seite nicht durch eine robots.txt-Datei blockiert wird.

        Was lässt dich das vermuten?

        Dieser Google Hilfe Artikel:

        https://support.google.com/webmasters/answer/93710?hl=de

        Im Artikel steht folgendes:

        Laut dem oben verlinkten Google Artikel wird er das Meta-Element nicht finden, was nicht gefunden wird kann auch nicht befolgt werden.

        Dann muss ich also davon ausgehen, dass Google entgegen eigener Aussagen die in der robots.txt festgelegten Regeln nicht (vollständig) befolgt.

        Wenn ein Verzeichnis per robots.txt von der Indexierung durch Suchroboter ausgeschlossen werden soll, aber nach Bekanntmachung dieses Wunsches per robots.txt dennoch Suchergebnisse für die Seite vorliegen, folgt der betreffende Suchmaschinenroboter dem Wunsch nicht. Denn dann sollte er bei Kenntnis der Regeln der robots.txt betreffende Seiten auch dann nicht indexieren, wenn sie von anderen Seiten (zumindest der selben Domain) aus verlinkt sind.

        Wenn Google selbst schreibt „die Seite kann […] in den Suchergebnissen erscheinen, beispielsweise wenn es auf anderen Seiten Verlinkungen zu ihr gibt.“, dann sollte man überlegen, die Links, wenn es geht, zu entfernen oder ihnen das Attribut rel hinzuzufügen. Das hilft natürlich nur bei Links, deren Generierung man selbst unter Kontrolle hat. Bei Links von fremden Seiten hat man das natürlich nicht. Ansonsten wäre zu überlegen, das Verzeichnis für die betreffenden Seiten aus dem Regelsatz der robots.txt zu entfernen und die Indexierung über einen HTTP-Header und zusätzlich mit dem passenden Meta-Element zu unterbinden.

        Tschö, Auge

        --
        Eine Kerze stand [auf dem Abort] bereit, und der Almanach des vergangenen Jahres hing an einer Schnur. Die Herausgeber kannten ihre Leser und druckten den Almanach auf weiches, dünnes Papier.
        Kleine freie Männer von Terry Pratchett
        1. @@Auge,

          Dann muss ich also davon ausgehen, dass Google entgegen eigener Aussagen die in der robots.txt festgelegten Regeln nicht (vollständig) befolgt.

          Die Regeln werden von Google vollständig befolgt. Ich glaube du interpretierst die Regeln einfach falsch und gehst deshalb davon aus, dass Google die Regeln nicht vollständig befolgt. Die Regeln in der robots.txt beziehen sich ausschließlich auf das Crawling. Mit der Indexierung haben die Regeln in der robots.txt nichts zu tun.

          Wenn ein Verzeichnis per robots.txt von der Indexierung durch Suchroboter ausgeschlossen werden soll,

          Mit der robots.txt kannst du nur vom Crawling ausschließen nicht vom Indexieren.

          aber nach Bekanntmachung dieses Wunsches per robots.txt dennoch Suchergebnisse für die Seite vorliegen, folgt der betreffende Suchmaschinenroboter dem Wunsch nicht.

          Doch er folgt dem Wunsch Crawling Budget einzusparen. Wenn die Seite dennoch über Backlinks indexiert wird passiert das ohne Crawling.

          Denn dann sollte er bei Kenntnis der Regeln der robots.txt betreffende Seiten auch dann nicht indexieren, wenn sie von anderen Seiten (zumindest der selben Domain) aus verlinkt sind.

          Sinnig finde ich das auch nicht, deshalb die Fragen. In der Praxis ist das allerdings IMMER so.

          In diesem Artikel:

          https://support.google.com/webmasters/answer/6062608?hl=de

          schreibt Google folgendes:

          Eine robots.txt-Datei teilt Suchmaschinen-Crawlern mit, welche Seiten oder Dateien der Crawler von Ihrer Website anfordern kann und welche nicht. Dies dient hauptsächlich dazu, eine Überlastung Ihrer Website mit Anfragen zu vermeiden. Es handelt sich dabei nicht um einen Mechanismus, um eine Website aus Google auszuschließen. Wenn Sie eine Website aus Google ausschließen möchten, verwenden Sie am besten noindex-Tags oder -Anweisungen oder schützen Sie Ihre Seite mit einem Passwort.

          1. Hallo

            Dann muss ich also davon ausgehen, dass Google entgegen eigener Aussagen die in der robots.txt festgelegten Regeln nicht (vollständig) befolgt.

            Die Regeln werden von Google vollständig befolgt. Ich glaube du interpretierst die Regeln einfach falsch und gehst deshalb davon aus, dass Google die Regeln nicht vollständig befolgt. Die Reglen in der robots.txt beziehen sich ausschließlich auf das Crawling. Mit der Indexierung haben die Regeln in der robots.txt nichts zu tun.

            Wenn ein Verzeichnis per robots.txt von der Indexierung durch Suchroboter ausgeschlossen werden soll,

            Mit der robots.txt kannst du nur vom Crawling ausschließen nicht vom Indexieren.

            Der Artikel im SelfHTML-Wiki sagt anderes:

            „Hinter jeder Zeile, die mit Disallow: beginnt, können Sie jeweils eine Pfadangabe notieren. Die Robots werden diese Pfade auf Ihrer Seite dann nicht indizieren.“

            Hervorhebung von mir.

            In diesem Artikel:

            https://support.google.com/webmasters/answer/6062608?hl=de

            schreibt Google folgendes:

            Eine robots.txt-Datei teilt Suchmaschinen-Crawlern mit, welche Seiten oder Dateien der Crawler von Ihrer Website anfordern kann und welche nicht. Dies dient hauptsächlich dazu, eine Überlastung Ihrer Website mit Anfragen zu vermeiden. Es handelt sich dabei nicht um einen Mechanismus, um eine Website aus Google auszuschließen. Wenn Sie eine Website aus Google ausschließen möchten, verwenden Sie am besten noindex-Tags oder -Anweisungen oder schützen Sie Ihre Seite mit einem Passwort.

            Keine Ahnung, wessen Interpretation nun die richtige oder zumindest richtigere ist.

            Wenn die Interpretation Googles nicht korrekt sein sollte, ändert das natürlich dennoch nichts an den Tatsachen. Wie heißt es so schön: „Die normative Kraft des Faktischen.“ Sowohl @bornstecker als auch ich haben dir empfohlen, das Verzeichnis mit den fraglichen Dateien von den Regeln in der robots.txt auszuschließen, damit die Robots darauf zugreifen können und für beziehungsweise in den Dateien stattdessen mit dem HTTP-Header und dem Meta-Element zu arbeiten. Wenn diese beachtet werden, hast du die Suchergebnisse mit dem Hinweis auf die robots.txt schlicht nicht mehr.

            Tschö, Auge

            --
            Eine Kerze stand [auf dem Abort] bereit, und der Almanach des vergangenen Jahres hing an einer Schnur. Die Herausgeber kannten ihre Leser und druckten den Almanach auf weiches, dünnes Papier.
            Kleine freie Männer von Terry Pratchett
            1. @@Auge,

              Sowohl @bornstecker als auch ich haben dir empfohlen, das Verzeichnis mit den fraglichen Dateien von den Regeln in der robots.txt auszuschließen, damit die Robots darauf zugreifen können und für beziehungsweise in den Dateien stattdessen mit dem HTTP-Header und dem Meta-Element zu arbeiten.

              So würde ich das dann machen.

              Die große Frage: Wann macht dann disallow in Verbindung mit der robots.txt noch Sinn?

              1. Hallo

                @@Auge,

                Sowohl @bornstecker als auch ich haben dir empfohlen, das Verzeichnis mit den fraglichen Dateien von den Regeln in der robots.txt auszuschließen, damit die Robots darauf zugreifen können und für beziehungsweise in den Dateien stattdessen mit dem HTTP-Header und dem Meta-Element zu arbeiten.

                So würde ich das dann machen.

                Die große Frage: Wann macht dann disallow in Verbindung mit der robots.txt noch Sinn?

                Bei Verzeichnissen mit Bildern, mit CSS- oder JS-Dateien oder für zugangsbeschränkte Bereiche einer Site, bei denen man Traffic durch unnütze oder zum scheitern verurteilte Zugriffe vermeiden will.

                Tschö, Auge

                --
                Eine Kerze stand [auf dem Abort] bereit, und der Almanach des vergangenen Jahres hing an einer Schnur. Die Herausgeber kannten ihre Leser und druckten den Almanach auf weiches, dünnes Papier.
                Kleine freie Männer von Terry Pratchett