Robots.txt richtig einsetzen

Crawling gezielt steuern, wichtige Ressourcen freigeben und Indexierungsfehler vermeiden

Was ist eine robots.txt?

Die Datei robots.txt teilt Suchmaschinen-Crawlern mit, welche Bereiche einer Website sie abrufen dürfen. Sie liegt im Stammverzeichnis eines Hosts und wird vor dem Crawling anderer URLs abgerufen. Richtig eingesetzt reduziert sie unnötige Abrufe und hält Crawler von technisch erzeugten Bereichen fern.

Die wichtigste Abgrenzung: Eine robots.txt steuert das Crawling, nicht zuverlässig die Indexierung. Eine gesperrte URL kann weiterhin als Adresse in Google erscheinen, wenn sie über externe oder interne Links bekannt ist. Vertrauliche Inhalte schützt die Datei ebenfalls nicht, denn sie ist öffentlich abrufbar und ihre Regeln sind keine Zugriffskontrolle.

Wenn alle öffentlich erreichbaren Inhalte gecrawlt werden dürfen, ist keine robots.txt erforderlich. Eine leere oder sehr kurze Datei kann sinnvoller sein als ein umfangreiches Regelwerk, dessen Auswirkungen später niemand mehr vollständig überblickt.

Speicherort und Geltungsbereich

Die Datei muss unter dem exakten Namen robots.txt im Stammverzeichnis erreichbar sein:

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

Eine Datei unter /ordner/robots.txt gilt nicht für die Website. Außerdem besitzt jeder Host seinen eigenen Geltungsbereich. Für www.example.de, shop.example.de und eine weitere Subdomain werden bei Bedarf getrennte Dateien bereitgestellt. Auch Protokoll und Port gehören zum jeweiligen Ursprung.

  • Als einfache Textdatei im UTF-8-Format ausgeben.
  • Öffentlich und ohne Login oder Cookie-Abfrage erreichbar halten.
  • Regeln immer gegen die tatsächlich verwendeten Hosts prüfen.
  • Nur Pfade des eigenen Hosts eintragen, keine vollständigen Fremd-URLs.
  • Für die Sitemap dagegen eine vollständige absolute URL verwenden.

Grundlegende Syntax mit Beispiel

Regeln werden zu Gruppen zusammengefasst. Eine Gruppe beginnt mit mindestens einer User-agent-Zeile. Darunter folgen die für diesen Crawler geltenden Anweisungen.

User-agent: *
Disallow: /interne-suche/
Disallow: /warenkorb/
Allow: /

Sitemap: https://www.example.de/sitemap.xml

Der Stern bei User-agent spricht alle Crawler an, die keiner spezielleren Gruppe zugeordnet sind. Ein leeres Disallow: sperrt nichts. Kommentare beginnen mit # und werden von den Crawlern nicht als Regel interpretiert.

AnweisungBedeutungHinweis
User-agentBestimmt, für welchen Crawler die Gruppe gilt* steht für alle nicht genauer benannten Crawler
DisallowSchließt einen Pfad vom Crawling ausDer Pfad beginnt mit / und unterscheidet Groß- und Kleinschreibung
AllowErlaubt einen Unterpfad innerhalb eines gesperrten BereichsNützlich für gezielte Ausnahmen
SitemapVerweist auf eine XML-SitemapAbsolute URL verwenden; mehrere Zeilen sind möglich
# KommentarDokumentiert den Zweck einer RegelKommentare kurz und aktuell halten

Google unterstützt in der robots.txt kein crawl-delay. Die Crawl-Aktivität sollte daher nicht über eine frei erfundene Verzögerungsregel gesteuert werden.

Wie Pfade und Ausnahmen ausgewertet werden

Pfadangaben beginnen am Stammverzeichnis und sind groß- und kleinschreibungssensitiv. /Shop/ ist daher nicht dieselbe Regel wie /shop/. Google unterstützt außerdem * als Platzhalter für beliebige Zeichenfolgen und $ zur Kennzeichnung des URL-Endes.

