Robots.txt: Regeln richtig definieren

Manchmal möchte man nicht, dass alle Inhalte der eigenen Website in Suchmaschinen auffindbar sind. In manchen Fällen werden versehentlich auch Bereiche indexiert, die im Suchmaschinen-Index gar nichts verloren haben. An dieser Stelle kommt die Robots.txt-Datei ins Spiel. Mit ihr kann man bestimmte Bereiche einer Website von der Indexierung ausschließen.

Leider berücksichtigen nicht alle Crawler und Bots die Regeln und Anweisungen, die man in dieser Datei hinterlegt. Große Suchmaschinen wie Google, Bing oder Yahoo halten sich aber normalerweise daran.

Wer Robots.txt-resistente Crawler und Bots aussperren möchte, kann dies mit serverseitigen Maßnahmen erreichen, z. B. mit Hilfe der .htaccess-Datei.

Hinweis: Seiten gegenüber Suchmaschinen von der Indexierung ausschließen ist nicht gleichbedeutend mit einer generellen Zugangssperre für alle Nutzer. Hier ist ein serverseitiger Verzeichnisschutz das Mittel der Wahl.

Aber nun zurück zum eigentlichen Thema:

Bei der Robots.txt-Datei handelt es sich um eine gewöhnliche Textdatei, in die man bestimmte Anweisungen schreibt. Die Datei muss im Hauptordner einer Website abgelegt und über das Web aufrufbar sein. Ein Beispiel:

https://www.example.com/robots.txt

Die Anweisungen müssen nach einem gewissen Schema aufgebaut sein: Zuerst „spricht“ man einen bestimmten Bot an und teilt ihm danach mit, welche Seiten oder Bereiche der Website für ihn tabu sind.

Nehmen wir an, Suchmaschinen haben auf Eurer Website den Ordner /Admin/ indexiert und Ihr möchtet ihn aus den Suchergebnissen entfernen. Mit den folgenden Anweisungen untersagt Ihr dem Googlebot, diesen Ordner zu crawlen:

User-Agent: Googlebot
Disallow: /Admin/

Da Google bekanntlich nicht die einzige Suchmaschine ist, solltet Ihr diese Regel direkt für alle Crawler und Bots gelten lassen. Ersetzt hierzu einfach die Kennung „Googlebot“ durch einen Stern (*):

User-Agent: *
Disallow: /Admin/

Wenn Ihr Anweisungen in Eure Robots.txt-Datei einfügt, solltet Ihr sicherstellen, dass Ihr keine Dateien sperrt, die für die korrekte Darstellung Eurer Seiten benötigt werden – wie CSS- und JavaScript-Dateien. Beim normalen Anzeigen einer Seite im Webbrowser fällt das nicht auf, weil die Robots.txt-Datei in diesem Fall keine Rolle spielt. Wenn Google, Bing & Co. auf Euren Seiten vorbeischauen und das CSS-Layout in einem Ordner liegt, welchen Ihr über die Robots.txt gesperrt habt, können die Crawler nicht darauf zugreifen und nicht erkennen, wie das Layout Eurer Seiten aussieht. Das kann im schlimmsten Fall Rankingverluste nach sich ziehen.

In der Google Search Console könnt Ihr testen, ob dies der Fall ist. Wechselt hierzu in die alte Version der Search Console und ruft in der linken Navigationsleiste unter „Crawling” den Punkt „Abruf wie durch Google“ auf. Gebt die Adresse zu einer Seite an, die Ihr testen möchtet und klickt dann auf „Abrufen und Rendern“. Sobald die Seite gerendert wurde, klickt auf ihren Namen in der Liste. Nun seht Ihr, wie der Googlebot diese Seite sieht. Als Vergleich findet Ihr daneben die Ansicht, wie ein Besucher dieselbe Seite im Webbrowser sieht. Kleinere Unterschiede kommen vor, aber wenn der Googlebot das Layout alles andere als korrekt erkennt, solltet Ihr dieses Problem unbedingt beheben. In den Bing Webmaster Tools gibt es eine ähnliche Funktion, die den Namen „Bingbot-Abruf“ trägt.

Wenn CSS- oder JavaScript-Dateien in einem Ordner liegen, der über die Robots.txt-Datei ausgeschlossen wird, solltet Ihr die Anweisung zum Blockieren dieses Ordners entfernen. Wenn der Ordner berechtigterweise ausgeschlossen wird, Ihr die besagten Dateien aber davon ausnehmen möchtet, könnt Ihr eine Anweisung hinzufügen, mit der das Crawling dieser Dateien explizit erlaubt wird. Dazu setzt Ihr unterhalb Eurer „Disallow“-Anweisungen einfach „Allow“-Anweisungen, mit denen Ihr nach demselben Schema den Zugriff auf bestimmte Dateien und Ordner erlauben könnt.

Ein Beispiel:

Stellt Euch vor, auf Eurer Website befindet sich ein Ordner mit dem Namen „/Layout/“, in welchem viele einzelne Designelemente Eurer Website enthalten sind, die auf jeder Seite dynamisch eingebunden werden. Dass diese „Einzelteile“ von Suchmaschinen indexiert werden, macht natürlich keinen Sinn, deshalb habt Ihr diesen Ordner in der Robots.txt gesperrt.

Wenn nun aber auch Dateien mit dem CSS-Layouts in diesem Ordner liegen, können Google & Co. darauf ebenfalls nicht mehr zugreifen. Stellt Euch vor, es handelt sich um zwei CSS-Dateien mit den Namen „default.css“ und „extra.css“.

In diesem Fall macht Ihr Folgendes:

User-Agent: *
Disallow: /layout/
Allow: /layout/default.css
Allow: /layout/extra.css

Wer gerne ins Detail geht, kann für bestimmte Suchmaschinen individuelle Regeln festlegen:

User-Agent: *
Disallow: /layout/

User-Agent: Googlebot
Allow: /layout/default.css
Allow: /layout/extra.css

User-Agent: Bingbot
Disallow: /Admin/
Allow: /layout/default.css
Allow: /layout/extra.css

Auch kann man bei der Nennung von Datei- und Ordnernamen Wildcards verwenden (z. B.: „/*.css“), aber Vorsicht: Längst nicht alle Crawler interpretieren das richtig.

Wer sich ausführlich mit den Regeln für Robots.txt-Dateien beschäftigen möchte, findet eine recht gute Anleitung bei selfhtml.

3 KOMMENTARE

  1. Mit der robots.txt verhindert man das Crawling der Site, jedoch nicht die Indexierung. Dies sind 2 paar Schuhe.
    Um eine Indexierung zu verhindern bietet sich die meta name=”robots” an.

    Also robots.txt –> Crawling Steuerung
    meta name=”robots” –> Index Steuerung

    Hierzu auch noch ein altes Video von Matt Cutts
    https://www.youtube.com/watch?v=KBdEwpRQRD0

  2. Hallo, eine Indexierung setzt einen Crawl voraus. Ohne Crawl ist auch keine Indexierung möglich. Es gibt Bots, die – wenn ein Bereich in der Robots.txt gesperrt ist – diesen trotzdem Crawlen, aber von einer Indexierung absehen.

  3. Ist für eine Indexierung nicht die XML-Sitemap angedacht? Hier werden ja alle relevanten URLs aufgeführt, die ich im Index haben möchte. Außerdem können Bereiche, die durch die robots.txt gesperrt wurden, trotzdem indexiert werden (Backlinks?).
    Wie Herr Feige schon sagt, mit der robots.txt steuert man eher das Crawling – Stichwort Crawling Budget.

    LG
    Hakan Eren

Hinterlasse eine Antwort