14.10.2014

Soll ein Online Shop gut ranken, muss er von Suchmaschinen indexiert werden. Dabei sollte möglichst jede Kategorie, Unterkategorie und Produktseite im Index vertreten sein. Ansprechende Inhalte also, die der User finden soll, um ihn zum Kauf bzw. zu einer anderen Aktion zu animieren. Dafür ist aber nicht jede Seite geeignet, sei es, weil sie bereits ähnliche, zu wenige oder nicht für den Besucher geeignete Inhalte aufweist. Diese Seiten sollten besser für den Crawler, den Bot einer jeden Suchmaschine, gesperrt werden. Meist wird der Ausschluss des Crawlers über die Datei robots.txt realisiert, zur Deindexierung kann aber auch der Meta-Tag „robots“ genutzt werden. Aber warum und für was gibt es diese zwei verschiedenen Möglichkeiten?

 

Meist wird der Ausschluss des Crawlers über die Datei robots.txt realisiert, zur Deindexierung kann aber auch der Meta-Tag „robots“ genutzt werden.

Was ist die robots.txt?

Die Robots-Datei wird als einfaches Text-Dokument mit der Bezeichnung robots.txt auf dem Server abgelegt. Neben der .htaccess-Datei ist dies das erste Dokument, das der Crawler von einer Seite zu sehen bekommt. So weiß er bereits vor dem Besuch der eigentlichen Domain, welche Ordner und Verzeichnisse nicht gecrawlt und indexiert werden sollen. Laut dem Google Support sperrt die robots.txt die aufgeführten Verzeichnisse von den Suchergebnissen aus, allerdings traten und treten immer wieder Suchergebnisse wie diese auf:

Das zeigt, dass dem Crawler zwar der Zugang zu gelisteten Verzeichnissen versperrt bleibt, er aber die zugehörigen URLs dennoch indexiert. Die nicht lesbaren Metadaten werden in den SERPs ersetzt. Wie kommt es aber dazu, dass Google ausgeschlossene Seiten indexiert? In der Theorie kennt Google die gesperrten URLs erstens durch die Erwähnung in der robots.txt, zweitens (und viel wichtiger) sowohl durch interne als auch externe Verlinkung. Selbst wenn URLs mit ausgesperrten Verzeichnissen intern nicht einmal angelinkt werden, kann beispielsweise ein Kunde eine Seite gespeichert, eine Suche oder einen Upload durchgeführt haben und diese URL zu Anschauungszwecken verlinkt haben. Google stößt also irgendwann auf diese ausgeschlossene URL und indexiert sie dementsprechend, gibt aber den Inhalt der Metadaten nicht aus, weil diese ja gesperrt sind.

Hinweis: Dass eine Seite indexiert wird, muss nicht zwangsläufig heißen, dass sie auch zu einem brauchbaren Keyword gut rankt. Indexierte Seiten schmälern aber das Crawlingbudget, das dem Suchmaschinen-Bot für jede Domain zur Verfügung steht. So könnten im schlechtesten Fall weit wichtigere Seiten nicht mehr erfasst und indexiert werden.

Andererseits kann die robots.txt den Google-Bot aber zu Seiten führen, die nicht über die übliche Domainverlinkung erreichbar sein sollen. Dazu zählt beispielsweise die Sitemap, die rein für Suchmaschinen angelegt wird und innerhalb einer Webseite nicht verlinkt werden muss. Damit der Crawler die Sitemap dennoch findet, kann sie in der robots.txt aufgelistet werden.

Code in robots.txt

Meist reicht es aus, einfach nur die vorhandene Sitemap zu nennen. Soll nichts ausgeschlossen werden, wird auch keine robots.txt benötigt, auch keine leere Datei. Standardisiert ist meistens dieser Code zu finden:

http://www.domain.de/sitemap.xml
User-agent: Googlebot
Disallow:

Um die gesamte Seite für jegliche Bots zu sperren, kann folgender Code verwendet werden:

User-agent: *
Disallow: /

Sollen nur einzelne Verzeichnisse für eine bestimmte Suchmaschine gesperrt werden:

User-agent: Botname
Disallow: /verzeichnis/

Oder wenn für einen Bot die gesamte Seite gesperrt werden soll:

User-agent: Botname
Disallow: /

Das ist zum Beispiel dann sinnvoll, wenn ein unbekannter Bot permanent die Seite crawlt und so Ladezeiten und Erreichbarkeit beeinträchtigt. Eine Liste aller bekannten Bots von Google gibt es hier.

Sollen mehrere Bots gesperrt werden:

User-agent: Bot1
User-agent: Bot2
User-agent: Bot3
Disallow: /

Mehrere Verzeichnisse werden wie folgt gesperrt:

User-agent: Bot
Disallow: /verzeichnis/
Disallow: /verzeichnis2/
Disallow: /verzeichnis3/

Wichtig sind die enthaltenen Slashes. Ohne Slash wird jede URL, die das Wort „verzeichnis“ enthält, vom Crawlen ausgesperrt. Davon können also auch Produkt- oder Kategorieseiten betroffen sein. Groß- und Kleinschreibung macht hingegen keinen Unterschied:

  • Disallow: verzeichnis – schließt alle URLs mit dem Wort „verzeichnis“ aus.
  • Disallow: /verzeichnis – schließt alle URLs aus, deren Verzeichnis, Unterordner, Blogname oder Produkt in der URL mit „verzeichnis“ beginnt, z.B. www.domain.de/verzeichnis-produkte/kategorie-fuer-unterprodukte
  • Disallow: /verzeichnis/ – schließt alle URLs aus, die eindeutig diesen Ordner „verzeichnis“ enthalten, z.B. www.domain.de/verzeichnis/produkt1.

