Steuerung der Webcrawler: Robots.txt und Robots-Meta-Tag

Header-Bild:ChatGPT

Kurzfassung

Webcrawler entscheiden, welche Inhalte einer Website gecrawlt, indexiert und in Suchmaschinen angezeigt werden. Mit der robots.txt-Datei und dem Robots-Meta-Tag lassen sich diese Prozesse gezielt steuern.
Während die robots.txt den Zugriff auf ganze Verzeichnisse oder Dateien regelt, beeinflusst der Robots-Meta-Tag die Indexierung einzelner Seiten. Richtig eingesetzt helfen beide Mechanismen dabei, Crawl-Budget zu sparen, sensible Inhalte auszuschließen und die Sichtbarkeit relevanter Seiten zu verbessern.
Diese Seite erklärt die Unterschiede, Einsatzszenarien und typischen Fehler bei der Steuerung von Webcrawlern.

Inhalt:

Ein Crawler (oder Bot, Spider) ist ein automatisch laufendes Programm zum Durchsuchen von Web-Dokumenten. Manchmal ist es notwendig, bestimmte Seiten oder Verzeichnisse für den Google-Index oder/und andere Suchmaschinen sowie für bestimmte Crawler zu sperren. Dafür wurde das Protokoll  Robots Exclusion Standard festgelegt, an das sich die meisten Crawler halten -ausgenommen  lieder sogenannte Bad-Bots. Notiert werden solche Anweisungen in der robots.txt-Datei.

Für den schnellen Überblick lohnt es sich, das folgende Youtube-Tutorial anzuschauen:

 


(Video mit erweitertem Datenschutzmodus)

Was ist die robots.txt-Datei?

Bei der Robots.txt handelt es sich um eine Textdatei mit Anweisungen , wie sich Web-Crawler bezüglich deine Website verhalten sollen. Über die Steuerungsbefehle kann man eine ganze Domain oder einzelne Verzeichnisse und URLs für alle oder bestimmte Crawler sperren. Das heißt, diese Bereiche können nicht besucht und für den Index ausgelesen werden. Andersherum kann man auch spezielle URLs explizit freigeben. Wichtig zu wissen ist:

  • Damit die Spider auf direktem Weg zur Robots-Datei finden, muss diese im Root-Verzeichnis abgelegt sein
  • Es darf nur eine Robots.txt existieren

Aufgerufen kann die Datei immer so:

  • Domain: https://beispiel-domain.de/robots.txt
  • Sub-Domain: https://shop.beispiel-domain.de/robots.txt

Struktur und Syntax von Anweisungen

Jede Zeile wird in zwei Bereiche aufgeteilt, die man einen Doppelpunkt trennt. Die erste Zeile beschreibt den User-Agent (Webcrawler), für den die darauf folgenden Regeln gelten sollen. Es können beliebig viele solcher Anweisungsblöcke geschrieben werden. Dazu ein paar Beispiel-Anweisungen mit Erläuterungen:

Web-Crawler definieren: User-agent

User-agent: *                                     # alle Crawler 

User-agent: Googlebot                    # Google 

User-agent: Googlebot-Image      # Bilder-Crawler von Google

User-agent: webcopy                     #nur der hier genannte Massen-Downloader ist angesprochen

Crawler abweisen: Disallow

Disallow: /                                        # die gesamte Website ist gesperrt

Disallow: /test/geheim.html       #im Verzeichnis „test“ ist nur die Datei „geheim.html“ gesperrt

Crawler einladen: Allow

Es gibt auch die Möglichkeit, innerhalb eines gesperrten Verzeichnisses, einzelne URL per Allow freizugeben. Wie bereits erwähnt, scannt der  Crawler von oben nach unten. Wenn du also in einem gesperrten Verzeichnis einzelne Dateien freigegeben willst, muss die Allow-Anweisung zuvor notiert werden

Allow: /test/nicht-geheim.html  # die Datei nicht-geheim.html darf gelesen werden

Disallow: /test/                               #das Verzeichnis „test“ ist komplett gesperrt

XML-Sitemap hinterlegen

Am Ende der Robots-Datei, d.h. unterhalb der oben genannten Anweisungen kannst du Suchmaschinen gezielt auf die Bereiche deiner Website leiten, die gecrawlt und indexiert werde sollen. Dort gibst du die URL deiner XML-Sitemap an. Du kannst auch – pro Zeile – mehrere Sitemaps untereinander listen.

Im Gegensatz zur Robots-Datei kannst du eine oder mehrere Sitemaps (Html, Images, News, unterschiedliche Sprachen) im Wurzel- oder einem anderen beliebigen Verzeichnis hinterlegen. Ebenfalls können Sitemaps beliebig benannt werden, sie müssen nur mit .xml enden.

Sitemap: https://www.beispiel-domain.de/sitemap.xml

oder/und

Sitemap: https://www.beispiel-domain.de/sitemaps/sitemap.xml


Weitere Infos findest du hier:


Doch nicht alles geht mit einer robots.txt

1) Sicherer Schutz vor Indexierung und Entfernung aus dem Google-Index

Mit der Robots.txt lassen sich auch keine URLs aus dem Google-Index entfernen, dafür verwendet man besser folgende Methode – die übrigens auch explizit von Google empfohlen wird.

