Was ist die robots.txt?
Die robots.txt ist eine einfache Textdatei, die im Stammverzeichnis einer Website liegt und Suchmaschinen-Crawlern Anweisungen gibt, welche Bereiche der Website sie crawlen dürfen und welche nicht. Sie folgt dem Robots Exclusion Protocol (REP), einem informellen Standard, der seit 1994 existiert und von allen großen Suchmaschinen respektiert wird.
Die robots.txt ist die erste Datei, die ein Suchmaschinen-Crawler beim Besuch einer Website abruft. Bevor der Googlebot eine einzelne Seite crawlt, liest er die robots.txt, um zu prüfen, ob er die angeforderte URL crawlen darf. Die Datei muss unter https://www.example.com/robots.txt erreichbar sein und ist somit öffentlich einsehbar.
Es ist wichtig zu verstehen, dass die robots.txt nicht zur Indexierungssteuerung geeignet ist. Sie verhindert lediglich das Crawling, nicht die Indexierung. Eine durch robots.txt blockierte URL kann trotzdem im Google-Index erscheinen, wenn andere Websites darauf verlinken. Für die Indexierungssteuerung verwenden Sie stattdessen das Meta-Robots-Tag noindex oder den X-Robots-Tag HTTP-Header.
Die korrekte Konfiguration der robots.txt ist ein grundlegender Bestandteil des Technical SEO. Eine fehlerhafte robots.txt kann dazu führen, dass wichtige Seiten nicht gecrawlt werden, oder dass der Googlebot unnötig Ressourcen auf irrelevante Seiten verschwendet. Beides hat negative Auswirkungen auf die SEO-Performance.
Aufbau und Syntax der robots.txt
Die robots.txt verwendet eine einfache Syntax mit wenigen Direktiven. Trotz ihrer Einfachheit können Fehler schwerwiegende Folgen haben.
Grundlegende Direktiven
# Beispiel einer vollständigen robots.txt
# Regeln für alle Crawler
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /warenkorb/
Disallow: /checkout/
Disallow: /suche?
Disallow: /api/
Disallow: /*?sort=
Disallow: /*?filter=
# Spezielle Regeln für Googlebot
User-agent: Googlebot
Allow: /
Disallow: /intern/
# Regeln für Bild-Crawler
User-agent: Googlebot-Image
Disallow: /private-bilder/
# Sitemap-Verweis
Sitemap: https://www.example.com/sitemap.xml
Direktiven im Detail
| Direktive | Funktion | Beispiel |
|---|---|---|
| User-agent | Definiert, für welchen Crawler die Regeln gelten | User-agent: Googlebot |
| Disallow | Blockiert das Crawling eines Pfades | Disallow: /admin/ |
| Allow | Erlaubt das Crawling (überschreibt Disallow) | Allow: /admin/public/ |
| Sitemap | Verweist auf die XML-Sitemap | Sitemap: https://example.com/sitemap.xml |
| Crawl-delay | Wartezeit zwischen Anfragen (nicht von Google beachtet) | Crawl-delay: 10 |
Wildcards und Pattern-Matching
# Stern (*) als Wildcard für beliebige Zeichenfolgen
Disallow: /*?sessionid= # Blockiert alle URLs mit sessionid-Parameter
Disallow: /*.pdf$ # Blockiert alle PDF-Dateien
Disallow: /produkte/*?sort= # Blockiert Sortier-Parameter unter /produkte/
# Dollar ($) markiert das Ende der URL
Allow: /seite$ # Erlaubt nur /seite, nicht /seite/unterseite
Disallow: /*.xml$ # Blockiert alle XML-Dateien
# Kombination: Spezifisch erlauben, allgemein blockieren
User-agent: *
Disallow: /kategorie/
Allow: /kategorie/wichtig/ # Diese Unterseite ist erlaubt
Wichtig: Google beachtet die Crawl-delay-Direktive nicht. Wenn Sie die Crawling-Rate des Googlebots limitieren möchten, verwenden Sie die Einstellung in der Google Search Console unter "Einstellungen > Crawling-Rate".
Robots.txt Best Practices
Was sollte blockiert werden?
- Admin-Bereiche:
/admin/,/wp-admin/,/backend/ - Interne Suchseiten:
/suche?,/search?(erzeugen endlos viele URLs) - Warenkorb und Checkout:
/warenkorb/,/checkout/(kein SEO-Wert) - Parameter-URLs: Filter-, Sortier- und Session-Parameter
- API-Endpunkte:
/api/,/wp-json/ - Staging-Umgebungen: Sollten idealerweise per HTTP-Auth geschützt sein, aber zusätzliches Disallow schadet nicht
Was sollte NICHT blockiert werden?
- CSS und JavaScript: Google benötigt diese Ressourcen für das Rendering. Blockierung führt zu fehlerhafter Darstellung.
- Bilder: Blockierte Bilder können nicht in der Google-Bildersuche erscheinen und beeinträchtigen das Rendering.
- Seiten mit noindex: Google muss noindex-Seiten crawlen können, um das noindex-Tag zu sehen. Sonst bleibt die Seite möglicherweise im Index.
- Canonical-Ziele: Die Ziel-URL eines Canonical-Tags muss crawlbar sein.
Robots.txt-Checkliste
- ✓ Datei liegt unter /robots.txt im Stammverzeichnis
- ✓ XML-Sitemap ist per Sitemap-Direktive verlinkt
- ✓ CSS, JS und Bilder sind nicht blockiert
- ✓ Noindex-Seiten sind nicht via Disallow blockiert
- ✓ Admin-Bereiche und Suchseiten sind blockiert
- ✓ Robots.txt-Tester in der Search Console zeigt keine Fehler
- ✓ Parameter-URLs und Facetten sind korrekt behandelt
- ✓ Datei ist unter HTTPS erreichbar
Häufige Robots.txt-Fehler
Fehler 1: Gesamte Website blockiert
Problem: Die Direktive Disallow: / blockiert das Crawling der gesamten Website. Dies passiert besonders häufig nach dem Launch einer neuen Website, wenn die Staging-robots.txt nicht aktualisiert wird.
# GEFAEHRLICH: Blockiert ALLES
User-agent: *
Disallow: /
# KORREKT: Erlaubt alles, blockiert nur spezifische Pfade
User-agent: *
Allow: /
Disallow: /admin/
Lösung: Prüfen Sie die robots.txt nach jedem Website-Launch. Verwenden Sie den robots.txt-Tester in der Search Console.
Fehler 2: CSS und JavaScript blockiert
Problem: Render-Ressourcen werden blockiert, Google kann die Seite nicht korrekt rendern und bewertet sie möglicherweise als mobile-unfreundlich.
Lösung: Stellen Sie sicher, dass /css/, /js/ und /fonts/ Verzeichnisse nicht blockiert sind. Testen Sie das Rendering mit der URL-Inspektion.
Fehler 3: Noindex-Seiten blockiert
Problem: Seiten, die per noindex deindexiert werden sollen, werden gleichzeitig in der robots.txt blockiert. Da Google die Seite nicht crawlen kann, sieht es das noindex-Tag nicht und die Seite bleibt möglicherweise im Index.
Lösung: Verwenden Sie entweder robots.txt Disallow ODER noindex, nicht beides gleichzeitig. Für die Deindexierung ist noindex die zuverlässigere Methode.
Fehler 4: Wildcard-Fehler
Problem: Zu breite Wildcard-Muster blockieren unbeabsichtigt wichtige Seiten.
Lösung: Testen Sie jede Wildcard-Regel mit dem robots.txt-Tester gegen verschiedene URLs, bevor Sie sie implementieren.
Die robots.txt ist ein mächtiges Werkzeug zur Crawling-Steuerung, das mit Vorsicht eingesetzt werden sollte. Überprüfen Sie die Datei regelmäßig mit der Google Search Console und stellen Sie sicher, dass sie mit Ihrer XML-Sitemap und den Meta-Robots-Tags konsistent ist. Bei mehrsprachigen Websites müssen auch die Hreflang-Tags berücksichtigt werden, da blockierte Sprachversionen nicht korrekt verarbeitet werden können.
Nützliche Tools
Google Search Console (robots.txt-Tester)
Testet, ob bestimmte URLs durch die robots.txt blockiert werden. Zeigt auch die aktuell gecachte Version der robots.txt an.
Screaming Frog SEO Spider
Erkennt beim Crawl alle durch robots.txt blockierten URLs und zeigt mögliche Konflikte mit noindex-Tags und Canonical-Tags.
Merkle Robots.txt Tester
Online-Tool zum schnellen Testen von robots.txt-Regeln gegen beliebige URLs und User-Agents, ohne auf den Server zugreifen zu müssen.
Yoast SEO (WordPress)
Bietet eine grafische Oberfläche zur Bearbeitung der robots.txt direkt im WordPress-Backend. Verhindert häufige Syntaxfehler.
Ahrefs Site Audit
Identifiziert robots.txt-Probleme im Kontext des gesamten Website-Audits, einschließlich Konflikte mit Sitemaps und Indexierungsanweisungen.
Sitebulb
Visualisiert, welche URL-Gruppen durch die robots.txt blockiert sind, und zeigt potenzielle Konflikte mit der Indexierungsstrategie.
Häufige Fragen
Ohne robots.txt dürfen Suchmaschinen alle Seiten Ihrer Website crawlen. Der Server antwortet mit einem 404-Fehler auf die Anfrage nach /robots.txt, was Crawler als Erlaubnis zum vollständigen Crawling interpretieren. Für die meisten Websites ist es trotzdem empfehlenswert, eine robots.txt zu erstellen, um das Crawling gezielt zu steuern.
Nein, die robots.txt verhindert nur das Crawling, nicht die Indexierung. Eine durch robots.txt blockierte URL kann trotzdem im Google-Index erscheinen, z.B. wenn andere Websites darauf verlinken. Für die Indexierungssteuerung verwenden Sie das Meta-Robots-Tag noindex.
Nein, die robots.txt ist öffentlich zugänglich und bietet keinen Sicherheitsschutz. Jeder kann Ihre robots.txt einsehen und die blockierten URLs direkt aufrufen. Für echten Zugriffsschutz verwenden Sie HTTP-Authentifizierung, IP-Beschränkungen oder Login-Systeme.
Google cacht die robots.txt und aktualisiert den Cache regelmäßig, typischerweise alle 24 Stunden. Bei Änderungen kann es bis zu einem Tag dauern, bis Google die neuen Regeln beachtet. Sie können in der Search Console eine erneute Prüfung anfordern.
Disallow in der robots.txt verhindert das Crawling: Google besucht die Seite nicht. Noindex erlaubt das Crawling, verhindert aber die Indexierung: Google besucht die Seite, nimmt sie aber nicht in den Index auf. Wichtig: Verwenden Sie nie beides gleichzeitig für dieselbe URL.
Ja, die robots.txt muss auf der kanonischen Version Ihrer Website erreichbar sein. Wenn Sie HTTPS verwenden, muss die Datei unter https://www.example.com/robots.txt verfügbar sein. Die HTTP-Version und die HTTPS-Version können unterschiedliche robots.txt-Dateien haben.
Verwenden Sie Wildcards: Disallow: /*?sort= blockiert alle URLs mit dem sort-Parameter. Sie können auch Disallow: /produkte/*?filter= verwenden, um Parameter nur in bestimmten Verzeichnissen zu blockieren. Testen Sie die Regeln immer mit dem robots.txt-Tester.
Nein, Google ignoriert die Crawl-delay-Direktive in der robots.txt. Wenn Sie die Crawling-Rate des Googlebots begrenzen möchten, verwenden Sie die entsprechende Einstellung in der Google Search Console. Andere Crawler wie Bing beachten Crawl-delay.
Ja, Sie können separate Regelblöcke für verschiedene User-Agents definieren. User-agent: Googlebot für den Google-Crawler, User-agent: Bingbot für den Bing-Crawler usw. Regeln unter User-agent: * gelten als Fallback für alle Crawler, die keinen spezifischen Block haben.
Die robots.txt liegt immer im Stammverzeichnis: https://www.ihredomain.de/robots.txt. Geben Sie diese URL direkt in den Browser ein, um den Inhalt zu sehen. In der Google Search Console können Sie unter Einstellungen die gecachte Version einsehen, die Google tatsächlich verwendet.