Bis vor zirka einem halben Jahr funktionierte die robots.txt noch so wie es sollte. Doch auf einmal wurden über die robots.txt gesperrte Seiten in den Google Index aufgenommen wurden. Zwar ohne Titel und ohne Beschreibung, aber immerhin da. “Das kann nicht gut sein”, dachte ich mir, als ich davon vor einiger Zeit ziemlich viele für meinen Shop entdeckte (zum Beispiel Session IDs) und begab mich auf einen etwas längeren Weg der Ursachen Forschung. Bis am Ende dabei herauskam: Die Sperrungen über die robots.txt waren schuld.
Bevor ich tiefer auf die Thematik und vor allem auch auf die Empfehlungen für unsere Wordpress Blogs eingehe, möchte ich mich an dieser Stelle aber erst einmal bei Torsten, der mit mir den Shop auf Herz und Nieren prüfte, und vor allem auch Francis bedanken. Die beiden haben mich bei diesem meinen „Weg der Erkenntnis“ mit Rat und Tat unterstützt wo es nur geht. Danke – ohne Euch wäre ich wahrscheinlich aufgeschmissen gewesen!
Die robots.txt funktioniert nicht mehr wie seit Jahren gewohnt
Seit Jahren werden von den meisten Webmastern die typischen Double Content Seiten einer Domain in die robots.txt eingetragen. Dieses System ist mittlerweile mehr als überholt, denn Google nimmt inzwischen alle Seiten in den Index auf, die von intern oder extern angelinkt werden. Ist eine solche Seite über die robots.txt gesperrt, wird sie als eigenständige Seite (ohne Titel und ohne Beschreibung) aufgenommen. Zudem sorgt der robots.txt Eintrag noch dafür, dass Google sich die restlichen Anweisungen (wie z.B. die Canonical URL) nicht ansieht (darf es laut dem Eintrag der robots.txt ja nicht) und kann so gar nicht erkennen, dass dies eine Double Content Seite ist.
Die größte Problematik tritt diesbezüglich mit Session IDs auf, von denen auf einmal unter Umständen tausende im Index auftauchen. Google kann so nicht erkennen, dass dies Session IDs sind und behandelt sie wie eine eigenständige Produktseite und es kann unter Umständen zu Problemen der Domain führen.
Wordpress selbst ist nicht so arg von der Problematik betroffen, außer es besteht Double Content und die Behandlung dessen wir alleinig über die robots.txt getroffen!
Wie soll eine optimale robots.txt nun aussehen?
Am besten steht so gut wie gar nichts mehr in der robots.txt Datei. Um Double Content in den Griff zu bekommen empfiehlt es sich stattdessen mit dem Robots Meta Tag „noindex“ zu arbeiten (z.B. über das Plugin Robots Meta). Weiter ist auch der Einsatz der Canonical URL hilfreich sowie die Parameterbehandlung in den Google Webmaster Tools (vor allem für die Behandlung von Session IDs und anderen ungewünschten Seiten, die in der Regel von Shop Systemen zu Hauf generiert werden) und gegebenenfalls noch der Einsatz von 301 Umleitungen über die htaccess.
Die empfohlene Vorgehensweise ist, dass die Crawler freien Zugriff zur Domain erhalten und so selbst erkennen, was Double Content ist und was nicht (gegebenenfalls mit den oben genannten zusätzlichen Hilfsoptionen). Crawler sind nicht mehr so „dumm“ wie sie vielleicht noch vor Jahren waren und kennen gerade die weit verbreiteten Open Source Softwares und deren Probleme ziemlich genau.
Mein Shop ist nun seit längerem offen, was die robots.txt betrifft. Alle Seiten, die ich nicht im Index haben möchte, wie z.B. die gesamten SSL Seiten, Warenkörbe etc. habe ich mit dem Robots Meta Tag „noindex“ versehen, setze ein Modul für die Canonical URLs ein und den Rest (Session IDs, actions usw.) hat mir Google über die Parameterbehandlung vorgeschlagen. Hin und wieder verirrt sich noch eine Session ID in den Index, was aber mittlerweile ziemlich selten geworden ist. Hin und wieder prüfe ich die indexierten Seiten und entferne manuell, was nicht hin gehört.
Wordpress und die robots.txt
Ich kann Euch nur empfehlen Euch Eure robots.txt zu Gemüte führen, die entsprechend gesperrten Seiten darin anzusehen und gegebenenfalls auf den Robots Meta Tag und die Wordpress Funktion Canonical URL zuzugreifen. Dann könnt Ihr getrost die meisten Einträge aus der robots.txt entfernen. In meiner robots.txt stehen nur noch ein paar Verzeichnisse des Servers, in denen kein Bot etwas zu suchen hat, sowie einige Bots, die ich generell hier nicht sehen möchte (weil sie dauernd Unsinn veranstalteten und hunderte von 404 Seiten generierten etc.) und natürlich der Pfad zu meiner Sitemap.
Grundsätzlich ist Wordpress bezüglich Double Content lange nicht so problematisch wie zum Beispiel einige Shopsysteme, aber es kommt auch immer darauf an, was alles in der robots.txt drin steht. Wer sie von oben bis unten voll gespickt hat mit Einträgen, arbeitet mittlerweile kontraproduktiv was die Vermeidung von Double Content betrifft.
Als weiterführende Literatur möchte ich Euch noch den Artikel von Francis Google – Duplicate Content nicht mehr mit robots.txt sperren ans Herz legen, sowie einen Hilfe Artikel aus der Google Webmaster Zentrale bezüglich xtc Session URLs. Hier erklärt zwischendrin der Google Mitarbeiter JohnMu was warum passiert und wie man heutzutage mit Double Content umgeht. Der Artikel von Francis aus dem Oktober war übrigens der Auslöser dafür, dass wir uns eingehender mit diesem Bereich meines Shops beschäftigt hatten und führte zu den aktuellsten Learnings dieser Thematik
Merci, Merci, für die “kleine” Erwähnung
Wäre aber auch schade, bzw. langweilig, wenn das SEO-Leben ähnlich wie das eines Beamten verlaufen würde. Google hält uns immer auf Trab, so das nix einrostet
@Francis: Ja stimmt, ein langweiliges SEO Leben wär das
Hi Tanja,
vielen Dank, dass du mich auf diesen Beitrag passend zu meinem neulichen Anliegen verwiesen hast. Ich habe mit der robots.txt ganz schön viel Unsinn angestellt, aber dank den hilfreichen Tipps und nützlichen Ratschlägen komme ich aus diesem Dilemma schon raus.
Canonical-URLs hatte ich in den Plugin-Optionen von “All in One SEO” bereits vorher eingestellt. Das Plugin “Meta Robots” war auch installiert, aber dafür die Blog-Feeds in “Meta Robots” auf NoIndex. Was für ein Schlamassel, aber ich sage mir immer, Kopf hoch und die Blogdomain taucht schon wieder in der BlogSearch auf, da wo sie auch hingehört.
Das war bei mir aber erst durch die neuen Einstellungen verursacht worden. Nun habe ich diesen schwerwiegenden Fehler bereinigt und warte erstmal die Google-Reaktion ab.
Die Sache mit den Session-IDs in den Shops stellt anscheinend keineswegs Einzelfälle dar. Ich sehe oft viele Shop-Unterseiten mit diesen IDs im Google-Index.
Ich setz weiterhin auch auf die robots.txt. Allerdings hab ich zusätzlich die genanten anderen Dinge wie noindex, canonical im Einsatz. Durch die robots.txt spart man sich teilweise auch Traffic wenn man dem Bot sagt brauchst nicht hier hin, findest eh nix. So ist es aus 2facher Richtung sozusagen abgesichert.
@Alex: Warum es ein Fehler sein soll, die Feeds auf noindex stehen zu haben, verstehe ich nicht ganz. In der Google Blogsuche vertreten zu sein steht da kontra Double Content. Bevor ich mich wie eine verrückte mit Double Content abschieße, bin ich lieber in der Google Blogsuche nicht vertreten.
@Markus: Es heißt ja nicht, dass die robots.txt generell der Vergangenheit angehört. Es geht nur darum seine Vorgehensweise bezüglich verlinkter Seiten (extern wie intern) die nicht indexiert werden sollen zu ändern. In diesen Fällen bringt der robots.txt Eintrag das kontraproduktive Gegenteil. Gerade bei Session IDs zum Beispiel damit verbunden, dass es zu Rankingverlusten führt. Die doppelte Absicherung funktioniert in solchen Fällen gar nicht mehr. Canonicals können z.B. nicht mal gewertet werden. Das erklärt der Google Mitarbeiter sehr schön in dem im Beitrag verlinkten Hilfe Artikel
Ich hab Dich schon verstanden um was es geht, aber um Session ID´s brauch ich mir momentan keinen Kopf machen
Den Artikel von Google kenn ich, die (Google) hab ich natürlich im original im Feed Reader und den von Dir verlinkten verfolg ich auch wegen den intersannten Kommentaren^^.
Hi Tanja,
ich war vorher nicht mal mit der Blog-Startseite mehr in der Google Blog-Search zu finden und das gefällt mir nicht:). Jetzt erscheinen auch die Blogposts wieder.
Früher war es bei meiner Blogdomain auch so und es funktionierte alles. Ich werde jegliche Veränderungen via GWT etc. beobachten. Das müsste erstmal genügen.
@Alex: Ich bin ganz und gar nicht in der Google Blog-Search zu finden
Sollte das wirklich Nachteile haben?
@ Tanja: >> Sollte das wirklich Nachteile haben?
Nachteile bringt es nicht mit sich dort gelistet zu sein.
Zu Deinen Blog Search DC Vermutungen: Wäre Madame G doch schön doof
Nochens zu DC: Mit unfreiwilligem internem und bedingt externem DC kann Google inzwischen sehr gut umgehen. Vorausgesetzt man überlässt Goggle die Entscheidung. Was Google nicht kennt, kann nicht klassifiziert werden.
Noch was zur robots: (http://yoast.com/prevent-site-being-indexed/)
@Francis: Okidoki, Du meinst den Feed auf index zu stellen bringt keine Probleme? Könnte ich natürlich mal ausprobieren. Bis dato wäre ich gar nicht auf die Idee gekommen (hab seit Urzeiten den meta tag noindex drin) und wenn ich so rumkucke auf anderen Blogs, ist das oft auch nicht anders. Als ich die Tage bei Dir gekuckt hatte, war der noindex Meta Tag auch noch aktiv, jetzt nicht mehr. Hast Du umgestellt?
@ tanja: Nö, steht in dem Blog auf seit Urzeiten noindex, genau so wie es immer noch ne alte WP Version ist, habs halt nie geändert
Ist aber meiner Ansicht nach kein Thema den Feed auf Index zu setzten, macht in anderen Blog-Projekten keine Probleme.
@Francis und Alex: Ich bin jetzt gerade überrascht und irritiert. Habe soeben im Robots Meta Plugin umgestellt und das Häkchen bei “noindex all RSS Feeds” rausgenommen und wollte mir eine Aufgabe machen um die Indexierung in der Blogsearch zu überprüfen und sehe, dass ich doch in der Blogsearch drin bin seit ein paar Tagen *kopfkratz*. Als ich das letzte Mal geprüft hatte (durch Alex auf die Blogsearch aufmerksam gemacht) war ich nicht gelistet.
Das einzige was ich in der Zwischenzeit geändert hatte war der entsprechende robots.txt Disallow Eintrag, den ich aufgrund diesen Beitrages mal entfernt hatte (ich schleppe die alten robots.txt Einträge eh schon viel zu lange aus Änderungsfaulheit – tut ja auch nicht wirklich Not – mit mir rum und weiß dass ich sie nicht brauche).
Das bedeutet: robots.txt Disallow Feeds = keine Listung in Google Blogsearch ungeachtet dessen ob die Feeds auf index oder noindex steht mit dem entsprechenden Robots Meta Tag.
robots.txt Allow Feeds (will ich jetzt einfach mal so nennen) = Listung in Google Blogsearch ungeachtet dessen ob die Feeds auf index oder noindex stehen…
Theoretisch dürfte es dann ja wurscht sein, ob man den Noindex Meta Tag in den Feeds verwendet oder nicht. Oder macht es doch was aus im normalen Google Index? Ich verstehe gerade die Funktionsweise von Google nicht mehr
@Tanja
Danke für die Infos zur geänderten robots.txt-Nutzung. Waren mir nicht bekannt.
Meine Website ist bisher auch nicht in der Google Blogsuche zu finden gewesen. Habe ebenfalls beim Plugin Robots Meta das Häckchen für noindex der Feeds rausgenommen und bin mal gespannt was passiert.
Würde mich mal interessieren, warum Du die Bots Googlebot-Image, WebsiteWiki, kalooga, betaBot in Deiner robots.txt konkret ausschließt?
@Dieter: Den googlebot image schließe ich aus, weil ich keine Lust habe, dass meine Bilder bei der Google Bildersuche erscheinen. Das WebsiteWiki finde ich persönlich ziemlich nervig und deswegen steht es auch in meiner robots.txt. Die anderen beiden haben hier vor einigen Monaten tausende von 404 Seiten innerhalb kürzester Zeit produziert. Der robots.txt Ausschluß hilft aber nicht viel, mittlerweile habe ich sie zusätzlich noch über die htaccess gesperrt.
@Tanja
Danke! Habe ich Dich richtig verstanden:
Der Googlebot image und der WebsiteWiki Crawler halten sich an die robots.txt und kann man deshalb als ordentliche Bots bezeichnen.
Demgegenüber halten sich die beiden anderen Bots anscheinend nicht an die robots.txt. Sie offenbaren sich damit als bad guys.
Dann werde ich mal die Augen offen halten. Sollten die beiden letztgenannten Bots bei mir auftauchen, werde ich sie auch über die .htaccess-Datei aussperren.
Die robots.txt ist halt nur eine Empfehlung für die Bots, an die sich aber seriöse Bots halten und mit der .htaccess-Datei kann ich im Bedarfsfall bösen Jungs den Zutritt ganz verwehren.
Ja, Du hast das richtig verstanden. Ich habe die beiden letzten beiden einfach noch drin gelassen in der robots.txt, obwohl sie raus könnten, weil ich sie ja mittlerweile mit der htaccess sperre
@Tanja,
nun läuft es doch gut bei dir. Ich schaute mir deine robots.txt an und die Listung in Google BlogSearch. Dein Blog ist mit “Crazytoast” ganz oben und “Verwandte Blogs” erwähnt.
Vorher war es wahrscheinlich nicht und bei mir bevor ich nicht was geändert habe, auch nicht.
So können wir es lassen und in den Optionen von “Robots Meta” sollen alle Blog-Feeds indexiert werden, ausser Commentar-Feeds. Den Rest soll Google allein regeln können
. Sowie ich es jetzt von euch weiss, kann G. das auch.
@Alex: Vor der robots.txt Entfernung, die ja schon einige Tage zurück liegt, war auch ich sicher nicht in der BlogSearch gelistet. Nun schon. Aber das liegt nicht an der Einstellung im Robots Meta Plugin sondern an der robots.txt. Und das wundert mich doch etwas, denn Google schreibt selbst in den Infos der Blogsearch, dass sie die robots.txt und die Meta Tags beachten. Letzeres scheint aber gerade wohl nicht der Fall zu sein
Habe alle meine Blogsysteme gestern durchgetestet und lustigerweise waren alle in der BlogSearch, die den Feed über die robots.txt nicht ausgeschlossen hatten. Mit dem Robots Meta Plugin standen aber alle Feeds auf noindex. Verwirrt mich doch etwas…
Hmm ich hab und hatte meine Feeds immer in der robots.txt ausggeschlossen und bin trotzdem in der Google Blog Suche. Auch schon bevor ich meinen Feed bei Feedburner hatte. Komisch, komisch. Soll ich das jetzt besser doch rausnehmen?
@Markus: Das liegt wohl daran, dass Du nicht mit dem Meta Tag robots noindex arbeitest. Scheinbar muss für Google nur eines der beiden (Meta Tag / robots.txt) aktiv sein, und das andere wird ignoriert. Da ich das aber für einen aktuellen Bug von Google halte (bei mir war es ja genau andersrum), würde ich lieber mal den robots.txt Eintrag entfernen. Abgesehen davon, was bringt Dir der robots.txt Eintrag, außer dass er kontraproduktiv werden kann?
@Tanja Du hast ein DC Problem^^ Klick mal Deine Suche an ohne was reinzuschreiben. Die Seite ist so auch im Index von Google zu finden.
Das Problem hat wohl jeder WP Blog.
@Markus: Das das Problem jeder WP Blog hat und in die Parameter auch s eingetragen ist, interessiert das nicht die Bohne
Wird sich von selbst wieder regulieren.
Was ist schnell, die ist zumindest seit 1. Mai so im Index, stellt doch kein Problem dar, eine leere Suchanfrage per 301er umzuleiten. Interessiert mich schon, den wenn ich da sag “juckt mich net”, kann ich auch auf die ganzen anderen Spielereien im WP Code verzichten um falsche Parameter rauszuhauen aus der URL. Ich denke mal das ist schlichtweg vergessen worden.
@Markus: Und wie willst Du die leere Suche via 301 umleiten? Ich krieg das nämlich nicht gebacken.
Habe mir jetzt mit der Vorbefüllung (Suchbegriff eingeben) beholfen, so dass es zukünftig keine leere Suche, also kein ?s= mehr geben kann. Damit greift wieder mein is_search und damit der Meta Tag noindex.
Nur wie das ?s= alleine umleitet werden könnte oder auch nur alleine mit dem noindex Meta Tag beschrieben werden könnte, ich kriegs nicht raus
Nun ja es geht das man nur genaue Zeichenfolgen, also in dem Fall ?s= umleitet und die Umleitung eben nur greift wenn nach dem = nichts mehr kommt. Hab das schonmal gemacht, weiß die Regel aber auch nicht mehr auswendig. Ich hab das aber schon auf meiner ToDo.
@Markus: So einfach ist das nicht, habe heute selbst eine Zeit lang damit rumgespielt… aber… schlußendlich habe ich es nun doch rausgefunden und auch gleich gepostet: Wordpress Problem: leere Suche