Was ist die robots.txt (Datei)?

Die robots.txt Datei basiert auf dem Robots-Exclusion-Standard-Protokoll (REP) und mithilfe dieser kann der Webmaster Anweisungen für die Webcrawler festlegen. Vor allem wird die robots.txt dafür genutzt um bestimmten Crawlern definierte Verzeichnisse oder Seiten das crawlen zu verbieten. Demnach wird die robots.txt Datei in der Regel als erstes gecrawlt.

Die Crawler müssen sich nicht an die Anweisungen in der robots.txt halten, daher gibt es keine Garantie, dass der Crawler den Anweisungen folge leistet. Die großen Suchmaschinen-Bots halten sich aber normalerweise daran.

Wie die Dateiendung „.txt“ schon vermuten lässt handelt es sich hierbei um eine reine Textdatei welche mit einem ganz normalen Texteditor bearbeitet werden kann.

Zwei Voraussetzungen der robots.txt

Die robots.txt Datei muss sich im Domain-Root befinden, also auf oberster Verzeichnisebene.
Es wird also unter folgendem Pfad nach der robots.txt gesucht:

www.domain.de/robots.txt   oder   www.subdomain.domain.de/robots.txt

Dies bedeutet, dass es also nur eine Datei pro (Sub)Domain geben kann.

Ebenfalls wichtig ist, dass die robots.txt Datei immer richtig geschrieben wird bzw. klein geschrieben wird. Also nicht „Robots.txt“.

Für was ist die robots.txt ungeeignet? Folgendes geht mit damit nicht

Da sich die Bots nicht an die Anweisungen in der robots.txt halten müssen, ist es hiermit also nicht möglich die Bots (und schon gar nicht die Nutzer) von bestimmten Seiten oder Verzeichnissen auszusperren. Dies müsste z.B. mit einem Passwortschutz realisiert werden.

Außerdem kann man damit nicht sicherstellen, dass Seiten nicht von Google indexiert werden. Denn wenn der Crawler auf die URL durch einen Backlink (externe Verlinkung) stößt, dann crawlt er die Seite trotzdem, unabhängig davon ob sie in der robots.txt ausgeschlossen wird. 
Die jeweilige Seite muss also trotzdem mit mit dem HTML Meta-Tag auf noindex gesetzt werden.

Inhalt der robots.txt

Die Datei besteht hauptsächlich aus zwei Anweisungen:

  1. die Angabe/Definition des Crawlers, für welchen die Anweisungen gelten sollen
  2. die Regel/Anweisung für den Crawler bzw. welche Seiten ausgeschlossen werden sollen

Einige Beispiele

komplette Sperre der ganzen Website
User-agent: *
Disallow: /

bestimmtest Verzeichnis sperren
User-agent: *
Disallow: /util/

bestimmtest Verzeichnis für Googlebot sperren
User-agent: Googlebot
Disallow: /util/

Spezielle Datei sperren
User-agent: *
Disallow: /util/diedatei.html

einzelne Dateitypen
User-agent: *
Disallow: /*.pdf$

Bei User-agent: wird also der Name des Bots eingetragen oder die Wildcard * (Asterisk).
Bei Disallow: der Pfad oder Datei welche verboten werden soll.

Kommentare sind mit „#“ möglich.

Die Wildcard „*“ (Asterisk) kann bei User Agent oder URLs verwendet werden.

Das Dollar-Zeichen „$“ bedeutet Pfadende und kann nur in einer URL verwendet werden

Vorteile

Durch die Anweisungen, dass der Bot bestimmte Seiten oder Verzeichnisse nicht crawlen braucht, kannst du also dem Bot seine Crawling-Ressourcen sparen und das Crawling-Budget wird geschont. Darüber freut sich der Bot bestimmt und wird vor allem bei sehr großen Websites relevanter.

Mediendateien (Bilder, Video, Audio) haben keinen meta-Tag (noindex), um zu verhindern, dass die Datei in den Suchergebnissen landet. Mit der robots.txt ist das teilweise möglich dies zu verhindern, indem man in der robots.txt angibt diese Mediendateien vom Crawler auszuschließen.

Wie oben beschrieben, sollte, um ein noindex zu erreichen, dies nur bei Mediendateien so gemacht werden. Bei HTML muss dies über den meta-Tag (<meta name="robots" content="noindex">) gelöst werden.

Die Sitemap in der robots.txt angeben

In der robots.txt ist es möglich eine URL zur Sitemap anzugeben. Die Anweisung dafür lautet wie folgt

Sitemap: https://www.example.com/sitemap.xml

Die Sitemap sollte aber trotzdem noch mal in der Google Search Console eingereicht werden.

Dies kann bei der (falschen) Verwendung passieren

Es kann vorkommen, dass manche Seiten durch die robots.txt blockiert werden, aber trotzdem in den Google SERPs auftauchen und keine Beschreibung enthält. Dann sieht das Suchergebnis etwa so aus: https://support.google.com/webmasters/answer/7489871
Um blockierte Seiten aus dem Google-Index zu entfernen musst du die Blockierung in der robots.txt aufheben und die Seite mit dem Metatag auf noindex setzen.

Ebenfalls sehr wichtig: wenn der Google-Bot deine robots.txt aufruft und diese gibt (ständig) einen 500er-Fehler zurück, dann hat dies einen sehr negativen Einfluss auf das Crawl-Budget deiner Website und der Google-Bot kommt nicht mehr so oft auf deiner Website vorbei.

Etwas zum schmunzeln: „robots.txt Kunst“

Zum Schluss wollte ich euch die „robots.txt Kunst“ nicht vorenthalten. Hierbei erlauben sich manche Webmaster kleine Scherze und bauen kleine Kunstwerke in ihre robots.txt Datei. Ein paar Beispiele und mehr dazu in diesem Artikel zur robots.txt Kunst https://www.shopanbieter.de/11080-kunst-nicht-nur-zum-fest-quatsch-mit-der-robots-txt