Die Pflege der robots.txt Datei zählt zum technischen Onpage-SEO und gehört zu den grundlegenden Aufgaben eines Webmasters. Über sie steuerst du das Crawl-Verhalten auf deiner Website. Wie du das genau anstellst und welche Regeln du dabei beachten musst, erkläre ich dir in diesem Artikel.
Was ist die Robots.txt-Datei?
Inhaltsverzeichnis
Im Grunde ist sie eine reine txt-Datei, in der Verhaltensregeln für Webcrawler (auch Spider genannt) festgelegt werden. Offiziell wurde die Robots.txt Datei nie als Standard definiert. Dennoch hat sie sich seit Jahrzehnten als wichtiges Werkzeug für Webmaster etabliert. Das Robots Exclusion Standard Protokoll legt dabei seit 1994 Aufbau und Inhalt fest. Die Suchmaschinen von Google, Microsoft und Yahoo befolgen die robots.txt Datei. Eine Verpflichtung dazu gibt es allerdings nicht.
Welche Funktionen übernimmt sie?
Innerhalb der robot.txt Datei kannst du bestimmen, wie sich die Crawler auf deiner Website bewegen sollen. Du kannst bestimmte Seiten für das Crawling erlauben, blockieren oder ganze Bots ausschließen. Daneben gibst du hier deine Sitemap an, die dem Google-Crawler bei der Indizierung deiner Webinhalte unterstützt
Wo befindet sich die robot.txt?
Die Datei ist immer im Stammverzeichnis deiner Website – somit im gleichen Verzeichnis, in dem auch deine index- und deine htaccess-Dateien liegen. Auf den Servern der meisten Provider findest du dein Stammverzeichnis unter html/meineseite. Lautet deine Website www.meineseite.de, kannst du die robot.txt zudem über www.meineseite.de/robot.txt ansteuern.
Die Robots.txt Regeln
Die Robots.txt ist bis heute nur Quasi-Standard. Doch sie unterliegt einem strengen Regelwerk. Wird dieses nicht richtig befolgt, kann es zu Problemen beim Auslesen der Datei kommen. Im schlimmsten Fall wird sie einfach ignoriert. Folgende Richtlinien musst du beim Erstellen der Robots-Datei einhalten:
- Die txt-Datei muss Standard-UTF-8 sein
- Sie muss den Namen robots.txt tragen
- Sie muss im Stammverzeichnis deiner Website liegen, eine robots.txt in einem Unterverzeichnis wird einfach ignoriert
- Innerhalb der Datei muss die Groß- und Kleinschreibung beachtet werden
Ob deine Robots-Datei keine Fehler enthält, kannst du ganz leicht mit dem Google robots.txt-Tester überprüfen. Dieses Tool hilft dir aber auch, die Datei zu erstellen und zu bearbeiten.
Der generelle Aufbau
Der Aufbau der Robots-Datei ist immer gleich. In der ersten Zeile wird definiert, für wen die Regeln gelten sollen und in den weiteren Zeilen werden Allow- und Disallow-Regeln festgelegt. So kann eine robot.txt-Datei aussehen:
[txt-Code]
User-agent: Googlebot
Allow: .css
Disallow: /verbotenes-verzeichnis/
Disallow:/auch-verboten.php
Sitemap: https://www.meineseite.de/sitemap.xml
[/txt-Code]
Die Regeln innerhalb der Robots-Datei sind immer gleich aufgebaut. Zu Anfang wird mit User-Agent der betroffene Crawler definiert. In meinem Beispiel ist dies Google, mit einem * würden stattdessen alle Crawler – also auch von Yahoo oder Microsoft – angesprochen.
Mit Allow werden bestimmte Inhalte für das Crawling explizit freigegeben. Dass kann etwa bei Google notwendig sein, wenn es Probleme bei der mobilen Nutzerfreundlichkeit gibt. In meinem Beispiel habe ich alle CSS-Dateien erlaubt, damit Google die mobile Ansicht besser versteht. Ansonsten kann es passieren, dass bei der Indexierung die mobile Darstellung falsch interpretiert wird und Google deine Seiten mit einem schlechteren Ranking abstraft. In diesem Fall kann es auch sinnvoll sein, einzelne Bilder für das Crawlen freizugeben.
Disallow bewirkt seinem Namen entsprechend, dass bestimmte Seiten, Inhalte oder Verzeichnisse vom Crawling ausgeschlossen werden. In meinem Beispiel betrifft das nur eine einzelne Webseite. Alle anderen Seiten können von den Crawlern und Bots besucht und indexiert werden.
Wichtig ist zudem die Angabe deiner Sitemap bzw. aller Sitemaps. Alternativ kannst du auch über die Google Search Console Sitemaps einreichen. Über die Robot.txt Datei erhalten aber alle Crawler Zugriff auf die sitemap.xml und können so auch intern unverlinkte Seiten erfassen.
Die wichtigsten Robot.txt Elemente
Im Folgenden stelle ich dir die wichtigsten robots.txt Elemente vor. Die Liste ist dabei in zwei Bereiche eingeteilt. Befehle bezeichnet alles am Zeilenanfang, und Werte alles, was nach einem Doppelpunkt als Wert eingetragen werden kann. Am Ende gebe ich noch ein kommentiertes Beispiel einer robots.txt.
[Tabelle]
Befehle:
- # – Die Raute markiert eine Notiz. Du setzt sie immer an den Anfang einer Zeile. Alles weitere aus dieser Zeile wird von den Spidern ignoriert.
- User-agent – Dies ist der Kopf einer jeden Regel und definiert, welche Crawler und Bots angesprochen werden. Eine Liste gängiger Bots findest du hier
- Allow – Mit diesem Befehl werden eine Webseite, ein Verzeichnis oder ein Dateityp für das Crawlen freigegeben. Es kann immer nur ein Wert eingetragen werden.
- Disallow – Über diesen Befehl werden einzelne Werte vom Crawlen ausgeschlossen. Auch hier kann immer nur ein Wert je Zeile stehen.
- Sitemap – Hier trägst du die vollständige URL deiner Sitemap ein. Relative Pfade werden von den Bots nicht erkannt.
Werte:
- * – Das Sternchen ist eine Wildcard und kann mit allem ersetzt werden. Es wird somit alles angesprochen.
- $ – Das Dollar-Zeichen definiert, bis zu welchem Punkt in einem Pfad der Spider das Allow oder Disallow berücksichtigen soll. Sperrst du etwa ein Verzeichnis mit /verzeichnis1/$, wird nur das Verzeichnis selbst gesperrt, seine Unterverzeichnisse aber sind weiterhin freigegeben.
- / – Das Slash-Zeichen allein steht für alle Inhalte deiner Website. Ansonsten wird es wie gewohnt für die Verzeichnis-Nennung genutzt.
[/Tabelle] Alle Werte können miteinander kombiniert werden. So lassen sich auch komplexe Regeln definieren. Beachte, dass die Regeln von oben nach unten ausgelesen werden. Du kannst globale Regeln also mit weiteren Befehlen teilweise wieder aufheben. Google, Bing, Yahoo und Ask beachten die Reihenfolge, andere Bots eventuell nicht. Achte auch auf die richtige Groß-/Kleinschreibung.
Betrachten wir alle Werte in konkreten Beispielen:
[robots-Code]
# Hier werden alle PDF-Dateien für den Google-Bot gesperrt.
User-agent: Googlebot
Disallow: /*.pdf
Disallow: /*.xls
# Hier darf kein Crawler auf den Admin-Bereich und all seine Inhalte zugreifen.
User-agent: *
Disallow: /admin/
# In diesem Beispiel wird zwar ein Verzeichnis gesperrt, einzelne Inhalte aber wieder freigegeben.
User-agent: msnbot
Disallow: */bilder/
Allow: */bilder/website-logo.jpg
Allow: */bilder/grafik1.png
# URLS, die TEMP im Namen enthalten, werden gesperrt
User-agent: *
Disallow: */TEMP/*
# So hinterlegst du deine Sitemap:
Sitemap: https://www.deineseite.de/sitemap.xml
[/robots-Code]
Noindex wird ignoriert
Bis zum September 2019 konnte man den Crawlern direkt über die robots.txt Datei mitteilen, welche Seiten indiziert werden sollen und welche nicht. Die dazugehörigen Befehle noindex, nofollow und crawl-delay werden seit dem 1. September 2019 aber ignoriert. Bis dahin konnte der Code so aussehen:
[txt-Code]
User-agent: *
Noindex: /nicht-indexieren.html
[/txt-Code]
Nun musst du auf Alternativen umschwenken. Google schlägt Folgende vor:
- Im HTML-Head das X-Robots-Tag oder das Meta-Robots-Tag auf noindex bzw. none setzen
- Den nicht zu indexierenden Seiten einen 404 bzw. 410 Status vergeben
- Passwortschutz setzen
- Seiten in der Google Search Console temporär entfernen
Es wird auch empfohlen, die nicht zu indizierenden Webseiten und Verzeichnisse als Disallow in die robots.txt Datei zu setzen. Spider werden damit effektiv von bestimmten Unterseiten ferngehalten. Doch das kann zu einem großen Problem führen: Befindet sich im Verzeichnis eine CSS- oder JavaScript-Datei, wird auch diese komplett ignoriert. Google erkennt dann möglicherweise deine Style-Anweisungen für die mobile Ansicht nicht mehr und betrachtet deine Website als nicht für mobile Endgeräte optimiert. In diesem Falle werden deine Sucheinträge mit schlechteren Rankings bestraft.
Warum ist eine Robots-Datei wichtig?
Ohne die txt-Datei haben alle Crawler auf alle Seiten deiner Website freien Zugriff. Bei sehr kleinen statischen Websites ist dies meist nicht weiter problematisch. Je dynamischer und komplexer dein Webauftritt ist, desto mehr müssen Crawler für eine optimale Indexierung gesteuert werden. Das kann folgende Gründe haben:
1. Crawler-Ressourcen sparen
Ohne eine robots.txt springt der Such-Bot auf der Suche nach neuen Inhalten von Link zu Link. Die gefundenen Seiten werden bewertet und je nach Ergebnis indiziert oder eben nicht. Um dabei Ressourcen zu schonen, beschränkt sich der Crawler auf eine bestimmte Seitenanzahl pro Domain. Besitzt du eine besonders komplexe Website, könnte dieses Kontingent ohne robots.txt schnell aufgebraucht sein – und eventuell wichtige Seiten gelangen nie in den Index.
2. Suchmaschinenoptimierung unterstützen
Suchergebnisseiten oder Seiten mit und ohne HTML- bzw. PHP-Endung werden ohne weitere Regeln sofort als Duplicate Content definiert. Google selbst legt dann zwar das Duplikat und die nicht kanonischen Seiten fest und schließt sie aus dem Index aus. Die Wahrscheinlichkeit, dass deine Gesamte Website im Ranking abgestraft wird, steigt allerdings auch.
3. Bestimmte Inhalte vom Index ausschließen
Manche Inhalte sollen nicht in den Suchergebnissen erscheinen. Etwa weil zusätzliche Informationen präsentiert werden, die mit der eigenen Dienstleistung aber nichts zu tun haben.
4. Kritische Seiten schützen
Auf bestimmten Seiten hat ein Spider nichts zu suchen. Dazu zählen etwa administrative Seiten, Logins, Kundenbereiche oder Formulare.
So erstellst du deine robots.txt-Datei
Sofern die robots.txt nicht automatisch erstellt wird, musst du sie selbst auf deinem Webserver hinterlegen. Was du dafür benötigst:
- Texteditor, der Standard-UTF-8 Textdateien erstellen kann (z.B. Notepad++, Atom oder Coda)
- FTP-Zugriff auf deinen Server (z.B. über das Hoster-eigene Programm oder FileZilla)
Einige Editoren wie Notepad++ können sich direkt mit deinem Server verbinden. In dem Fall kannst du die erstellte Robots.txt gleich im Hauptverzeichnis abspeichern. Die Datei selbst erstellst du in wenigen Schritten:
1. Öffne den Texteditor
2. Füge die entsprechenden Zeilen in das noch leere Dokument
3. Speicher die Datei als robots.txt (Kleinschreibung beachten)
4. Lade die Datei in das Hauptverzeichnis deiner Website
robots.txt Generatoren als Alternative
Eine Robots.txt zu schreiben und auf deinen Server zu laden, nimmt in der Regel nicht viel Zeit in Anspruch und ist auch nicht kompliziert. Je umfangreicher deine Website allerdings ist, desto aufwendiger wird es, Crawl-Regeln für jede Seite festzulegen. Ein Robots.txt Generator nimmt dir diese Arbeit teilweise ab. Über externe Tools kannst du eine Sitemap angeben, einzelne Ordner und Seiten oder ganze Spider ausschließen und sogar eine Crawling Zeitverzögerung definieren. Die ausgespielte Robots.txt Datei speicherst du dann nur noch auf deinem Stammverzeichnis.
Fast alle Content Management Systeme erstellen die robots.txt Datei automatisch oder besitzen ein Plugin mit entsprechender Funktion. Das Praktische: Du musst dich nicht mehr mit der Datei direkt auseinandersetzen. Bei den entsprechenden Seiten und in den Einstellungen kannst du festlegen, welche Unterseiten indiziert werden dürfen und welche nicht. Auch ganze Verzeichnisse oder Suchergebnisseiten kannst du mit wenigen Klicks ausschließen. Das CMS trägt diese Informationen dann automatisch in die Robots.txt ein und erstellt meist auch von selbst eine XML-Sitemap.
Was passiert mit gesperrten Inhalten?
Die meisten Crawler und Bots befolgen die Regeln aus deiner robot.txt. Was von dir gesperrt wurde, wird in der Regel auch nicht von den Suchmaschinen durchsucht. Doch nicht jeder Bot hält sich daran. Vor allem fragwürdige Crawler auf der Suche nach Kontaktdaten oder Formularen ignorieren fast immer die festgelegten Sperrungen. Als Spam-Schutz ist die robot.txt-Datei daher weniger gut geeignet. Sie bietet aber einen ersten Schutzwall.
Inhalte können trotzdem indexiert werden
Es kann trotz einer Disallow-Regel zu Indexierungen kommen. Verlinken externe Seiten auf deine Inhalte, werden diese oft indexiert. Dabei wird der Verlinkungstext als Snippet-Title verwendet. Da der weitere Zugriff von dir untersagt wurde, wird keine Description erstellt. An ihrer Stelle fügt Google “Für diese Seite sind keine Informationen verfügbar.” ein.
Wenn Inhalte bereits im Google Index sind
Willst du unliebsame Inhalte wieder aus dem Index entfernen, reicht es nicht, die entsprechenden Seiten einfach über die robot.txt auszuschließen. Auch ein schnelles Entfernen, wie es im alten Google Webmaster Tool möglich war, geht nicht mehr. Mit etwas Geduld und folgenden Schritten schaffst du dennoch eine Deindexierung:
1. Im Head-Bereich folgenden Code einfügen:
bzw.
2. Die Seite über die Google Search Console erneut prüfen
Gib dafür die vollständige URL im oberen Suchfeld ein und klicke auf “Indexierung beantragen”
3. Betroffene Seite über die Google Search Console
Gehe dazu auf “Index” > “Entfernen” und stelle einen neuen Antrag. Hier eingetragene URLs werden temporär für 6 Monate aus dem Index entfernt.
4. In Geduld üben, bis die Seite aus dem Index entfernt wurde
5. Den Seitenpfad erneut über die robot.txt blockieren
Fazit: Die robots.txt ist wichtiger SEO-Bestandteil
Eine robots.txt ist eine kleine Datei auf deinem Server, die du ohne viel Aufwand oder Programmierkenntnisse bearbeiten kannst. Die meisten CMS wie WordPress unterstützen dich auch bei der Erstellung und Pflege. So unscheinbar die txt-Datei wirkt, sie besitzt einen großen Einfluss auf die Art und Weise, wie Crawler deine Website betrachten. So kannst du bestimmte Bereiche für die Indexierung blockieren oder freigeben, Duplicate Content verhindern und mit intelligenter Crawling-Steuerung dein Ranking in den SERPs verbessern.
Fun-Fact: Dank der Kommentarfunktion kannst du in deiner robot.txt auch geheime Botschaften, Witze und ASCII-Bilder für neugierige Schnüffelnasen verstecken.
Robot.txt FAQ
Wo finde ich die Robots.txt?
Die robots.txt Datei befindet sich immer im Stammverzeichnis einer Website.
Was macht die Robots txt?
Sie gibt den Crawlern Anweisungen, welche Bereiche der Website sie durchsuchen dürfen und welche für sie gesperrt sind. Die Robots txt steuert damit das Crawling- und Indexierungs-Verhalten aller Bots.
Was ist ein Robot?
Als Robot werden alle Algorithmen bezeichnet, die automatisch Websites nach Inhalten durchsuchen und nach eigenen Regeln in Datenbanken (meist Indizes) aufnehmen. Sie werden auch Bots, Crawler oder Spider genannt. Bedeutsam sind vor allem die Suchmaschinen-Bots. Es gibt aber auch böswillige Varianten, die auf der Suche nach sensiblen Daten und Formularen für die Verbreitung von Spam sind.
Wie richte ich eine robots.txt ein?
Ist bisher noch keine Robots txt Datei vorhanden, musst du sie über einen Standard-UTF-8-fähigen Texteditor selbst erstellen. Definiere darin deine Regeln und speichere die Datei unter dem Namen robots.txt im Stammverzeichnis der entsprechenden Website ab.