robots.txt erstellen und optimieren

Für viele Website-Betreiber sind gute Suchmaschinen-Rankings ein wichtiges Ziel, weil Suchmaschinen starke Traffic-Lieferanten sind. Leider wird die technische Suchmaschinenoptimierung (SEO) oft vernachlässigt. Eine stiefmütterlich behandelte doch sehr mächtige Optimierungsmaßnahme ist die Feinjustierung der Crawlability mittels robots.txt-Datei. In diesem Ratgeber erkläre ich Dir, wie Du die Website-Crawlability mittels robots.txt-Anweisungen optimierst – keine Programmierkenntnisse erforderlich.

News & Updates

20 April 2016
'

20.04.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
'

02.12.2015

John Mueller 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
'

21.08.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 (auch: Crawler, Spider, Robots, Agents) 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 Crawler die robots.txt vor der Verarbeitung des ersten Dokuments eines Hosts 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 Websites empfehlenswert. Wird keine robots.txt bereitgestellt, darf die Domain von allen Crawlern verarbeitet werden.

(Nicht selten ist folgender Hinweis in den Treffern von Suchmaschinen-Ergebnissen (Google) zu finden: „Aufgrund der robots.txt dieser Website ist keine Beschreibung für dieses Ergebnis verfügbar.“ Hierbei handelt es sich nicht zwingend um einen SEO-Fehler. Gelangt nämlich ein Crawler durch einen Backlink von einer externen Domain auf ein Dokument das via robots.txt gesperrt ist, wird es höchst wahrscheinlich trotzdem indexiert. Durch das Verbot der robots.txt wird statt der Meta Description ein Hinweis angezeigt, in dem Google auch auf seine Hilfeseite verweist.)

Wozu dient die robots.txt?

Mit der robots.txt legt man fest, welche Website- oder Shop-Inhalte nicht gecrawlt werden dürfen. Einerseits um private Daten zu schützen, andererseits um die Crawlability zu optimieren. Für Suchmaschinenoptimierer ist die robots.txt ein mächtiges Instrument zur schnellen Optimierung der Crawlability. Beispielsweise Duplikate, die Suchmaschinen nicht verarbeiten sollen oder Dokumente, die zwar für Besucher aber für Suchmaschinen keine Mehrwerte bieten, können durch Anweisungen in der robots.txt ausgeschlossen werden.

Crawlability?

Suchmaschinen bewerten Domains kontinuierlich hinsichtlich ihrer Ranking-Relevanz. 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. Große Websites sollten gewährleisten, dass wichtige Teile der Website uneingeschränkt gecrawlt werden dürfen.

Die robots.txt ist kein probates Mittel, um Inhalte vor der Indexierung zu schützen. Sie dient dem Zweck, die Crawlability aus Suchmaschinen-Perspektive zu optimieren.

(Möchtest Du dafür sorgen, dass Inhalte von Suchmaschinen nicht indexiert werden, empfehle ich die richtige Verwendung des Robots Meta Tag für HTML-Seiten. Bedenke jedoch, dass es bis zu mehrere Wochen dauern kann, bis indexierte Seiten deindexiert sind.)

Wo befindet sich die robots.txt?

Die robots.txt wird 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.

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 neue Verzeichnisse erzeugt werden, deren Inhalte von Suchmaschinen-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 und Kommentare. Bei der URL wird 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

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 Robots beachtet werden müssen. Der Stern ist ein Wildchar – ein Platzhalter, der in diesem Fall für alle Robots gilt.

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 sind:

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 festgelegt. 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, getrennt mit einem Leerzeichen, notiert. Pro Zeile darf nur ein Kriterium festgelegt werden.

Allgemeine Anweisungen

Kein Ausschluss für Crawler (full allow)

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

Ausschluss aller Crawler (Full Disallow)

Darf eine Domain von keinem Crawler verarbeitet werden, ist folgende Anweisung erforderlich:

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 deren Inhalt sperren

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

In diesem Fall ist „verzeichnis“ inkl. aller Inhalte (Unterverzeichnisse, Dateien) für alle Crawler gesperrt.

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

Mehrere Verzeichnisse können nach folgendem Schema gesperrt werden:

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

Nur ein ausgewähltes Verzeichnis sperren

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

Das Zeichen „$“ kennzeichnet das Ende der URL.

Verzeichnis und deren Inhalt in einem gesperrten Verzeichnis freigeben

Soll ein Verzeichnis und deren Inhalt in einem gesperrten Verzeichnis freigegeben werden, ist das durch folgende Syntax möglich:

Die Disallow-Anweisung sperrt das Crawling von „verzeichnis-1“. Durch die Allow-Anweisung wird „verzeichnis-2“ und deren 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 folgende 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 und indexieren. Das betrifft alle JPG-Dateien einer Website, weil kein Verzeichnis angegeben ist.

Fortgeschrittene Anweisungen

Die folgenden Anweisungen werden nicht von allen Crawlern interpretiert – laut meinen Erfahrungen jedoch von Google. Ich definiere meine folgenden Beispiele für den Googlebot. Wichtig ist, dass fortgeschrittene Anweisungen nicht mit anderen Regeln der Website kollidieren dürfen – beispielsweise mit Canonical Tags. Deshalb empfehle ich fortgeschrittene Anweisungen von erfahrenen SEOs zu erstellen und zu testen.

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 Suchmaschinen-Crawlern mit, wo sich die Sitemap befindet:

Stellt eine Website mehrere XML-Sitemaps bereit, ist es empfehlenswert alle Sitemaps zeilenweise zu dokumentieren. 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 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.

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 sensitiver Daten mit .htaccess + .htpasswd

Manche Crawler halten sich nicht an das Robots Exclusion Standard-Protokoll und beachten die Anweisungen der robots.txt nicht. Wer sensitive 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 Verwendung 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