robots.txt erstellen und optimieren

  28. August 2018

Gute Suchmaschinen-Rankings sind elementar wichtig, weil Suchmaschinen starke Traffic-Lieferanten sind. Häufig wird technisches SEO vergessen oder nur rudimentär beachtet. Eine mächtige technische SEO-Maßnahme ist die Crawlability-Feinjustierung mittels robots.txt-Datei. Erfahre jetzt, wie Du die Crawlability Deiner Website durch robots.txt-Anweisungen optimierst, ohne das Programmierkenntnisse erforderlich sind.

robots.txt Datei - Header

News & Updates

20 April 2016

Der Googlebot Smartphone User-agent hat sich in der Vergangenheit am Safari-Browser orientiert. Mit dem heutigen Update – so vermeldet es Google – orientiert sich der User-agent für Smartphones am eigenen mobilen Chrome-Browser. Durch das Update soll der User-agent moderne Technologien besser rendern können. (Quelle) Das ist der neue User-agent:

02 Dezember 2015

John Mueller teilt in einem Google+ Post mit, dass der Applebot die robots.txt-Anweisungen für den Googlebot befolgt, wenn für den Applebot keine Anweisungen hinterlegt sind.

21 August 2015

Google teilt im Webmaster Central Blog hier mit, dass im Verlauf der letzten Jahre Google verschiedene Crawler zur Indizierung von Inhalten für Feature Phones und Smartphones nutzte. Alle mobilen Crawler wurden als Googlebot-Mobile bezeichnet. Allerdings besitzen Feature Phones und Smartphones verschiedene Gerätefunktionen. Das führte versehentlich zu Crawling-Ausschlüssen. Google konnte Inhalte nicht indexieren und auch nicht erkennen, dass Seiten für Mobilgeräte optimiert sind. Um diese Probleme zu lösen entschied sich Google für eine Änderung: Der User-agent für Smartphones wird sich zukünftig als „Googlebot“ identifizieren, allerdings im User-agent-string „mobile“ mit sich führen. Der neue User-agent für Smartphones wird sich zukünftig nicht mehr vom regulären Googlebot unterscheiden. Das kann Änderungen der robots.txt-Anweisungen für mobile Endgeräte erfordern. Der neue Googlebot für Smartphones folgt nun den Anweisungen des regulären Googlebots:

Der Googlebot-Mobile gilt zukünftig nur noch für Feature Phones:

Was ist die robots.txt-Datei?

Die robots.txt ist ein Textdokument, das Anweisungen für Webcrawler (Bots, Spider, Robots) definiert, um den globalen Zugriff oder auf Teile einer Website zu beschränken. Die Datei befindet sich im Stammverzeichnis der Website, also im obersten Verzeichnis eines Hosts.

Ist die robots.txt für Suchmaschinen-Crawler verbindlich?

Das Robots Exclusion Standard-Protokoll sieht vor, dass alle Crawler die robots.txt vor der Verarbeitung der ersten Ressource einer Website aufrufen. Die meisten Crawler halten sich an das Robots Exclusion Standard-Protokoll und befolgen die (meisten) Anweisungen.

Die robots.txt muss nicht vorhanden sein, allerdings ist sie zur Suchmaschinenoptimierung einer Website empfehlenswert. Wird keine robots.txt bereitgestellt, dürfen alle Ressourcen von allen Crawlern verarbeitet werden.

Wozu dient die robots.txt?

Mit der robots.txt legt man fest, welche Ressourcen nicht gecrawlt werden dürfen. Einerseits um private Daten zu schützen, andererseits um die Crawlability zu optimieren.

Crawlability?

Suchmaschinen bewerten Websites hinsichtlich ihrer Ranking-Relevanz. Alle Domains, die bereits eine hohe Vertrauenswürdigkeit genießen, werden zur Erfassung neuer Inhalte regelmäßig von Suchmaschinen besucht und umfassend gecrawlt – teilweise mehrmals am Tag. Internen Duplikate sollten von der Verarbeitung ausgeschlossen werden – wie granulare Filterergebnisse, sortierte Inhalte („von A bis Z“ und „Preis aufsteigend“), interne Suchergebnisse, usw.

Die robots.txt dient dazu, die Crawlability aus Suchmaschinen-Sicht zu optimieren. Ob eine Ressource in den Suchmaschinen-Index aufgenommen wird, bestimmt das Robots Meta Tag.

Wo befindet sich die robots.txt?