Lösung: Sperren per Meta-Tag Robots

Gezielt kann man einzelne HTML-Dokumente über den „Robots-Meta-Tag“ (im Quelltext in der HTML-Datei) sperren.

In WordPress geht das ganz einfach mit den gängigen SEO-Plugins. Ich verwende dafür das Plugin Yoast SEO  in der kostenlosen Version. Die Einstellungsmöglichkeiten findest im Bearbeitungsmodus/Yoast unter „Erweitert„.

Robots Einstellungen in Yoast SEO

Im Quelltext würde das Ergebnis folgendermaßen aussehen:

<html><head>
<meta name="robots" content="noindex, follow" />
(…)
</head>
<body>(…)</body>
</html>

Tipp: Wenn du eine URL schnell aus dem Index entfernen willst, schreibe die Zeile in den Header und lasse die URL anschließend in der Search Console crawlen.

 2) Kein sicherer Schutz vor Crawler-Zugriffen

Wenn ein 100%iger Schutz gewollt ist, sollte man immer einen Passwortschutz einrichten. Das geht im Adminbereich deines Hosters oder per htaccess/htpasswd-Dateien.

Lösung: Serverseitiger Passwortschutz

Orientiere dich bitte am folgenden Beispielcode für die htaccess-Datei…

AuthName "/geheimes-verzeichnis"
AuthType Basic
AuthUserFile /.htpasswd
require valid-user

…und das verschlüsselte Passwort in der htpasswd

mein-name:vWJXU5tFEN0dQ

Den Code kannst du online kostenlos generieren auf homepage-kosten.de.

Eins für (fast) alles: das X-Robots-Tag

Als Alternative zum Meta-Tag kann man die Anweisungen im HTTP-Header setzen. Das Tag funktioniert auch für Nicht-HTML-Dateien wie PDFs, Bilder, Videos, Word-Dokumente, ZIPs etc., eben solche, wo man keinen <head>-Bereich einfügen kann.

Beispiel zur Verhinderung der Indexierung eine Seite:

HTTP/1.1 200 OKDate: Tue, 25 May 2024 21:42:43 GMTX-Robots-Tag: noindex

Häufige Fragen zur Steuerung von Webcrawlern

Was bedeutet Webcrawler-Steuerung?

Unter Webcrawler-Steuerung versteht man Maßnahmen, mit denen Website-Betreiber festlegen, welche Inhalte von Suchmaschinen gecrawlt und indexiert werden. Dafür werden hauptsächlich die robots.txt und der Robots-Meta-Tag eingesetzt.

Was ist eine robots.txt?

Die robots.txt ist eine Textdatei im Root-Verzeichnis einer Website. Sie informiert Suchmaschinen darüber, welche Bereiche gecrawlt werden dürfen und welche ausgeschlossen sind. Die robots.txt steuert den Zugriff, nicht direkt die Indexierung.

Was ist der Robots-Meta-Tag?

Der Robots-Meta-Tag ist ein HTML-Element im Head-Bereich einer Seite. Er gibt Suchmaschinen Anweisungen zur Indexierung, etwa:

  • noindex – Seite nicht indexieren
  • nofollow – Links nicht folgen

Er eignet sich besonders für die Steuerung einzelner Seiten.

Was ist der Unterschied zwischen robots.txt und noindex?

  • robots.txt verhindert das Crawlen einer Seite
  • noindex verhindert die Aufnahme in den Suchindex

Für das Entfernen von Seiten aus den Suchergebnissen ist noindex die empfohlene Lösung.

Können gesperrte Seiten trotzdem indexiert werden?

Ja. Wenn eine URL in der robots.txt blockiert ist, kann sie dennoch indexiert werden, sofern externe Links darauf verweisen. In diesem Fall erscheint die Seite ohne Inhalt im Index.

Wann sollte ich robots.txt einsetzen?

Die robots.txt eignet sich besonders für:

  • technische Verzeichnisse
  • Filter- und Suchparameter
  • große Websites mit begrenztem Crawl-Budget

Wann ist der Robots-Meta-Tag sinnvoller?

Der Robots-Meta-Tag ist ideal für:

  • einzelne Seiten ohne SEO-Mehrwert
  • Duplicate Content
  • interne Hilfs- oder Testseiten

Welche Suchmaschinen beachten diese Regeln?

Seriöse Suchmaschinen wie Google oder Bing halten sich an robots.txt und Meta-Tags. Die Regeln sind jedoch technisch nicht erzwingbar und sollten nicht als Sicherheitsmaßnahme genutzt werden.

Welche SEO-Fehler treten häufig auf?

Häufige Fehler bei der Webcrawler-Steuerung sind:

  • wichtige Seiten versehentlich auf noindex setzen
  • robots.txt blockiert Seiten mit gesetztem Meta-Tag
  • Änderungen ohne Test oder Monitoring

Wie überprüfe ich meine Einstellungen?

Zur Kontrolle eignen sich:

  • Test der robots.txt (in der Search Console, wenn du eingeloggt bist)
  • URL-Prüfung in der Search Console
  • regelmäßige Crawls mit SEO-Analyse-Tools