User-agent: *
Disallow: /produkte/
Allow: /produkte/oeffentlich/
Disallow: /*?sort=
Disallow: /*.pdf$

Wenn mehrere Regeln auf eine URL passen, verwendet Google die spezifischste Übereinstimmung. Bei gleich langen gegensätzlichen Regeln wird die weniger einschränkende Regel berücksichtigt. Solche Überschneidungen sollten trotzdem sparsam eingesetzt und mit realen Beispiel-URLs getestet werden.

Parameter, Filter und Sortierungen dürfen nicht pauschal gesperrt werden. Manche Filterseiten erfüllen eine eigenständige Nachfrage und sollen indexierbar bleiben. Vor einer Regel wird deshalb geprüft, welche URL-Muster nur technische Varianten erzeugen und welche als wertvolle Landingpages ausgebaut sind.

Robots.txt, Noindex, Canonical oder Zugriffsschutz?

Die passende Methode hängt vom eigentlichen Ziel ab. Crawling sparen, eine URL aus den Suchergebnissen entfernen, Duplikate zusammenführen und vertrauliche Daten schützen sind vier verschiedene Aufgaben.

MethodeGeeigneter EinsatzWichtige Grenze
robots.txtCrawling ausgewählter Pfade begrenzenVerhindert die Indexierung einer bekannten URL nicht zuverlässig
Meta-Robots NoindexHTML-Seite aus Suchergebnissen ausschließenDie Seite muss crawlbar sein, damit Google die Anweisung lesen kann
X-Robots-TagPDFs, Bilder und andere Dateien per HTTP Header ausschließenAuch die Datei muss für den Crawler erreichbar sein
CanonicalÄhnliche oder doppelte URLs einer bevorzugten Version zuordnenIst ein Konsolidierungssignal, kein Schutz und keine Crawling-Sperre
Login oder ServerzugriffVertrauliche, interne oder noch nicht veröffentlichte Inhalte schützenMuss serverseitig eingerichtet und getestet werden

Ein häufiger Fehler ist die Kombination aus Disallow und noindex für dieselbe Seite. Wenn Google die URL nicht crawlen darf, kann die Suchmaschine das Noindex im Dokument nicht sehen. Soll eine öffentlich erreichbare Seite aus dem Index verschwinden, muss sie für die Verarbeitung der Noindex-Anweisung zunächst crawlbar bleiben.

CSS, JavaScript und Bilder nicht versehentlich sperren

Google rendert moderne Seiten mit CSS und JavaScript. Werden wichtige Ressourcen blockiert, kann die Suchmaschine Layout, Navigation, Inhalte oder mobile Darstellung nicht vollständig beurteilen. Pauschale Regeln gegen Verzeichnisse wie /assets/, /scripts/ oder /wp-content/ sind deshalb riskant.

  • Für die Darstellung notwendige Stylesheets und Skripte crawlbar lassen.
  • Bilder nicht sperren, wenn sie in der Bildersuche erscheinen oder den Seiteninhalt erklären sollen.
  • API-Endpunkte nur ausschließen, wenn ihr Abruf für das Rendering nicht erforderlich ist.
  • Nach Änderungen Quelltext und gerenderte Seite in der URL-Prüfung vergleichen.

Nicht der Verzeichnisname entscheidet, sondern die Funktion der Ressource. Eine technische Prüfung zeigt, welche Dateien Google zum vollständigen Rendern einer Seite benötigt.

CMS, Onlineshops und Testsysteme

CMS und Shops erzeugen häufig interne Suchergebnisse, Warenkörbe, Checkout-Schritte, Session-URLs, Sortierungen und nahezu unbegrenzte Filterkombinationen. Solche Muster können unnötige Crawling-Aktivität verursachen. Eine robots.txt darf jedoch nicht blind aus einer Vorlage übernommen werden, denn Erweiterungen, Themes und Shoplogik unterscheiden sich.

User-agent: *
Disallow: /interne-suche/
Disallow: /warenkorb/
Disallow: /checkout/

Sitemap: https://www.example.de/sitemap.xml

Bei WordPress sollte insbesondere geprüft werden, ob Theme, Editor und Plugins öffentlich benötigte Dateien aus /wp-content/ oder AJAX-Funktionen aus dem Administrationsbereich laden. Weitere technische Besonderheiten behandeln wir in WordPress SEO richtig umsetzen.

Entwicklungs- und Staging-Systeme werden mit Passwortschutz oder serverseitiger Zugriffskontrolle abgesichert. Ein Disallow: / allein schützt weder Inhalte noch Zugangsdaten und kann beim späteren Livegang versehentlich bestehen bleiben.

Dateigröße, Statuscodes und Zwischenspeicherung

Google verarbeitet robots.txt-Dateien bis zu einer Größe von 500 KiB; darüber hinausgehender Inhalt wird ignoriert. Schon deutlich kleinere Dateien sollten vereinfacht werden, wenn viele Einzelfälle, alte Regeln oder doppelte Gruppen die Wartung erschweren.

Der HTTP-Status ist ebenfalls wichtig. Eine erfolgreich ausgelieferte Datei antwortet mit Status 200. Bei 4xx-Antworten außer bestimmten Ratenbegrenzungen geht Google in der Regel davon aus, dass keine Crawling-Einschränkungen bestehen. Serverfehler im 5xx-Bereich können das Crawling dagegen vorübergehend beeinflussen. Deshalb gehören Statuscode und Erreichbarkeit in jede technische Kontrolle.

Google speichert die robots.txt normalerweise bis zu etwa 24 Stunden zwischen. Bei technischen Problemen kann eine gespeicherte Version länger verwendet werden. Änderungen wirken daher nicht zwingend in derselben Minute auf alle Abrufe.

Typische Fehler mit großen Auswirkungen

  • Disallow: / aus einem Testsystem gelangt auf die produktive Website.
  • Die Datei liegt in einem Unterverzeichnis oder unter einem abweichenden Dateinamen.
  • Noindex wird als vermeintliche robots.txt-Anweisung eingetragen.
  • Eine Seite wird gesperrt, obwohl Google dort einen Canonical oder Noindex lesen soll.
  • CSS, JavaScript, Bilder oder Schriftdateien werden für das Rendering blockiert.
  • Groß- und Kleinschreibung oder tatsächliche URL-Pfade stimmen nicht mit den Regeln überein.
  • Filter und Parameter werden ohne Analyse ihres SEO-Werts vollständig ausgeschlossen.
  • Mehrere Crawler-Gruppen enthalten widersprüchliche oder unnötig komplizierte Ausnahmen.
  • Die öffentlich sichtbare Datei wird als Schutz für vertrauliche Inhalte missverstanden.

Robots.txt systematisch prüfen

  1. Ziel definieren: Für jede Regel dokumentieren, welches URL-Muster und welches Crawling-Problem sie lösen soll.
  2. Datei direkt öffnen: Erreichbarkeit, Status 200, Textformat und richtigen Host kontrollieren.
  3. Beispiel-URLs sammeln: Erlaubte und gesperrte URLs je Regel mit realen Pfaden testen.
  4. Indexierung getrennt bewerten: Prüfen, ob Noindex, Canonical, Weiterleitung oder Zugriffsschutz die passendere Methode ist.
  5. Ressourcen kontrollieren: Sicherstellen, dass Google wichtige CSS-, JavaScript- und Bilddateien abrufen kann.
  6. Search Console verwenden: URL-Prüfung und robots.txt-Bericht für auffällige Seiten und Syntaxprobleme heranziehen.
  7. Änderungen überwachen: Crawling, Indexierung und Server-Logs nach der Veröffentlichung beobachten.

Vor allem bei Relaunches sollten alte und neue robots.txt gemeinsam mit Weiterleitungen, Canonicals und XML-Sitemaps geprüft werden. Unsere SEO-Relaunch-Begleitung berücksichtigt diese Signale vor und nach der Umstellung.

Kurze Checkliste vor der Veröffentlichung

  • Liegt die Datei im Stammverzeichnis des richtigen Hosts?
  • Ist jede Sperre fachlich begründet und durch Beispiel-URLs geprüft?
  • Bleiben wichtige Seiten, CSS-, JavaScript- und Bilddateien crawlbar?
  • Wird Noindex nur auf URLs eingesetzt, die Crawler abrufen dürfen?
  • Enthält die Datei eine absolute URL zur aktuellen XML-Sitemap?
  • Sind Testsysteme wirklich per Zugriffsschutz abgesichert?
  • Wurde ausgeschlossen, dass Disallow: / die Live-Website sperrt?
Wir nutzen nur technisch notwendige Sessions für den Betrieb dieser Website. Weitere Infos finden Sie in unserer Datenschutzerklärung.