Die robots.txt wird immer im Stammverzeichnis einer Domain abgelegt. Sie muss exakt so geschrieben sein: „robots.txt“ – in Kleinbuchstaben. Mit einem FTP Client (Beispiel) kann die Datei auf dem Webserver erstellt bzw. aktualisiert werden. Alle Anweisungen gelten nur für den Host.

Sollte eine robots.txt für Suchmaschinen angelegt werden?

Eindeutig: Ja. Google hat dazu in einem Webmaster-Video Stellung bezogen. Matt Cutts empfiehlt die Bereitstellung einer robots.txt-Datei:

If I don't need to block crawlers, should I create a robots.txt file?

Wie wird die robots.txt bearbeitet?

Die robots.txt ist eine Textdatei und kann mit jedem herkömmlichen Texteditor bearbeitet werden. Das erwartete Dateiformat ist ein UTF-8 codiertes Textformat.

Wie oft sollte die robots.txt bearbeitet werden?

Die robots.txt wird von vielen Crawlern beachtet. Deshalb sollte die Datei nicht für ein temporäres Crawling-Verhalten ausgerichtet werden, zum Beispiel um ausgewählten Dokumenten kurzzeitig ein höheres Ranking-Gewicht zu verleihen. Besser ist es, die robots.txt zu aktualisieren, wenn der Bedarf besteht – zum Beispiel wenn Verzeichnisse erzeugt werden, deren Inhalte von Crawlern nicht verarbeitet werden sollen.

Can I use robots.txt to optimize Googlebot's crawl?

Wie ist die robots.txt aufgebaut?

Die robots.txt beinhaltet Datensätze (Anweisungen) und Kommentare. Dabei wird strikt zwischen Groß- und Kleinschreibung unterschieden. Kommentare werden durch ein #-Zeichen eingeleitet.

Datensätze enthalten verbindliche Anweisungen (Ausschlüsse oder Freigaben). Dabei wird zwischen drei Ergebniscodes unterschieden:

  • full allow: Alle Inhalte dürfen gecrawlt werden
  • full disallow: Keine Inhalte dürfen gecrawlt werden
  • conditional allow: Die Anweisen bestimmen die Crawlbarkeit individuell

robots.txt-Anweisungen beginnen mit der Zeile:

Mit „User-agent“ wird definiert, an welchen Crawler die Anweisungen adressiert sind. Der erste Buchstabe „U“ muss groß geschrieben sein.

Die obere Zeile sagt aus, dass die Ausschlüsse und Freigaben einer Anweisung von allen Bots beachtet werden müssen. Der Stern ist ein Wildchar – ein Platzhalter, der in diesem Fall alle Bots adressiert.

Anweisungen können auch an ausgewählte Crawler adressiert werden. Soll eine Anweisung zum Beispiel ausschließlich für den Googlebot gelten, lautet die Anweisung:

Eine umfassende Liste bekannter Suchmaschinen-Crawler bietet die Website robotstxt.org.

Die wichtigsten Suchmaschinen-Crawler

User-agentSuchmaschine
GooglebotGoogle Suche + Google Mobile (siehe hier)
Googlebot-MobileGoogle Mobile für Feature Phones (siehe hier)
Googlebot-ImageGoogle Bildersuche
Googlebot-VideoGoogle Videosuche
Mediapartners-GoogleGoogle (Mobile) AdSense
Adsbot-GoogleGoogle AdsBot
SlurpYahoo!
bingbotMSNBot/bing
MSNBOTMobileMSN mobile

Die Gültigkeit einer Anweisung kann für mehrere Crawler definiert werden, beispielsweise:

Die Anweisung gilt für „Googlebot“, „Googlebot-Image“ und „Slurp“.

Sobald feststeht, für welche/n Crawler eine Anweisung adressiert ist, werden im nächsten Schritt die Ausschlüsse und Freigaben notiert. Eine Anweisung kann mehrere Ausschlüsse und Freigaben enthalten.

Die Disallow-Anweisung leitet ein Ausschluss-Kriterium ein. Der erste Buchstabe „D“ muss groß geschrieben sein:

Mit der Allow-Anweisung werden URL-Pfade in einem gesperrten Verzeichnis zur Verarbeitung freigegeben – Unterverzeichnisse, Dateien, etc. Der erste Buchstabe „A“ muss groß geschrieben sein. Achtung: Nicht alle Crawler interpretieren die Allow-Anweisung:

Das Kriterium einer Anweisung wird grundsätzlich hinter dem Doppelpunkt notiert, getrennt mit einem Leerzeichen. Pro Zeile darf nur ein Kriterium festgelegt werden.

Allgemeine Anweisungen

Kein Ausschluss für Crawler (full allow)

