Wie man eine robots.txt-Datei schreibt, die wirklich funktioniert

robots.txt ist eine der am meisten missverstandenen Dateien im Web. Erfahren Sie die korrekte Syntax, haufige Fehler, was Suchmaschinen tatsachlich respektieren und was nicht.

Was robots.txt tut (und nicht tut)

robots.txt ist eine Textdatei, die im Stammverzeichnis Ihrer Website platziert wird (https://example.com/robots.txt) und Such-Engine-Crawlern mitteilt, welche Seiten oder Verzeichnisse sie besuchen sollen oder nicht.

Es ist ein Hoflichkeitsprotokoll, keine Sicherheitsmassnahme. Wesentliche Einschrankungen:

  • robots.txt gilt nur fur Crawler, die es respektieren (alle grossen Suchmaschinen tun es; bosarige Scraper nicht)
  • Das Sperren einer URL in robots.txt verhindert nicht, dass Google sie indexiert, wenn andere Seiten darauf verlinken
  • Es kann keine privaten Inhalte schutzen, verwenden Sie dafur Authentifizierung
  • Syntaxfehler brechen Regeln still; ein falsch gesetztes Zeichen kann Ihre gesamte Website blockieren

Die grundlegende Syntax

Eine robots.txt-Datei besteht aus Datensatzen, jeder spezifiziert einen User-Agent und Direktiven:

User-agent: *
Disallow: /private/
Allow: /public/

User-agent: Googlebot
Disallow: /staging/

Sitemap: https://example.com/sitemap.xml

User-agent:, welcher Crawler die folgenden Direktiven betrifft. * bedeutet alle Crawler.

Disallow:, Pfade, die der Crawler nicht besuchen soll. Ein leeres Disallow: bedeutet "nichts sperren" (alles erlauben).

Allow:, erlaubt ausdrucklich einen Pfad, der sonst durch eine breitere Disallow:-Regel blockiert wurde.

Sitemap:, optional, teilt Crawlern mit, wo Ihre XML-Sitemap zu finden ist.

Wichtige Regeln

Pfadabgleich ist prasfix-basiert

Disallow: /private/ blockiert jede URL, die mit /private/ beginnt, einschliesslich /private/seite.html, /private/bilder/ usw.

Disallow: /seite.html blockiert nur diesen genauen Pfad.

Disallow: / blockiert die gesamte Website. Das ist korrekte Syntax zum Blockieren aller Crawler, aber gilt fur alles.

Platzhalter

* in einem Disallow:-Pfad stimmt mit jeder Zeichenfolge uberein:

  • Disallow: /*.pdf$, blockiert alle PDFs ($ verankert das Ende der URL)
  • Disallow: /search?, blockiert alle Suchergebnis-URLs

Haufige Fehler

CSS und JavaScript blockieren

Disallow: /assets/

Wenn Ihre CSS- und JavaScript-Dateien in /assets/ liegen, verhindert deren Blockierung, dass Googlebot Ihre Seite korrekt rendert.

Disallow: mit noindex verwechseln

Disallow: stoppt das Crawlen. noindex (in einem HTTP-Header oder Meta-Tag) stoppt die Indexierung. Das sind verschiedene Dinge:

  • Eine durch robots.txt gesperrte Seite kann aufgrund von Signalen anderer Seiten trotzdem indexiert werden
  • Um sowohl Crawlen als auch Indexierung zu verhindern: noindex verwenden (Crawlen nicht sperren, sonst kann Google die noindex-Direktive nicht sehen)
  • Um die Indexierung einer crawlbaren Seite zu verhindern: <meta name="robots" content="noindex"> zur Seite hinzufugen

Leeres Disallow = Alles erlauben

User-agent: *
Disallow:

Das bedeutet "nichts sperren", es erlaubt allen Crawlern den Zugriff auf alles.

Gros-Klein-Schreibung

URLs in robots.txt unterscheiden Gros-/Kleinschreibung. Disallow: /Privat/ sperrt nicht /privat/.

Eine minimale korrekte robots.txt

Fur eine Standard-Website ohne zu versteckende Seiten:

User-agent: *
Disallow:

Sitemap: https://example.com/sitemap.xml

Das erlaubt ausdrucklich alle Crawler und weist sie auf Ihre Sitemap hin.

robots.txt validieren

Verwenden Sie den robots.txt-Tester der Google Search Console zur Validierung Ihrer Datei. Der robots.txt-Generator auf dieser Seite erstellt eine gultige robots.txt uber eine Formularoberflache.

Kurz zusammengefasst

robots.txt verwendet User-agent:, Disallow: und Allow:-Direktiven, um das Crawler-Verhalten zu leiten (nicht zu erzwingen). Haufige Fehler: Assets blockieren, Disallow mit noindex verwechseln und Platzhalterpfade falsch verwenden. Immer vor dem Deployment validieren, ein einzelner Syntaxfehler kann versehentlich Ihre gesamte Website vom Crawlen ausschliessen.