HTTP Status Codes richtig interpretieren & anwenden
21. April 20205 Tipps, wie du alle deine Online-Produkte optimierst
29. Mai 2020Robots.txt erstellen mit technisch korrekten Anweisungen
Die von Suchmaschinen verwendeten Daten werden von sogenannten User Agents oder Bots gesammelt. Diese Bots suchen quasi ständig das Internet nach Seiten und neuen Inhalten ab, die sie in den Suchergebnissen anzeigen können. Auch deine Webseite wird natürlich regelmäßig besucht. Das Schöne dabei ist, du kannst mithilfe einer robots.txt-Datei die Aktionen der Bots so steuern, dass die von dir gewünschten Teile deiner Webseite in den Ergebnissen der Suchmaschinen erscheinen. Unerwünschte bleiben draußen. Allerdings funktioniert das nur dann, wenn du die Regeln zur Syntax beherrscht. In diesem Beitrag erfährst du, wie es geht.
Inhaltsverzeichnis
Was ist eine robots.txt Datei?
Bei einer robots.txt Datei handelt es sich um eine Textdatei, die du mit einem normalen Editor erstellen kannst. Sie weist den Bot einer Suchmaschine dazu an, welche Teile einer Webseite er crawlen darf und welche nicht. Die robots.txt-Datei ist im Root-Verzeichnis, also im Hauptverzeichnis der Domain hinterlegt. An anderen Speicherorten kann diese nicht gefunden werden.
Wozu verwenden? Die Bedeutung für SEO
Die Bots der Suchmaschinen, wie Google und Bing, rufen die Datei robots.txt als erste Datei einer Webseite auf. Dieser Datei entnehmen die Bots, welche Teile der Webseite sie indexieren dürfen und welche nicht. Üblicherweise ist eine Liste der Dateien enthalten, die von der Indexierung ausgeschlossen werden sollen. Das bedeutet auch, dass keine Einschränkungen angenommen werden, wenn die Datei robots.txt fehlt.
Der Inhalt von robots.txt ist von offensichtlicher Bedeutung für das Ranking deiner Webseiten in den Suchergebnissen. Denn hier bestimmst du ganz klar, ob einzelne Dateien oder ganze Verzeichnisse oder sogar die ganze Domain vom Crawling ausgeschlossen werden.
Beachte, dass sich die Bots nicht unbedingt an diese Information halten müssen. Die Bots der großen Suchmaschinen wie Google tun das im weitesten Sinne, aber Bots auf der Suche nach Sicherheitslücken halten sich sicher nicht an diese Anweisungen. Sensible Webseiten-Bereiche sollten daher zusätzlich mit einem Passwortschutz versehen werden.
Der Aufbau einer robots.txt
Die Datei muss für Bots verständlich sein und das bedeutet, dass eine bestimmte Syntax genau eingehalten werden muss. Auch ein kleiner Fehler in der Darstellung verhindert, dass die Datei beziehungsweise einzelne Inhalte von den Suchmaschinen korrekt verarbeitet werden können.
Den User-agent ansprechen
Die Anweisung startet mit der Ansprache des Bots. Du kannst Anweisungen mit einem Sternchen formulieren, an die sich alle Bots halten sollen. Das sieht wie folgt aus:
User-Agent: *
Oder du sprichst einen speziellen Suchmaschinen-Bot konkret an. Dann verwendest du statt des Sternchens den entsprechenden Namen. Hier findest du eine Übersicht zu den offiziellen Bezeichnungen der Crawler:
Crawler | User-agent |
Google (Bot für Websuche) | Googlebot |
Google (Bot für Nachrichten) | Googlebot-News |
Google (Bot für Bilder) | Googlebot-Image |
Google (Bott für Ads) | Adsbot-Google |
Bing | Bingbot |
Yahoo | Slurp |
Werden mehrere Bots angesprochen, sind die Anweisungen in jeweils separate Zeilen zu formulieren.
Beispiele für Syntax-Anwendungen
Üblich ist eine negative Formulierung, die bestimmte Dateien ausschließt. Soll aber zum Beispiel ein ganzes Verzeichnis mit Ausnahme weniger Dateien ausgenommen werden, gibt es auch die Möglichkeit, das ganze Verzeichnis auszuklammern und diese Dateien explizit in die Indexierung aufzunehmen. Die Einträge in der Datei bestehen wie schon erwähnt zunächst aus der Angabe der User Agents und nachfolgend einer Auflistung der auszunehmenden Dateien. Getrennt werden diese Einträge voneinander durch das Wort „disallow“.
Ausschließen von Seiten mit Disallow
Mit der folgenden Anweisung dürfen alle Bots weiterhin alle Seiten crawlen, da Disallow nicht näher definiert wurde:
User-agent: *
Disallow:
Ein kleines Slash eingefügt und schon darf die komplette Webseite nicht mehr gecrawlt werden:
User-agent: *
Disallow: /
Im folgenden Beispiel wird der Googlebot für eine bestimmte Seite ausgeschlossen:
User-agent: Googlebot
Disallow: /seite.html
Hier darf der Bot ein ganzes Verzeichnis nicht crawlen:
User-agent: Googlebot
Disallow: /verzeichnis/
Einschließen von Seiten mit Allow
Das Einschließen von Seiten wird hauptsächlich dazu genutzt, um Ausnahmen von auszuschließenden Seiten hinzuzufügen. Dabei ist zu beachten, dass generell erst die Erlaubnis erteilt werden muss, dann der Ausschluss. Hier zum Beispiel darf nichts aus dem „tierlexikon“ gecrawlt werden, außer der Katzen-Content:
User-Agent: *
Allow: /tierlexikon/katzen/
Disallow: /tierlexikon/
Wenn du die Allow und Disallow Anweisung genau andersherum schreibst, kann es sein, dass Suchmaschinen leider nichts von den flauschigen Erdbewohnern erfahren, da sie die Seite nicht crawlen. Google allerdings gibt hierzu an, dass die Reihenfolge nicht unbedingt relevant ist, sondern die spezifischere Regel. Das ist in diesem Fall die Allow-Anweisung. Es kann allerdings mit Betracht auf die weiteren Suchmaschinen nicht schade, sich die Reihenfolge zu halten.
Nutzung von Wildcards
Für Fortgeschrittene lassen sich durch die beiden regulären Ausdrücke * und $ noch sehr viel flexiblere Lösungen umsetzen. Beispielsweise können URLs mit bestimmten Zeichenketten ausgeschlossen werden. Das könnten Zeichenketten mit Parametern (beginnend mit einem Fragezeichen (oder Session-IDs in Onlineshops sein:
User-agent: *
Disallow: /*?
Disallow: *sid
Genauso können auch ganze Verzeichnisse ausgeschlossen werden, die mit „pfad1“ beginnen oder einfach nur „pfad2“ enthalten:
User-agent: *
Disallow: /pfad1*/
Disallow: /*pfad2*/
Der Einsatz des $ kommt einer Filteranwendung gleich. So kannst du mit ihm Seiten ausschließen, die auf eine bestimmte Zeichenkette, wie „ende“, oder einen Dateitypen, wie hier alle Bilder, enden:
User-agent: *
Disallow: ende$
Disallow: /*.jpg$
Die Sitemap.xml hinterlegen
Zu guter Letzt kann in einer weiteren Zeile noch der Link zur sitemap.xml eingefügt werden:
Sitemap: https://www.domain.de/sitemap.xml
Die robots.txt testen & kontrollieren
Ein Test der Datei ist wichtig, da wie erwähnt kleine Syntaxfehler im Zweifel bewirken können, dass ungewollt zu viele Dateien und Verzeichnisse vom Indexieren ausgeschlossen werden. Andernfalls erkennen die User Agents keine Einschränkungen und indexieren zum Beispiel auch sensible Bereich wie Login Seiten. Im Internet findest du etliche Angebote für solche Tests. Für die User Agents von Google ist eine solche Überprüfung in der Google Search Console mit dem Robots-Testing-Tool möglich. Einmal hochgeladen, kannst die Datei ganz einfach im Browser aufrufen, indem du hinter die Domain /robots.txt setzt. Ready!
Fazit
Nun weißt du einiges mehr über die robots.txt Datei und kannst Bots gezielt im Crawling steuern. Nur Vorsicht: Bei all den Sonderzeichen und detailreichen Regelungen kann schnell etwas durcheinander laufen und im Worst Case Seiten vom Index ausschließen. Daher empfehle ich, die verschiedenen Anweisungen sparsam zu verwenden und die Datei auf ein Minimum an Zeilen zu beschränken.
Solltest du Unterstützung dabei brauchen, die passende robots.txt für deine Webseite oder deinen Onlienshop zu erstellen, melde dich gerne bei mir und lass dich schnell und einfach unterstützen. Hier direkt eine Kontaktanfrage stellen.