Indexierung ausgeschlossener Seiten prüfen

Um zu prüfen, ob durch robots.txt ausgeschlossene URLs dennoch indexiert werden, kann die Siteabfrage über die Google Suche verwendet werden:

site:domain.de inurl:ausgeschlossenes-verzeichnis

Werden zu dieser Anfrage dennoch Ergebnisse wie oben im Bild angezeigt, sollten die URLs besser per Meta-Tag „robots“ ausgeschlossen werden.

Was ist das Meta-Tag „robots“?

Im Gegensatz zur robots.txt wird für das Meta-Tag kein eigenes Dokument benötigt. Es wird individuell auf jeder Seite im Header eingebaut, die nicht in den Suchmaschinen-Index aufgenommen werden soll.

So kann nach und nach jede Seite aus jedem Verzeichnis, das in der robots.txt steht, mit dem Meta-Tag versehen werden. Das Attribut „noindex“ wird individuell ausgegeben, sodass jede unnötige Seite endgültig aus dem Index verschwindet.

Code für Meta-Tag „robots“

Das Tag wird mit folgendem Code automatisiert eingetragen:

WENN Parameter „/verzeichnis/“ in URL DANN
<meta name="robots" content="noindex,follow" />

Wie arbeitet Google mit der robots.txt und dem robots-Tag?

Der Crawler erfasst zuerst die robots.txt-Datei. Das heißt, selbst wenn das Meta-Tag richtig vergeben ist, kann Google dieses nicht lesen, wenn das betreffende Verzeichnis bereits vom Crawlen ausgeschlossen wurde. Google erhält durch die robots.txt keine Erlaubnis, den html-Inhalt einer Seite überhaupt zu lesen. Wie bereits erwähnt sorgt die robots.txt nur dafür, dass der Crawler eine Seite nicht lesen darf, bewirkt aber nicht zwangsläufig, dass eine Seite nicht indexiert wird (siehe Bild 1). Verzeichnisse, deren Seiten mit dem Meta-Tag „robots“ versehen worden sind, sollten deshalb nicht in der robots.txt gelistet werden.

Bilder über x-robots-Tag ausschließen

Auf vielen Seiten werden auch Bilder intern angelinkt. Dabei handelt es sich beispielsweise um Bilder-Uploads von Kunden, verwendete Bilder innerhalb der Seite oder ähnliches.

Da diese Seiten nicht mit dem Meta-Tag versehen werden können, werden diese Bild-URLs üblicherweise mittels robots.txt ausgeschlossen. Allerdings schützt dies nicht wirksam vor der Indexierung. Ein User, der auf solch eine Seite gelangt, kann außer dem Bild nichts sehen und hat keine Möglichkeit, weiter zu navigieren. Folglich wird er die Seite wieder verlassen. Geschieht das bei vielen hundert oder tausend Seiten, wirkt sich dies wiederum negativ auf die Seitenperformance aus. Diese negativen Signale können Google und andere Suchmaschinen dazu veranlassen, die Seite schlechter ranken zu lassen.

Besser ist es daher, den Wert x-robots im Header eines entsprechenden Bild-Dokuments zu verwenden, um die Indexierung von bestimmten Dateiformaten zu verhindern:

<Files ~ "\.(png|jpe?g|gif)$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>

Oder für PDFs:


<Files ~ "\.pdf$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>

Wann sich dieser x-robots-Tag verwenden lässt, verrät auch die Google Webmaster Hilfe.

Wie kann ich meine robots.txt-Datei einsehen?

Die robots.txt kann auf jeder Seite über http://www.domain.de/robots.txt aufgerufen werden. Dabei sollte auf einer sonst leeren, weißen Seite der Code wie oben beschrieben zu finden sein.

Um zu testen, ob für den Google Crawler bestimmte Seiten blockiert sind, stellen die Webmaster Tools einen Robots-Tester zur Verfügung.

Unten kann eine beliebige URL eingegeben und separat getestet werden. Wird die Seite blockiert, zeigt der Robots-Tester die verantwortliche Zeile in der robots.txt an.

Checkliste

  • robots.txt wird vor dem Meta-Tag „robots“ gelesen.
  • Beide Werte gleichzeitig können nicht wirken.
  • robots.txt bewirkt Leseverbot für Crawler, ermöglicht aber weiterhin Indexierung.
  • Deindexierung durch Siteabfrage checken
  • Meta-Tag „robots“ ermöglicht Deindexierung.
  • Nur Seiten in die robots.txt aufnehmen, die vom Crawler gelesen werden sollen, aber nicht relevant für den User sind (bspw. Sitemap, Sitemap-Impressum, Sitemap-Produkte, Sitemap-Kategorien)
  • robots.txt nur zum Blockieren verwenden, wenn ein fremder Bot sehr häufig die Seite crawlt (schont Serverkapazitäten).
  • Zum Ausschluss von Bildformaten, PDFs oder ähnlichem x-robots verwenden.

Fazit

Die robots.txt ist die häufigste Variante, um unliebsame URLs vom Crawlen auszuschließen, verhindert aber nicht die Indexierung bei Google. Um dem zukünftig vorzubeugen, sollten alle via robots.txt ausgeschlossenen Verzeichnisse aus der robots.txt entfernt werden und anstatt dessen mittels Verwendung des individuellen „robots“-Tags von der Indexierung ausgeschlossen werden. Die Deindexierung kann dabei ein paar Tage bis mehrere Wochen dauern, abhängig davon, wie oft Google die Seite besucht und wann die neuen Informationen erkannt werden.

Andere Suchmaschinen-Crawler außer Google können die robots.txt variabel interpretieren.

Schreibe einen Kommentar

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