SEO

robots.txt

Die robots.txt ist eine winzige Textdatei im Root deiner Website, die Suchmaschinen sagt, welche Bereiche sie crawlen dürfen und welche nicht. Sie ist der Türsteher deiner Seite — ohne sie läuft jeder Bot überall rein.

Lesezeit 5 Min Kategorie SEO

Was ist die robots.txt?

Die robots.txt ist eine simple Textdatei, die unter einem festen Pfad liegen muss: https://deine-domain.de/robots.txt. Keine HTML, kein XML, kein CMS-Plugin — nur reiner Text, den du (oder dein CMS) auf den Webserver legst. Jeder seriöse Webcrawler — Googlebot, Bingbot, ChatGPT-User, Applebot — schaut als Allererstes in genau diese Datei, bevor er auch nur eine einzige Seite deiner Website crawlt.

Die Datei folgt dem Robots Exclusion Protocol, einem De-facto-Standard seit 1994. Er sagt: "Liebe Crawler, hier sind die Regeln, an die ihr euch halten sollt." Wichtig: Die robots.txt ist kein Sicherheitsmechanismus. Böswillige Bots ignorieren sie. Sensible Daten gehören hinter ein Login, nicht hinter ein Disallow.

Typischer Aufbau:

User-agent: *
Disallow: /wp-admin/
Disallow: /kunden-login/
Disallow: /danke/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://firmencharisma.de/sitemap.xml

Jede Zeile ist eine Anweisung. User-agent: * bedeutet "gilt für alle Bots". Mit Disallow sperrst du Verzeichnisse oder einzelne Dateien. Mit Allow machst du gezielte Ausnahmen. Am Ende linkst du die Sitemap, damit der Bot sie sofort findet.

Wie funktioniert die robots.txt?

Wenn der Googlebot firmencharisma.de besucht, ruft er als Erstes /robots.txt ab. Er liest die Datei, merkt sich die Regeln und hält sich daran. Konkret:

  1. Bot fragt die robots.txt ab. Fehlt sie oder ist die Antwort 404, darf er alles crawlen.
  2. Bot liest die Regeln. User-agent: Googlebot steht über User-agent: * in der Prioritätsreihenfolge — spezifische Regeln schlagen allgemeine.
  3. Bot entscheidet pro URL: Steht der Pfad unter Disallow? Dann wird er nicht aufgerufen. Steht er unter Allow oder ist er nicht erwähnt? Dann wird er gecrawlt.
  4. Bot folgt dem Sitemap-Link. Wenn Sitemap: ... drinsteht, ruft er die XML-Sitemap ab und nutzt sie als Fahrplan.

Die Datei wird nicht per Request bei jedem Seitenaufruf geholt, sondern gecacht — typischerweise für 24 Stunden. Änderungen brauchen also ein bis zwei Tage, bis Google sie wirklich berücksichtigt.

Ein sehr wichtiger Punkt: Crawl und Index sind nicht dasselbe. Disallow in der robots.txt verhindert nur das Crawlen der Seite. Die Seite kann trotzdem im Google-Index landen, wenn andere Websites auf sie verlinken. Google zeigt dann einen blanken Eintrag in der SERP ohne Beschreibung ("Für dieses Ergebnis ist keine Beschreibung verfügbar"). Wer eine Seite wirklich aus dem Index haben will, braucht im HTML — und darf sie NICHT per robots.txt sperren, sonst liest Google das noindex-Tag gar nicht.

Warum ist die robots.txt für deine Website wichtig?

Crawl-Budget schonen. Google hat pro Website ein begrenztes Crawl-Budget. Wenn der Bot seine Zeit mit dem Crawlen von /wp-admin/, Filter-URLs und Druckversionen verschwendet, bleiben für die wichtigen Seiten weniger Ressourcen. Mit einer sauberen robots.txt lenkst du den Bot gezielt auf das, was ranken soll.

Suchergebnisse sauber halten. Ohne robots.txt tauchen plötzlich seltsame URLs in der SERP auf — Danke-Seiten nach Kontaktformularen, Admin-Bereiche, interne Filter. Peinlich und unprofessionell.

Staging-Seiten schützen. Wenn du eine Testversion unter staging.firmencharisma.de laufen hast, darf Google die auf keinen Fall indexieren. Eine robots.txt mit Disallow: / (alles sperren) plus zusätzlich noindex verhindert das.

Beispiele für typische robots.txt-Dateien

Standard für eine WordPress-Seite:

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

Sitemap: https://deine-domain.de/sitemap_index.xml