Darf eine Website ohne Einschränkungen von allen Crawlern verarbeiten werden, lautet die Anweisung:

Ausschluss aller Crawler (Full Disallow)

Darf eine Website von keinem Crawler verarbeitet werden, ist folgende Anweisung nötig:

Durch das Slash-Zeichen hinter dem „Disallow:“ werden alle Inhalte von der Verarbeitung ausgeschlossen. Dieser Datensatz ist allgemein unter „robots.txt Disallow all“ bekannt.

Ausgewähltes Verzeichnis und dessen Inhalt sperren

Soll ein ausgewähltes Verzeichnis und dessen Inhalte von der Verarbeitung durch Crawler ausgeschlossen werden, lautet die Anweisung:

In diesem Fall ist „verzeichnis-1“ inklusive aller Inhalte (Unterverzeichnisse, Dateien) für alle Crawler gesperrt. Das „*“ vor dem Verzeichnis drückt aus, dass die Anweisung auch gilt, wenn vor „/verzeichnis-1/“ ein Verzeichnis besteht, zum Beispiel: „/verzeichnis-0/verzeichnis-1/“

Der Slash hinter dem Verzeichnis ist wichtig. Wäre dieser nicht vorhanden (Disallow: */verzeichnis), würden alle URLs gesperrt werden, die „verzeichnis“ enthalten – Bilder, PDF-Dateien, etc.

Mehrere Verzeichnisse können nach folgendem Schema gesperrt werden:

Die Verzeichnisse „verzeichnis-1“, „verzeichnis-2“ und „verzeichnis-3“ sowie dessen Inhalte werden für alle Crawler gesperrt.

Nur ein ausgewähltes Verzeichnis sperren

Soll nur ein Verzeichnis und dessen Inhalte gesperrt werden aber nicht hierarchisch tieferliegende Verzeichnisse und Dateien, ist diese Anweisung hilfreich:

Das Zeichen „$“ kennzeichnet das Ende der URL.

Verzeichnis und dessen Inhalte in einem gesperrten Verzeichnis freigeben

Soll ein Verzeichnis und dessen Inhalte in einem gesperrten Verzeichnis zur Verarbeitung freigegeben werden, ist das durch folgende Syntax möglich:

Die Disallow-Anweisung sperrt die Verarbeitung von „verzeichnis-1“. Durch die Allow-Anweisung wird „verzeichnis-2“ und dessen Inhalt in „verzeichnis-1“ freigegeben. Alle anderen Verzeichnisse und Inhalte in „verzeichnis-1“ bleiben gesperrt.

Datei in einem Verzeichnis sperren

Die Datei „datei-1.jpg“ in „verzeichnis-1“ wird für alle Crawler gesperrt.

Datei in einem gesperrten Verzeichnis freigeben

Soll eine Datei in einem gesperrten Verzeichnis freigegeben werden, ist das durch diese Syntax möglich:

Die Datei „datei-1.jpg“ im gesperrten Verzeichnis „verzeichnis-1“ wird zur Verarbeitung für alle Crawler freigegeben.

Ausschluss von Dateitypen

Sollen bestimmte Dateitypen ausgeschlossen werden, ist folgende Syntax zielführend:

Der Stern definiert eine beliebige Zeichenfolge. Mit „.jpg“ wird der Dateityp festgelegt – in diesem Fall alle Dateien vom Typ JPG. Das Dollar-Zeichen sagt aus, dass nach dem Dateityp kein weiteres Zeichen folgen darf.

Die Anweisung bedeutet: Kein Crawler darf Dateien vom Typ JPG verarbeiten. Das betrifft alle JPG-Dateien einer Website.

Fortgeschrittene Anweisungen

Die folgenden Anweisungen werden nicht von allen Crawlern interpretiert. Ich definiere die folgenden Beispiele für den Googlebot. Wichtig ist, dass fortgeschrittene Anweisungen nicht mit anderen Regeln der Website kollidieren dürfen – beispielsweise mit Canonical Tags.

Get-Parameter ausschließen

Häufig erzeugen Parameter-URLs und Session-IDs internen Duplicate Content. Duplikate zu crawlen, würde die Crawlability unnötig verschlechtern. Deshalb ist es sinnvoll, sie von der Verarbeitung auszuschließen:

Der Googlebot darf keine URLs mit einem Fragezeichen verarbeiten.

Verzeichnisse sperren, die eine bestimmte Zeichenfolge enthalten

Unter Umständen kann es erforderlich sein, Verzeichnisse zu sperren, die eine bestimmte Zeichenfolge enthalten. Das ist mit folgender Syntax möglich:

Der Googlebot darf kein Verzeichnis verarbeiten, das mit der Zeichenfolge „privat“ beginnt. Der Stern ist ein Wildchar und kann individuell eingesetzt werden.

Crawl-delay für Slurp und bingbot

Für die beiden User-agents Slurp und bingbot kann ein Crawl-Delay in Sekunden festgelegt werden. Sinnvoll ist das, um die Serverlast durch Crawler zu verringern:

Der Slurp-Robot darf nur aller 60 Sekunden ein Dokument auslesen.

Die Einstellung sollte gut kalkuliert werden, weil die Anzahl verarbeitbarer Dokumente drastisch gesenkt und negativ optimiert werden kann. Ein Crawl-delay von 60 Sekunden würde maximal 1.440 Seiten pro Tag zulassen (60 Sekunden = 1 Minute; 24h x 60min = 1.440). Websites mit mehreren Tausend Dokumenten wären zu stark begrenzt.

robots.txt Sitemap

Google empfiehlt: Websites mit über 10.000 Seiten sollen eine XML Sitemap bereitstellen, um eine hohe Crawlability zu gewährleisten. Der folgende Eintrag teilt allen Crawlern die Adresse der XML Sitemap mit:

Stellt eine Website mehrere XML-Sitemaps bereit, ist es empfehlenswert alle Sitemaps zeilenweise zu notieren. URL-Pfade werden immer absolut angegeben. Die Sitemap-Angabe wird von Google, Ask, Bing, Yahoo interpretiert und verarbeitet.

robots.txt Generator

Im Internet gibt es zahlreiche Anbieter von robots.txt Generatoren. Für die Erstellung einer einfachen robots.txt sind diese Generatoren durchaus empfehlenswert. Werden jedoch fortgeschrittene Anweisungen erforderlich, kommt ein robots.txt Generator laut meiner Erfahrung schnell an seine Grenzen.

robots.txt testen

Zum testen und validieren einer robots.txt empfehle ich den robots.txt-Tester der Google Search Console. Dieser ist im Hauptmenü unter „Crawling“ zu finden. Damit lassen sich URL-Pfade individuell prüfen. Die Syntax einer robots.txt kann mit diesem Tool validiert werden.

Testen mit Screaming Frog

Mit dem beliebten SEO Spider Screaming Frog kann die robots.txt-Datei getestet werden. Mir gefällt gut, dass die bestehende robots.txt-Datei vom Webserver heruntergeladen und individuell konfiguriert werden kann. Das ist denkbar einfach: Sobald der Screaming Frog im Spider-Mode geöffnet ist, können unter „Configuration“ – „robots.txt“ Einstellungen für den Crawl vorgenommen werden. Unter „Custom“ verbirgt sich ein robots.txt Tester: Hier können verschiedene Anweisungen konfiguriert und getestet werden, bevor sie auf den Webserver übertragen werden.

robots.txt testen mit Screaming Frog
robots.txt testen mit Screaming Frog

Testen mit Search Console

Eine weitere Möglichkeit, die robots.txt zu testen, wäre der robots.txt-Tester in der Search Console. Dieser befindet sich unter „Crawling“ – „robots.txt-Tester“. Wie beim Screaming Frog können Anweisungen konfiguriert und getestet werden, bevor sie in die robots.txt-Datei auf dem Webserver kopiert werden.

robots.txt testen mit Google Search Console
robots.txt testen mit Google Search Console

Ich empfehle die Anpassungen der robots.txt-Anweisungen immer unverzüglich nach Aktualisierung anhand realer URLs zu testen. Das ist wichtig, um Fehlkonfigurationen zu enttarnen.

Schutz sensibler Daten mit .htaccess + .htpasswd

Manche Crawler halten sich nicht an das Robots Exclusion Standard-Protokoll und beachten die Anweisungen der robots.txt-Datei nicht. Wer sensibler Daten auf einer Domain ablegt, dem empfehle ich einen Serverseitigen Schutz vor unerwünschten Zugriffen.

Eine einfache und effektive Methode für Apache Webserver ist die Nutzung eines .htaccess Passwortschutzes mit .htpasswd Datei. Ein solcher Schutz lässt sich schnell und bequem mit kostenlosen Generatoren einrichten (hier oder hier). Voraussetzung ist ein FTP-Zugriff auf den Webserver.

Rufen Sie an
0351 31446588
Senden Sie eine E-Mail
info@indexlift.com

Indexlift ist bekannt aus
iBusiness
t3n
seo-united.de
suchradar
Internet World Business

Kommentare(3)

Komentar verfassen