Zerlegen wir mal die robots.txt

Zerlegen wir mal die robots.txt 1 16. Mai 2021

Neben der Sitemap gibt es noch eine weitere Methode, mit der Sie Searchbots steuern können. Bei dieser Methode bedienen Sie sich der robots.txt Datei.

Die Bezeichnung robots.txt steht für ein Protokoll, mit welchem Sie definieren können, welche Ihrer Webseiten der Bot crawlen soll und welche nicht. Jedoch gibt es bei der Datei auch einige Einschränkungen. Was aber viel wichtiger ist: Man kann seine robots.txt leicht vermurksen.

Schauen wir deswegen einmal genauer hin.

Was ist eine robots.txt Datei?

Im Unterschied zu Sitemaps, die den Suchmaschinen mitteilen, welche Informationen in den Suchergebnissen enthalten sein sollen, können Sie per robots.txt das Gegenteil erledigen. Soll heißen, die Datei bietet Ihnen die Möglichkeit, Bereiche Ihrer Website explizit auszuklammern. 

Das Protokoll stammt noch aus der Anfangszeit des Internets. Es sollte Roboter abhalten, in Verzeichnisse vorzudringen, in denen sie nichts verloren hatten. Das Protokoll heißt heute einfach nur robots.txt und steht für eine simple Textdatei, die Sie auf Ihren Webspace hochladen können.

Wenn der Bot den Quellcode einer Webseite auslesen möchte, sagen wir
www.SEO-Texte.de/Keyword-Ideen
würde er vorher zu
www.SEO-Texte.de/robots.txt
gehen und überprüfen, ob dort Anweisungen bezüglich der Unterseite „Keyword-Ideen“ hinterlegt wurden. Wäre die Unterseite per „Disallow“-Anweisung gesperrt, würde er sie nicht aufrufen.  

Der Haken ist, dass es keine Garantie dafür gibt, dass der Bot den Anweisungen folgt. 

Suchmaschinen wie Google, Bing oder Yahoo respektieren die Anweisungen der Datei normalerweise. Jedoch werden viele Crawler auch zu bösartigen Zwecken konstruiert, beispielsweise um das Web nach Sicherheitslücken zu durchforsten, damit sich Hacker Zugriff auf die Website verschaffen können. Andere Roboter wiederum sammeln E-Mail-Adressen, um diese an Firmen oder Spammer zu verkaufen. Mit der robots.txt werden Sie solche bösartigen Crawler nicht stoppen.

robots.txt bietet keinen Schutz vor bösartigen Crawler. Als Symbolbild ein Monitor mit einem Auge
robots.txt schützt nicht vor bösartigen Crawlern

Vergessen Sie zudem nicht, dass robots.txt eine öffentlich zugängliche Datei ist. Das heißt, jeder kann sehen, welche Verzeichnisse Ihrer Website Sie für Bots gesperrt haben. Schauen Sie sich doch spaßeshalber robots.txt-Dateien verschiedener Websites an. 

Wo liegt die Datei?

Die robots.txt gehört in das Hauptverzeichnis einer Domain. Ob Sie solch eine Datei haben oder nicht, können Sie am schnellsten mit dieser Eingabe herausfinden:
www.HierDerNameIhrerDomain.de/robots.txt

Wenn Sie noch keine robots.txt Datei haben und sich eine erstellen wollen, dann achten Sie immer darauf, die Datei in das root-Verzeichnis hochzuladen. Also
www.MeineDomain.de/robots.txt
statt
www.MeineDomain.de/unterseite/robots.txt

Wenn Sie die Datei nämlich an einer anderen Stelle als dem Hauptverzeichnis ablegen, werden die Anweisungen der robots.txt ignoriert.

Braucht man eine robots.txt?

