webtrajans
de

robots.txt erstellen: Syntax, Beispiele und die häufigsten Fehler

Die robots.txt sagt Crawlern, welche Bereiche Ihrer Website sie nicht abrufen sollen. Eine einzige falsche Zeile kann aber die ganze Seite aus der Suche verbannen – deshalb lohnt sich ein genauer Blick.

Aktualisiert: 5 Min. Lesezeit

Die robots.txt ist eine einfache Textdatei im Hauptverzeichnis Ihrer Website. Sie folgt dem Robots Exclusion Protocol, das seit 2022 als RFC 9309 standardisiert ist, und teilt Suchmaschinen-Crawlern mit, welche Pfade sie nicht abrufen sollen. Seriöse Crawler wie Googlebot und Bingbot halten sich daran – sie ist aber kein Zugriffsschutz: Jeder kann die Datei lesen, und böswillige Bots ignorieren sie.

Aufbau und Syntax

Eine robots.txt besteht aus Gruppen. Jede Gruppe beginnt mit einer oder mehreren User-agent-Zeilen, gefolgt von Regeln:

User-agent: *
Disallow: /intern/
Allow: /intern/presse/

Sitemap: https://www.beispiel.de/sitemap.xml
Anweisung Bedeutung
User-agent Für welchen Crawler die Gruppe gilt (* = alle)
Disallow Pfad, der nicht gecrawlt werden soll
Allow Ausnahme innerhalb eines gesperrten Pfads
Sitemap Absolute URL einer XML-Sitemap (gilt global)
* Platzhalter für beliebige Zeichen
$ Ende der URL

Wichtige Regeln:

  • Pfade sind case-sensitive: /Intern/ ist etwas anderes als /intern/.
  • Bei widersprüchlichen Regeln gewinnt bei Google die spezifischere (längere) Regel; bei Gleichstand gewinnt Allow.
  • Ein Crawler folgt nur der Gruppe, die am besten zu ihm passt. Hat Googlebot eine eigene Gruppe, ignoriert er die *-Gruppe komplett.
  • Google verarbeitet nur die ersten 500 KiB der Datei.
  • Crawl-delay wird von Google ignoriert; Bing berücksichtigt es.
  • noindex in der robots.txt wird seit 2019 von Google nicht mehr unterstützt.

Beispiele aus der Praxis

WordPress

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/

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

Sperren Sie nicht /wp-content/ oder /wp-includes/: Dort liegen CSS, JavaScript und Bilder, die Google zum Rendern der Seite braucht.

Onlineshop

User-agent: *
Disallow: /warenkorb/
Disallow: /kasse/
Disallow: /mein-konto/
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*&sessionid=

Sitemap: https://www.beispiel-shop.de/sitemap_index.xml

Filter- und Sortierparameter erzeugen schnell Tausende nahezu identischer URLs. Diese zu sperren spart Crawl-Budget, damit Google seine Zeit für Produkte und Kategorien nutzt.

KI-Crawler ausschließen

User-agent: GPTBot
Disallow: /

User-agent: Google-Extended
Disallow: /

Google-Extended steuert, ob Inhalte für das Training von Googles KI-Modellen genutzt werden dürfen; die normale Google-Suche bleibt davon unberührt.

Testumgebung komplett sperren

User-agent: *
Disallow: /

Sicherer ist hier allerdings ein Passwortschutz, denn auch gesperrte URLs können im Index landen, wenn sie verlinkt sind.

Eine passende Datei für Ihre Website stellen Sie mit dem robots.txt-Generator zusammen.

robots.txt vs. noindex

Das ist der häufigste Denkfehler: Disallow ≠ nicht indexieren.

Ziel Richtiges Mittel
Crawler soll Bereich nicht abrufen (Crawl-Budget, Serverlast) Disallow in robots.txt
Seite soll nicht in den Suchergebnissen erscheinen <meta name="robots" content="noindex"> oder Header X-Robots-Tag: noindex
Inhalt soll niemand sehen Passwortschutz

Wichtig: Damit Google ein noindex überhaupt sieht, darf die Seite nicht per robots.txt gesperrt sein. Wer beides kombiniert, erreicht das Gegenteil: Google kann das noindex nicht lesen, und die URL bleibt unter Umständen im Index – mit dem Hinweis, dass keine Beschreibung verfügbar ist.

