Robots.txt Noindex funktioniert nicht. Oder doch?

Auf der SEO-Campixx habe ich einen Vortrag über Robots.txt und Sitemaps gehalten. Im Rahmen dieses Vortrags habe ich erzählt, dass „Noindex:“ in der Robots.txt nicht mehr geeignet dazu ist, Inhalte von der Indexierung auszuschließen.

Hintergrund Noindex in der Robots.txt

Wer die Anweisung nicht kennt:

  • Ein „Disallow:“ in der Robots.txt kann das Crawling eines URL-Pfades verbieten.
  • Daneben gibt es — relativ undokumentiert — das Feature „Noindex:“, mit dem Inhalte von der Indexierung ausgeschlossen werden sollen.

DeepCrawl hat vor Jahren einen schönen Artikel dazu geschrieben: „Robots.txt Noindex: The best kept secret in SEO“

Noindex in der Robots.txt funktioniert nicht mehr?

Dieses Feature haben wir in manchen Kundenprojekten aus Convenience-Gründen verwendet. Es hat funktioniert.

In mindestens zwei Fällen sind Inhalte, die über diese Variante deindexiert worden waren, vor einem halben Jahr wieder im Index gelandet.
Wir haben das als Signal für uns genommen anzunehmen, dass dieser Weg zur Deindexierung von Inhalten nicht mehr funktioniert.

Noindex in der Robots.txt funktioniert‽

Schon im Vortrag gab es Teilnehmer, die erzählt haben, dass das Feature bei ihnen noch gewünschte Resultate erzielt.
Nach der Campixx wurde ich dann von Tobias Schwarz von Audisto angeschrieben, dass dieses Feature weiterhin funktionieren soll.

Ich habe eine Domain (kein Kunde) vorgelegt, bei der trotz Robots.txt-„Noindex:“ Inhalte per „site:“-Abfrage im Google-Index zu finden waren. (Es waren damals 17 URLs. Heute sind es noch 10, die indexiert sind.)

Gleichzeitig habe ich noch mal die Kundenseiten gecheckt und siehe da: Keine Inhalte mehr im Index zu finden.

Test auf wngmn.de

In Folge der Diskussion mit Tobias habe ich zwei URLs auf wngmn.de, die aktuell im Index waren, in der Robots.txt von der Indexierung ausgeschlossen:

User-Agent: *
Allow: /
disallow: /blog/aeiou-vokale-fuer-alle/
noindex: /blog/aeiou-vokale-fuer-alle/
noindex: /blog/wingmen-begruessen-wingwoman-in-wigwam/

Beide URLs sind relativ alt, zum Zeitpunkt der Änderung der Robots.txt im Index und nur schwach intern verlinkt.

Nach eineinhalb Monaten ist die zweite der beiden URLs deindexiert worden. Eineinhalb Monate hat es gedauert, bis die URL zum Recrawling anstand. Erst dann hat Google die Robots.txt für diese URL neu evaluiert und die Inhalte entfernt.

Wir hätten die URLs natürlich auch aktiv an Google pingen können (Sitemap, Search Console), aber das hätte unter Umständen das Ergebnis verfälschen können. Die per Disallow und Noindex markierte URL ist zum Zeitpunkt der Veröffentlichung noch im Index. Mal schauen, wie lange noch.

Robots.txt-Noindex-URLs in der GSC

Interessant ist auch, wie Google mit dieser URL in der Google Search Console umgeht:

In der Google Search Console wird interessanterweise der Artikel als „gesperrt“ gekennzeichnet. Wie auch eine URL ausgegeben würde, die per „disallow:“ ausgezeichnet wird.

Learnings, Reminder und Zukunft

Wir lernen verschiedene Dinge aus diesem kleinen Test:

  • „Noindex:“ in der Robots.txt kann genutzt werden, um Dokumente zu deindexieren
  • Die Anweisung wird ausgeführt, wenn das Dokument zum Recrawling ansteht. Nicht, wenn die Robots.txt geändert wird
  • Die URL ist laut Logfiles vom Googlebot nicht noch mal gecrawlt worden. Das Noindex impliziert also (wahrscheinlich) das Disallow

John Müller und Gary Illyes haben beide während unseres Testzeitraums Stellung zum Thema genommen:

John Müller:

We don’t officially support it, so I wouldn’t rely on any particular effect. (Twitter)

Gary Illyes:

This may go away. I’m cleaning up that part of the googlebot codebase nowadays and that thing sticks out like a nun in a mosh pit (Twitter)

Google unterstützt also die Angabe weiter nicht offiziell.
Im Gegenteil: Das Thema steht bei Google nicht nur zur Diskussion, sondern eventuell zum Ausbau an.
Grundsätzlich ist das auch ein richtiger Punkt: Die Robots.txt regelt den Crawling-Prozess. Die Indexing-Informationen allein an einem Dokument zu pflegen (HTML-Head oder HTTP-Header des Dokuments) scheint da grundsätzlich konsistenter zu sein.

Andere Suchmaschinen unterstützen die Angabe AFAIK ebenfalls nicht (Bing crawlt und indexiert die URLs weiter).

Was ist zu tun?

Dennoch ist die Robots.txt häufig die einfachste Möglichkeit, ein Dokument mit Noindex auszuzeichnen. Gerade bei Nicht-HTML-Dateien. Das ein Dokument dann allerdings auch mit hoher Wahrscheinlichkeit nicht mehr gecrawlt wird, ist vielleicht aber auch nicht allen bewusst, die diese Auszeichnung verwenden.