Kurze Antwort: Nein. Die Aussage ist so auch beim offiziellen Google-Support nachzulesen. Existiert keine robots.txt, interpretieren die Bots dies als Erlaubnis, alle URLs Ihrer Domain zu crawlen. Die Wahrscheinlichkeit, dass eine fehlende robots.txt-Datei zum Problem wird, ist sehr gering, denn dazu müsste außerdem der Server falsch konfiguriert sein.

Längere Antwort: Die Meinungen, ob die robots.txt der Website tatsächlich nutzt oder nicht, gehen etwas auseinander.

Einige SEOs finden die Datei überflüssig. Wenn eine Website gut strukturiert wäre, sodass Benutzer jede Unterseite finden, dann könnte man das auch Crawlern zutrauen, argumentieren sie. Zum Verstecken von Verzeichnissen eignet sie sich die robots.txt auch nur bedingt, wie wir gesehen haben.

Jedoch sprechen sich die meisten SEO-Profis für die Datei aus, da sie die „Crawlability“ verbessere. Insbesondere bei größeren Websites sei die Verwendung ratsam. Mit der robots.txt können Sie nicht nur doppelte Inhalte, sondern auch interne Suchergebnisseiten oder Ressourcendateien vom Crawlen ausschließen. Schließlich hilft Ihnen die Datei, das begrenzte Crawl-Budget des Bots optimal auszunutzen, weil Sie mit ihr das Crawlen steuern können.

Wie erstelle ich eine robots.txt?

Es gibt unterschiedliche Wege, die zu einer robots.txt Datei führen. Der einfachste ist, die Datei mit einem CMS-Plugin wie Yoast oder Rank Math zu erstellen. Diese Plug-ins liefern bereits bei der Erstellung von Sitemaps zuverlässige Dienste.

Eine andere Möglichkeit wäre, einen robots.txt Generator zu nutzen. Die Google Suche liefert Ihnen hierzu gleich mehrere Varianten, unter anderem den von Ryte, einem in München ansässigen SEO-Unternehmen.

Der Vorteil von einem robots.txt Generator ist, dass er Syntaxfehler reduziert. Wie wir weiter unten sehen werden, lässt sich eine Anweisung durch einen einfachen Schrägstrich in ihr Gegenteil verkehren.

Es ist sehr leicht, beim Schreiben der Datei gravierende Fehler zu machen.

Um eine robots-Datei detailliert zu konfigurieren, sollten Sie also genau wissen, was Sie tun. Wenn Sie genau wissen, was Sie tun, brauchen Sie im Prinzip auch keine Plug-ins oder robots.txt-Generatoren, sondern können die komplette Datei von Hand erstellen.

Benutzen Sie dafür jedoch einen Texteditor statt dem Programm Word, da die Datei im reinen Dateiformat UTF-8 geschrieben sein muss.

Wie sieht die Datei aus? Etwas Syntax.

Für die Datei gelten einige Format- und Syntaxregeln.

Zuerst einmal muss der Dateiname robots.txt kleingeschrieben werden.

Die Crawler unterscheiden zwischen Groß- und Kleinschreibung und würden die Datei bei einer abweichenden Schreibweise nicht finden. Innerhalb der robots.txt gilt diese Unterscheidung auch für die Pfadangaben. Es macht also einen Unterschied, ob das Verzeichnis „Urlaubsfotos“ oder „urlaubsfotos“ heißt.

Generell sollte jede neue Anweisung in einer neuen Zeile stehen.

Der Vollständigkeit halber füge ich hier den Link zu Googles offiziellen robots.txt-Spezifikationen hinzu. Dort finden Sie die vollständige Syntax. Allerdings wird sich das Dokument für SEO-Einsteiger wohl eher wie ein Telefonbuch lesen.

https://developers.google.com/search/reference/robots_txt

Diese Online-Dokumentation ist nutzerfreundlicher:

https://wiki.selfhtml.org/wiki/Grundlagen/Robots.txt

Um Ihnen einen kleinen Einblick zu verschaffen, stelle ich Ihnen nun einige simple Grundregeln vor:

Die Raute # aka Hashtag aka Schweinegatter

Die Raute leitet einen Kommentar ein.

# Alles hinter der Raute bis zum Ende der Zeile gilt als Kommentar.

User Agent:

Innerhalb einer robots.txt-Datei muss mindestens eine Zeile mit User-agent: beginnen. Mit User Agent ist der Name des Bots gemeint, beispielsweise Bingbot oder Twitterbot. Hiermit lassen sich abweichende Anweisungen für unterschiedliche Suchroboter definieren, wofür es meistens jedoch keinen wirklichen Grund gibt. 

# Das Sternchen ist ein „Wildcard“.
# Es fungiert als Platzhalter und bedeutet, dass alle Bots angesprochen sind.
User-agent: *

Wollen Sie Regeln für mehrere bestimmte Bots hinterlegen, können Sie die Bots nur einzeln ansprechen. Sie brauchen dann für jeden Bot eine separate Zeile, die Sie mit User-agent: einleiten.

Hier ein Beispiel:

Auszug aus einer robots.txt bei der verschiedene Bots einzeln angesprochen werden
Abb.: Bots einzeln ansprechen

Disallow: und Allow:

Disallow weist die Searchbots an, bestimmten Inhalt nicht zu crawlen.

# Allen Bots verbieten, die komplette Website zu crawlen.
User-Agent: *
Disallow: /

# Allen Bots verbieten, das Verzeichnis privater-ordner zu crawlen.
User-Agent: *
Disallow: /privater-ordner/

Bleibt Disallow leer, heißt das so viel wie „kein Disallow“. Die folgende Anweisung erlaubt den Bots also den vollständigen Zugriff, obwohl sie „Disallow“ heißt:

# Allen Bots erlauben, die komplette Website zu crawlen.
User-Agent: *
Disallow: 

Wie Sie sehen, hat ein Schrägstrich große Auswirkungen!

# Mit Allow definieren Sie Ausnahmeregeln für gesperrte Verzeichnisse.
User-Agent: *
Disallow: /privater-ordner/
Allow: /privater-ordner/Gruppenfoto/

Mit Ausnahme des Unterverzeichnisses „Gruppenfoto“ ist das Verzeichnis „privater-ordner“ für alle Bots gesperrt.

/Wie Sie einen Pfad korrekt auszeichnen/

Ein Pfad beginnt mit einem Schrägstrich und endet mit einem Schrägstrich. Hier geschieht es häufig, dass Nutzer den zweiten Schrägstrich vergessen.

Fehlt jedoch der schließende Schrägstrich, interpretiert der Bot die Angabe „weiträumig“.

# Die folgende Anweisung sperrt alle Dateien im Ordner „Nebel“
User-Agent: *
Disallow: /Nebel/

# Diese hingegen sperrt alle Dateien in Ordnern, deren Name mit „Nebel“ beginnt,
beispielsweise Nebel, Nebelbank, Nebelbild, Nebelbildung, Nebelhorn…
User-Agent: *
Disallow: /Nebel

Sitemap:

Die robots.txt eignet sich gut dafür, Crawler auf die Sitemap einer Website hinzuweisen. Eröffnen Sie den Verweis mit der Anweisung „Sitemap:“ gefolgt von der vollständigen URL. Sie können die URL an einer beliebigen Stelle in der robots.txt angeben.

#Beispiel
User-Agent: *
Disallow: /privater-ordner/
Allow: /privater-ordner/Gruppenfoto/

Sitemap: http://example.com/sitemap.xml

Meine erste robots.txt )