Häufige Fehler

  • Disallow: / aus der Entwicklungsphase bleibt nach dem Livegang stehen – die gesamte Website verschwindet nach und nach aus Google. WordPress setzt bei „Suchmaschinen davon abhalten …“ ähnliche Signale.
  • CSS- und JS-Ordner gesperrt, sodass Google die Seite nicht korrekt rendern kann.
  • Falscher Ort: /seo/robots.txt statt im Stammverzeichnis.
  • Relative Sitemap-URL statt absoluter Adresse.
  • Server liefert 5xx für die robots.txt: Google crawlt dann vorsichtshalber eine Zeit lang gar nicht.
  • Tippfehler wie Dissallow oder fehlender Doppelpunkt – solche Zeilen werden ignoriert.
  • Groß-/Kleinschreibung im Pfad nicht beachtet.

Crawl-Budget: Wann sich Sperren lohnen

Für eine Website mit 50 Seiten spielt Crawl-Budget praktisch keine Rolle – Google schafft das problemlos. Relevant wird es bei großen Shops und Portalen mit Zehntausenden URLs. Ein Rechenbeispiel: Ein Shop hat 2.000 Produkte in 50 Kategorien. Jede Kategorie lässt sich nach 4 Kriterien sortieren und nach 10 Filtern eingrenzen. Schon einfache Kombinationen erzeugen 50 × 4 × 10 = 2.000 zusätzliche Kategorie-URLs, Mehrfachfilter ein Vielfaches davon. Ohne Sperre verbringt Googlebot viel Zeit mit nahezu identischen Listen, statt neue Produkte zu entdecken.

Sinnvoll ist dann eine Kombination: Filter-Parameter per robots.txt ausschließen, kanonische Kategorie-URLs per Canonical-Tag festlegen und nur die kanonischen URLs in die Sitemap aufnehmen.

Subdomains, Protokolle und Sonderfälle

Jede Host-Adresse braucht ihre eigene Datei: https://www.beispiel.de/robots.txt gilt nicht für https://shop.beispiel.de oder https://blog.beispiel.de. Leitet die HTTP-Version per 301 auf HTTPS weiter, folgt Google der Weiterleitung. Liefert der Server für die robots.txt einen 404-Fehler, geht Google davon aus, dass alles erlaubt ist. Bei Serverfehlern (5xx) über längere Zeit stellt Google das Crawlen dagegen vorsichtshalber ein. Achten Sie auch darauf, dass ein Bot-Schutz oder eine Firewall die robots.txt nicht für Crawler blockiert.

Testen und überwachen

  1. Rufen Sie https://ihre-domain.de/robots.txt direkt im Browser auf.
  2. Prüfen Sie einzelne URLs mit dem robots.txt-Tester: Ist die Seite für Googlebot erlaubt oder gesperrt, und welche Regel greift?
  3. In der Search Console finden Sie unter Einstellungen den robots.txt-Bericht mit Abrufstatus und Fehlern.
  4. Nach jedem Relaunch oder Theme-Wechsel erneut prüfen.

Wie die Sitemap mit der robots.txt zusammenspielt, erklärt der Ratgeber XML-Sitemap erstellen.

Tipp: Bewahren Sie bei jeder Änderung eine Kopie der vorherigen Version auf. Fällt nach einem Update der Traffic plötzlich ab, können Sie so schnell vergleichen und zurückkehren.

Checkliste

  • Datei liegt unter /robots.txt, liefert Status 200 und ist kleiner als 500 KiB.
  • Kein versehentliches Disallow: /.
  • CSS, JavaScript und Bilder sind nicht gesperrt.
  • Interne Suche, Warenkorb, Konto und Filterparameter ausgeschlossen.
  • Sitemap mit absoluter URL angegeben.
  • Seiten, die nicht in den Index sollen, nutzen noindex statt Disallow.

Häufige Fragen

Verhindert robots.txt, dass eine Seite in Google erscheint?

Nein. Disallow verhindert nur das Crawlen. Wird die URL anderswo verlinkt, kann sie trotzdem ohne Inhalt im Index auftauchen. Zum Ausschließen aus dem Index nutzen Sie noindex – und die Seite darf dann nicht gesperrt sein.

Wo muss die robots.txt liegen?

Im Stammverzeichnis der jeweiligen Host-Adresse, also https://www.beispiel.de/robots.txt. Jede Subdomain und jedes Protokoll braucht eine eigene Datei.

Brauche ich überhaupt eine robots.txt?

Nicht zwingend. Fehlt sie (Status 404), dürfen Crawler alles abrufen. Sinnvoll ist sie, um unnötige Bereiche wie interne Suche oder Filter-URLs auszuschließen und die Sitemap anzugeben.

Kann ich KI-Crawler mit robots.txt aussperren?

Viele KI-Anbieter respektieren eigene User-Agents wie GPTBot oder Google-Extended in der robots.txt. Rechtlich bindend ist das nicht, und nicht jeder Crawler hält sich daran.

Weitere Ratgeber