Unsere Haltung:
Bei weniger wichtigen Inhalten kann das eine Option sein. Dokumente, die vom Crawling ausgeschlossen sind (Disallow) zusätzlich noch mal per Noindex von der Indexierung auszuschließen, damit sie nicht eventuell doch im Index landen. Das kann eine sinnvolle zusätzliche Absicherung sein.

Aber: Indexierung ist einer der wichtigsten Suchmaschinenprozesse. Wer hier optimieren möchte, der sollte den Vorgang besser langfristig abgesicherten Techniken anvertrauen.

Grundsätzlich stellt sich aber immer Fragen:

  • Brauchen wir das Dokument überhaupt?
  • Können wir das Dokument löschen, wenn Google es weder crawlen, noch indexieren soll?
  • Betrifft es eine Menge von Dokumenten?

Und gleichzeitig bleiben die zentralen Vorteile dieser Angabe:

  • Robots.txt-Noindex ist die einzige Angabe, die es aktuell ermöglicht Inhalte von der Indexierung und vom Crawling auszuschließen (neben dem Parameterhandling-Tool in der GSC).
  • Es ist schnell umgesetzt. Insbesondere für X-Robots: Noindex bei Non-HTML-Dateien kann eine Umsetzung unter Umständen unökonomisch viele Ressourcen für eigentlich nicht so relevante Ressourcen verschlingen.

Und es bleiben die Nachteile:

  • Es ist eine Maßnahme, die ausschließlich auf Google abzielt. Andere Suchmaschinen helfen wir damit nicht.
  • Es ist unsicher, ob es in jeder Situation und langfristig bestehen bleibt.

Ein Entscheidungsdiagramm könnte ungefähr so aussehen:
Entscheidungsdiagramm: Soll ich Robots.txt noindex verwenden?

Danke Tobi, danke Community

Es ist wichtig, dass wir uns regelmäßig challengen. Nicht einfach hinnehmen, was andere sagen, sondern: Eigene Erfahrungen schildern und abgleichen.

Und: Auch wenn es zeitlich einmal knapp ist, am Testing sollte man nicht sparen. Wenn man etwas sieht, das der bisherigen Erfahrung widerspricht, dann sollte man noch mal testen.

Aber sag mal Tobi, was sagst Du zum Thema?

Peer Review: Tobias Schwarz (Audisto) zu Robots.txt Noindex

Profilbild Tobias Schwarz Audisto

Mich hatte ja sehr überrascht, dass du ein Beispiel hattest, wo es nicht mehr funktioniert. Der Teufel scheint also in der Tat im Detail zu liegen.

Zunächst hatte ich ja vermutet, dass es auf das zusätzliche Vorhandensein einer Disallow-Regel ankommt, das hast du mit dem Test aber widerlegt.

Ich habe heute nochmal das Beispiel angeschaut und denke die Kernerkenntnis ist, dass die Deindexierung durch Robots.txt-Noindex erst bei der Neubewertung des Dokuments erfolgt.

Schaut man sich nämlich heute die Indexierung an, so sind auch bei dem Beispiel fast alle Seiten aus dem Index verschwunden. Es gibt nur noch wenige Dokumente die noch immer im Index sind. Wahrscheinlich funktionierte es also auch dort, der Zeitpunkt zu dem wir geschaut haben war nur ungünstig und erweckte den falschen Eindruck.

Ein Blick auf die bei Archive.org archivierten Robots.txt-Dateien zeigt z.B., dass die Noindex-Direktiven wahrscheinlich erst kurz vor der Campixx eingeführt wurden. Ein Großteil der Dokumente konnte also noch nicht neu bewertet und damit auch noch nicht deindexiert sein. Sehr spannend ist aber auch, dass die neuen Direktiven mindestens seit 6. März online sind, das neueste Dokument laut Google-Cache aber vom 10. März ist. Eigentlich hätte dieses Dokument also nicht im Index auftauchen dürfen. Das kann ich mir eigentlich nur durch das Caching der robots.txt oder durch den nachgelagerten 2-Step-Indexing Prozess für das Javascript-Crawling erklären, welches ggf. nicht nochmal auf die robots.txt schaut.

Alles in allem ein sehr spannendes Thema. Aufgrund der aktuellen Aussagen von Google würde ich jedoch immer sehr vorsichtig beim Einsatz der Direktive sein und ggf. auch ein Monitoring aufsetzen, mit dem ich mögliche Veränderungen schnell erkennen kann. Darüber hinaus würde ich die Direktive auch nur in einem gesonderten Block der robots.txt nutzen, die den Googlebot direkt anspricht. Da andere Bots die Direktive nicht unterstützen kann es sonst zu Problemen beim Crawling durch andere Bots kommen. Nicht unterstützte Direktiven können dazu führen, dass Bots ganze Blöcke der robots.txt ignorieren und dann URLs crawlen die sich nicht crawlen sollten.

Und Du?

Wie sieht es bei Dir aus? Funktioniert die Anweisung in Deinen Anwendungsfällen? Funktioniert es dauerhaft und zuverlässig?
Sowohl der Wingmen-Robots.txt-Guide, als auch der Guide von Audisto brauchen eine Überarbeitung. ;)


Kommentare

Darius Erdt am 14. Mai 2019 um 09:03:59

Hi Johan,
klasse, dass du unsere Diskussion auf der Campixx nochmal zum Anlass genommen hast, um mit Tobias hier nochmal ins Testing zu gehen und das Thema mit diesem Blogpost nochmal aufzurollen. So sind wir als SEO-Community einen Schritt vorangekommen. Danke dafür!

BG, Darius

Schreibe einen Kommentar

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