Eine einfache robots.txt lässt sich im Handumdrehen schreiben. Die simpelste aller Varianten besteht aus zwei Zeilen. Indem Sie die Anweisung „Disallow:“ leer lassen – frei übersetzt mit „wir verbieten nichts“ – erlauben Sie allen Searchbots, die komplette Website zu crawlen. Um der Datei etwas mehr Sinn zu verleihen, als den, dass sie im Hauptverzeichnis herumliegt und gut aussieht, weisen Sie in einer dritten Zeile noch auf die Existenz Ihre Sitemap hin. (Wie Sie eine Sitemap erstellen, stand im vorangegangenen Beitrag). Damit sieht Ihre robots.txt-Datei so aus:

User-Agent: * 
Disallow:
Sitemap: https://www.Name-Ihrer-Domain.de/sitemap.xml

Die Sache mit der Noindex-Anweisung

Die Datei robots.txt wird manchmal mit der Noindex-Anweisung in Verbindung gebracht. Allerdings haben die beiden Methoden, bestimmte Verzeichnisse vor den Crawlern zu sperren, nichts miteinander zu tun.

Zuerst einmal ist es wichtig, zwischen Crawlen und Indexieren zu unterscheiden. Die Unterscheidung spielt eine große Rolle. Während Crawlen so viel bedeutet wie Quellcode auslesen und Daten sammeln, bezeichnet Indexieren das Sortieren der Daten und das Einordnen in das Register. Und die Aufgabe der robots.txt ist ganz klar, das Crawlen zu steuern. Ein Disallow einer URL in der robots.txt hat zur Folge, dass der Crawler die Inhalte nicht anschauen würde.

Noindex hingegen verhindert nicht das „Anschauen“ der Inhalte, sondern nur, dass die Inhalte im Index gelistet werden. Ein Roboter kann die Seite jedoch weiterhin crawlen, was bedeutet, dass er auf den Inhalt der Seite zugreifen und den Links folgen kann.

Das Lustige an der Sache ist nun, dass es eine Seite trotz einer Disallow-Anweisung in den Index schaffen kann. Wie das möglich ist? Weil bereits andere Webseiten einen Link zu dieser Seite gesetzt haben. Searchbots kriechen doch von Link zu Link durch das Internet. Natürlich wird die Seite in dem Fall nicht schön optimiert in den Suchergebnisseiten erscheinen, da der Bot die Seite nicht crawlen durfte und deshalb nichts über sie weiß. Alles, was von ihr zu sehen sein wird, ist das, was sich der Bot aus anderen Quellen zusammenklauben konnte, meist also nur URL und Ankertext.

Also Noindex und Disallow gleichzeitig benutzen?

Zerlegen wir mal die robots.txt 2 16. Mai 2021

Die Probleme entstehen, wenn Sie Disallow und Noindex gleichzeitig anwenden möchten. Meistens steckt dahinter die Absicht, eine Website, die bereits in den Suchergebnissen erscheint, aus diesen zu entfernen. Wenn der Roboter aber wegen der Disallow-Anweisung nicht zu dieser URL crawlen darf, kann er die Seite nicht anschauen und sieht deswegen nicht, dass sich dort im Meta-Robots-Tag eine Noindex-Anweisung befindet. Richtig wäre, die Seite zuerst nur auf noindex zu setzen und abzuwarten, bis Google sie aus dem Suchindex entfernt hat. Erst danach kann das disallow angewendet werden.

Die Noindex-Anweisung gehört übrigens in den Kopfbereich des Quelltextes einer Webseite, also dort, wo die Meta-Angaben stehen. Einige SEOs benutzten die Noindex-Anweisung in der robots.txt, aber laut Google wird die Anweisung an der Stelle nicht mehr beachtet.


Es gäbe noch mehr über die robots.txt zu sagen, auch im Zusammenhang mit der Noindex-Anweisung. Das würde aus dem Beitrag über SEO-Basics jedoch einen Post über fortgeschrittene SEO machen, weswegen das vorerst warten muss. Wichtiger ist, sich als nächstes solche Dinge wie 404-Fehlercodes und Redirects anzuschauen.

Tags: , , , , ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.