Komplett sperren (Staging-Umgebung):

User-agent: *
Disallow: /

Nur bestimmte Bots erlauben:

User-agent: Googlebot
Allow: /

User-agent: Bingbot
Allow: /

User-agent: *
Disallow: /

Crawl-Delay für ressourcenschwache Server:

User-agent: *
Crawl-delay: 10
Disallow: /wp-admin/

Google ignoriert übrigens den Crawl-delay, viele andere Bots respektieren ihn aber.

Wildcards: `*` und `$`

Die robots.txt unterstützt zwei Wildcards, mit denen du Regeln flexibler formulieren kannst, ohne jeden einzelnen Pfad von Hand auflisten zu müssen.

*** (Sternchen)** steht für "eine beliebige Zeichenfolge". Typische Anwendungsfälle:

# Alle URL-Parameter mit ?s= (WordPress-Suche) sperren
Disallow: /*?s=

# Alle URLs mit Tracking-Parameter sperren
Disallow: /*?utm_

# Alles unterhalb von /tmp/ unabhängig von der Schreibweise
Disallow: /tmp*

$ (Dollar) markiert das Ende einer URL. Ohne $ gilt eine Regel als Präfix und fängt auch längere Pfade mit ab. Beispiele:

# Alle .pdf-Dateien sperren (und NUR .pdf-Dateien)
Disallow: /*.pdf$

# Alle .xml-Dateien sperren außer der Sitemap
Disallow: /*.xml$
Allow: /sitemap.xml$

# Nur exakt die Druckversion, keine URLs die "print" enthalten
Disallow: /print$

Die Kombination .pdf$ liest sich als: "jede URL, die irgendwo im Pfad steht und exakt auf .pdf endet". Ohne das $ würde Disallow: /.pdf auch eine URL wie /dokumente/broschuere.pdf?download=1 sperren — mit $ nicht, weil nach .pdf ein Query-String folgt. Je nachdem, ob du das willst oder nicht, lässt du das Dollar-Zeichen stehen oder weg.

Google versteht beide Wildcards zuverlässig, ebenso Bing und die meisten anderen seriösen Crawler. Einige ältere Bots ignorieren sie und behandeln die Regel wörtlich — das ist in der Praxis aber selten ein Problem.

Häufige Fehler bei der robots.txt

Alles aus Versehen gesperrt. Der Klassiker: Disallow: / auf der Produktivseite. Passiert oft beim Übertragen einer Staging-Seite ins Live-System. Die Folge: Google crawlt gar nichts mehr, Rankings verschwinden komplett.

CSS und JavaScript blockiert. In älteren WordPress-Anleitungen steht oft Disallow: /wp-content/plugins/. Folge: Google kann die Seite nicht korrekt rendern und versteht das Layout nicht. Heute tabu.

Sensible Daten per robots.txt schützen wollen. "Disallow: /interne-dokumente/" macht die Dokumente nicht geheim — im Gegenteil, jeder der die robots.txt liest, weiß jetzt genau, wo sie liegen. Sensible Inhalte gehören hinter ein Passwort.

Sitemap vergessen. Die Zeile Sitemap: https://... ist optional, aber empfohlen. Wer sie weglässt, verschenkt einen gratis Hinweis an Google.

Widerspruch zwischen robots.txt und noindex. Wenn Disallow den Crawl sperrt, liest Google das noindex-Meta-Tag nicht. Die Seite bleibt dann im Index hängen — und zwar ohne Snippet. Entscheide dich pro Seite: entweder noindex (dann nicht per robots.txt sperren) oder komplett sperren (dann kein noindex nötig).

Tippfehler im Pfad. Disallow: /admin sperrt auch /administration und /admin-login. Wer genauer sein will, schreibt Disallow: /admin/ mit Schrägstrich am Ende.

Ähnliche Begriffe

Performance

Bildkomprimierung

Bildkomprimierung verkleinert Bilddateien, ohne dass der Unterschied sichtbar ist. Statt ein 4 MB großes Kamerafoto auf …

Weiterlesen →
Performance

CLS (Cumulative Layout Shift)

CLS — Cumulative Layout Shift — misst, wie stark Elemente auf deiner Seite während des Ladens herumspringen. Je höher de…

Weiterlesen →
WordPress/CMS

Custom Post Type

Ein Custom Post Type (CPT) ist ein eigener Inhaltstyp in [WordPress](wordpress.md), den du über die Standard-Typen "Beit…

Weiterlesen →
Cookie Consent mit Real Cookie Banner