Wir sind alle lange genug im Geschäft und kommen am Internet nicht vorbei. Der erste Blog, Onlineshop, oder sonstige Plattformen begleiten uns ständig. Wer sich mit Suchmaschinenoptimierung auseinandersetzt, der wird dann auch an der robots.txt nicht vorbei kommen. In diesem Artikel werde ich aufzeigen, was die robots.txt für einen Zweck hat und was alles damit angestellt werden kann.
Der Ursprung der robots.txt
Alles fing einmal klein an, oder wurde erschaffen. So auch die robotx.txt. In erster Linie handelt es sich um eine Textdatei im „Root“-Verzeichnis der Webseite. Das Robots-Exclusion-Standard-Protokoll ist hierfür federführend. 1994 wurde das Protokoll entwickelt. Die unabhängige Entwicklergruppe besteht aus mehreren Personen, ist aber nicht näher in der Öffentlichkeit bekannt. Dieses Protokoll sorgt dafür, dass ein Webseitencrawler, also ein „Robot“ im „Root“-Verzeichnis der Domain nachschaut, ob es eine robots.txt -Datei gibt, die ggf. beachtet und im besten Falle befolgt wird. 2008 haben sich die Plattformen Google, Yahoo! und Microsoft auf diverse Gemeinsamkeiten verständigt, damit die Leitung des Bots für den Webseitenbetreiber einfacher gehalten werden kann.
Wie ist die robots.txt aufgebaut?
Der Aufbau der robots.txt ist recht simpel gehalten. Alles beginnt mit einer leeren Textdatei. In der nachfolgenden Tabelle sind alle möglichen Parameter aufgelistet, die über die robots.txt aktuell gesteuert werden, sowie in der Vergangenheit gesteuert wurden.
Anweisung in der robots.txt | Beschreibung | Beispiel in der robots.txt | Funktion |
---|---|---|---|
User-agent: | Welcher Webcrawler angesprochen wird | User-agent: Googlebot | Gilt nur für den Webcrawler namens „Googlebot“. |
User-agent: * | Wildcard für User-agent; die ist für alle vorhandenen Webcrawler. | ||
Disallow: | Verhinderung des Crawling / Auslesen | Disallow: | Mit dieser Anweisung (disallow) darf die komplette Website gecrawlt werden. |
Disallow: / | Ein Crawling der kompletten Website ist untersagt. Die Website und sämtliche Dateien werden nicht im Index auftauchen. | ||
Disallow: /SEO2018/
Disallow: /test.php |
Mit diesen Anweisungen lassen sich Verzeichnisse „SEO2018“ und einzelne Dateien „test.php“ ausschließen. | ||
Disallow: /test | Sämtliche Dateien und Verzeichnisse, die mit „test“ beginnen, werden durch diese Anweisung in der robots.txt nicht durchsucht z. B. „test.html“, „test.php“, „test-seite.php“, „testordner/“, und so weiter. Das Verbot von „test.html“ verbietet somit auch z. B. „test.html.php“ oder „test.html/“, auch wenn diese Konstellation sehr selten vorkommen. | ||
$ | Zeilenende-Anker (nur Googlebot, Yahoo! Slurp, msnbot) | Disallow: /*.pdf$ | Alle Dateien mit der Endung „.pdf“ werden auf Anweisung in der robots.txt ignoriert. |
? | URLs mit ‚?‘ behandeln (nur Googlebot) | Disallow: /*? | Es werden sämtliche URLs ignoriert, die ein „?“ in der URL enthalten. WICHTIG: Wird nur vom Googlebot beachtet |
Allow: /*?$ | Alle URLs, die mit einem ‚?‘ enden, werden erlaubt. | ||
Allow: | Auslesen / Crawling erlauben (nur Ask.com, Googlebot, Yahoo! Slurp, msnbot) | Disallow: /
Allow: /seo2019/ |
Diese Anweisung in der robots.txt legt fest, dass nur das Verzeichnis „seo2019“ ausgelesen / gecrawlt werden darf, der Rest ist aber gesperrt. |
Crawl-delay: | Auslesegeschwindigkeit | Crawl-delay: 60 | Alle 60 Sekunden darf eine neue Seite zum Auslesen aufgerufen werden. à Wird seit dem 01.09.2019 von Google nicht mehr akzeptiert. |
Sitemap: | URL der Sitemap | Sitemap: http://example.com/sitemap.xml | Die Sitemap ist unter der angegebenen Adresse erreichbar. |
# | Hashtag | #Kommentar | Mit dem Hashtag „#“ können Kommentare in der robots.txt eingetragen werden. |
Es gibt einige Anweisungen, die in der robots.txt verwendet werden können. Der richtige Aufbau ist hier unbedingt zu beachten. Es ist immer darauf zu achten, welche Anweisungen alle Bots, insbesondere der Googlebot betreffen und welche Anweisungen gesondert für bestimmte Bots ausgespielt werden sollen. Die Anweisungen werden Zeile für Zeile eingetragen und so auch von den Bots im Crawl erfasst und verarbeitet. Aber bitte immer mit der gebotenen Vorsicht vorgehen, denn ein übereilter, oder falscher Einsatz von “disallow” kann ein ganzes Projekt scheitern lassen.
Disallow in der robots.txt – Fehlerhafte EIntragungen mit weitreichenden Folgen
Die Anweisung „Disallow“ lässt eine Verhinderung nicht nur auf ganze Verzeichnis- oder Dateinamen. Des Weiteren ist auch die Nicht-Indexierung von Teilstücken möglich, /suchmaschinenoptimierung passt (neben /suchmaschinenoptimierung selbst) auf /suchmaschinenoptimierung/konferenz genauso wie auf /suchmaschinenoptimierungen oder suchmaschinenoptimierung-123.png. Daher muss immer darauf geachtet werden, dass bei dem Ausschluss von Verzeichnissen mittels „Disallow“ immer ein abschließender Schrägstrich / vorhanden ist.
Platzhalter / Wildcards wie * oder *.* sind nur wenigen Suchmaschinen bekannt. Diese Anweisungen sollten daher gänzlich vermieden werden, da die Anweisungen dann ignoriert werden und den disallow EIntrag völlig überflüssig machen.
Muss die robots.txt immer angelegt werden?
Es gibt Content-Management-Systeme (CMS), die von Hause aus eine robots.txt mitliefern. Diese wird aber nicht im Root-Verzeichnis der Installation angezeigt, sondern dynamisch vom CMS generiert. Gerade der Link zur Sitemap wird dort nie mit aufgeführt. Eine Empfehlung hier ist, die robots.txt zunächst im Browser aufzurufen und den Inhalt daraus zu kopieren. Die hier entnommenen Zeilen einfach in ein neues Textdokument packen und die gewünschten Änderungen hinzufügen. Anschließend kann diese „physische“-Datei auf dem Server abgelegt werden und ersetzt die vom CMS generierte.
Die eigene robots.txt übersteht auch ein Update des CMS ohne Probleme. Der Grund dafür ist einfach erklärt. Da es sich hier um eine Datei, die nicht zum Datensatz des eingesetzten Systems handelt, werden auch keine Veränderungen an dieser vorgenommen. Wichtig ist immer, vorher das Backup der dynamisch erzeugten robots.txt zu machen. Aus SEO-Sicht ist es ratsam eine robots.txt zu erstellen. Nicht nur, dass der Link zur Sitemap mit aufgenommen werden kann / soll sondern auch die direkten Anweisungen zur Parameterbehandlung können so schnell und einfach vollzogen werden. Für Suchmaschinen und Suchmaschinenoptimierer ist die robots.txt der erste Anlaufpunkt um zu prüfen, was alles indexiert werden darf und was nicht.
Wie können bestimmte Spider / Crawler pauschal ausgesperrt werden?
Ein Schutz vor bestimmten Spidern / Crawlern sollte immer eingerichtet werden, will man seine Webseite durch Crawlings von Dritten schützen. Zu diesen Spidern / Crawlern können auch Ausspähdienste gehören, oder auch Tools, wie z. B. der Screaming Frog, Sitebulb, etc. Doch wie diese Crawler pauschal ausgeschlossen werden können, zeigt sich in folgender Übersicht, die auch beliebig erweitert werden kann. Einfach die nachfolgend begonnene Liste in der robots.txt einfügen und sich Ruhe gegenüber unerwünschten Crawlings verschaffen.
User-agent: WebReaper
User-agent: WebCopier
User-agent: Offline Explorer
User-agent: HTTrack
User-agent: Microsoft.URL.Control
User-agent: EmailCollector
User-agent: penthesilea
Disallow: /
Wie im Aufbau deutlich zu erkennen ist, werden zunächst alle User-Agents in der robots.txt aufgelistet, die geblockt werden sollen. Im Anschluss daran wird dann mit dem „Disallow: /“ deutlich gemacht, dass die Spider keinen Zugriff auf die Webseite und die darin enthaltenen Unterseiten, sowie Unterordner haben.Ergo die Domain ist komplett ausgeschlossen für die genannten User-Agents und können somit nicht gecrawlt werden.
Welche Alternativen zur robots.txt gibt es?
Es gibt auch Systeme, die lassen es nicht zu, dass eine robots.txt auf dem Server abgelegt wird. Hierfür gibt es aber auch Abhilfe. die wichtigste Funktion, dass Crawling lässt sich auch über den HTML-Head einbinden. Die Ansprache an bestimmte Bots kann auch hierüber erfolgen, wie die nachfolgenden Beispiele zeigen, sodass eine robots.txt zwar nicht erstellt werden konnte, die Anweisungen aber dennoch berücksichtigt werden können.
Allgemeiner Bot zur Indexierung und zum Indexierungsverbot:
<meta name=“robots“ content=“index,follow“ /> –> Indexierung und folgen der Links freigegeben
<meta name=“robots“ content=“noindex,nofollow“ /> –> Indexierung und folgen der Links nicht freigegeben
Anweisungen an bestimmte Bots:
<meta name=“msnbot“ content=“nofollow“ /> <!– Microsoft –>
<meta name=“GoogleBot“ content=“noindex“ /> <!– Google –>
<meta name=“Slurp“ content=“noydir“ /> <!– Yahoo –>
Parameterbehandlung mit Hilfe der robots.txt?
Wie oben in der Tabelle schon kurz angerissen können auch Webseiten, respektive Unterseiten mit Parametern aus dem Index befördert werden, bzw. für den Index gesperrt werden. Wer eine Suche auf der Webseite hat, sollte sich hier ganz genau die URL anschauen, die erzeugt wird wenn der Aufruf der Suchergebnisseite der jeweiligen Suchmaschine, wie zum Beispiel Google, erfolgt. An der Domain hängt dann in den meisten Fällen folgendes: „?siteSearch=…“ Dieser Parameter kann dann in der robots.txt ausgeschlossen werden, damit alle Seiten, die durch die „siteSearch“ erzeugt wurden vom Crawling / Indexing ausgeschlossen werden. Natürlich kann man sich das Leben auch einfacher machen.
Sollten keine Zugriffsrechte zum Server, oder kein technisches Verständnis vorliegen und die Bearbeitung an der robots.txt so nicht durchgeführt werden können, kann auch die Parameterbehandlung der Google Search Console zu Rate gezogen werden und die gewünschten Änderungen dort angepasst werden. Hier sind oft SEOs mit technischem Know-How gefragt, um die Anweisungen korrekt in der robots.txt umzusetzen.
Ausschluss von Dateien mit Hilfe der robots.txt?
Wer kennt es nicht, eine oder mehrere PDF-Dateien auf der Webseite, die auch noch zum Download angeboten werden landen im Index. Jeder SEO schlägt hier die Hände über dem Kopf zusammen. Meist sind es ganze Textausarbeitungen, die sich vom Text her besser direkt auf der Unterseite machen, oder aber es ist so dünner Content, dass man besser darüber nachdenken sollte diese Datei direkt zu entfernen. Dennoch muss hier festgelegt werden, dass eine PDF-Datei nicht im Index landen soll, da sich so die Webseite und das PDF-Dokument kanibalisieren und zu schlechten, oder keinen Rankings führt. Der einfachste Weg ist hier, in die robots.txt zu gehen und die gewünschten Dateiendungen vom Crawling auszuschließen so kann der User der Webseite die PDF-Datei nutzen, aber wurde für die Suchmaschine zur Indexierung blockiert..
Anweisungen zum Ausschluss von Dateien in der robots.txt:
Disallow: /*.pdf$ –> Ausschluss nur von PDF-Dateien
Disallow: /*.pdf|.docx$ –> Ausschluss von mehreren Dateitypen
Änderungen an der robots.txt?
Das nach 25 Jahren die robots.txt mal ein Facelift bekommt, damit war zu rechnen. Am 01. September 2019 war es soweit. Die folgenden drei Anweisungen werden seitens Google nicht mehr beachtet und sind aus der robots.txt zu entfernen:
- crawl-delay
- noindex
- nofollow
Diese drei Anweisungen sind weiter oben in der Tabelle der möglichen Eintragungen in der robots.txt beschrieben. Weiterführende Informationen zu den Änderungen an der robots.txt gibt es in meinem Artikel „Bye, bye noindex, nofollow und crawl-delay – robots.txt wird revolutioniert!“
Fazit zur robots.txt-Datei?
Was bleibt nun hängen von der robots.txt? Mit der erstellten Textdatei hat man einen großen Einfluss auf die Crawlingsteuerung der einzelnen Bots / User-Agents. Auch die gezielte Ansteuerung von bestimmten Bots über die robots.txt ist möglich. Der Ausschluss von Parametern, Verzeichnissen, oder auch Dateien, bestimmten Formats ist ein wichtiger Punkt. Es gilt hier, sich genau mit dieser Thematik auseinanderzusetzen um die größtmöglichen Erfolge zu bekommen. Dank der robots.txt lässt sich das vorhandene Crawlingbudget so einsetzen, dass die richtigen Seiten davon profitieren und nicht die Karteileichen, die eh niemand sucht. Wichtig ist, dass das nötige technische Verständnis zur EInbindung und Benutzung der robots.txt vorliegt, damit man nicht sein blaues Wunder erlebt und die eigene Webseite aus dem Index der Suchmaschine entfernt.
Jetzt Unterstützung in SEO erhalten