robots.txt richtig konfigurieren
Die robots.txt ist eine Textdatei im Stammverzeichnis Ihrer Website, die Suchmaschinen-Crawlern mitteilt, welche Bereiche sie besuchen dürfen und welche nicht. Eine korrekte Konfiguration ist wichtig für SEO und verhindert, dass sensible Bereiche indexiert werden.
Was ist die robots.txt?
Die robots.txt folgt dem Robots Exclusion Protocol und:
- Liegt immer unter
https://example.com/robots.txt
- Wird von seriösen Crawlern respektiert (aber nicht erzwungen)
- Steuert das Crawling, nicht die Indexierung
- Ist öffentlich einsehbar
⚠️ Wichtig: Die robots.txt ist keine Sicherheitsmaßnahme! Sie verhindert nicht den Zugriff, sondern gibt nur eine Empfehlung. Sensible Daten müssen anders geschützt werden.
Grundlegende Syntax
# Kommentar - wird ignoriert
User-agent: * # Für welchen Crawler gilt die Regel
Disallow: /admin/ # Nicht crawlen
Allow: /admin/help/ # Ausnahme: doch crawlen
Crawl-delay: 10 # 10 Sekunden zwischen Requests (optional)
Sitemap: https://example.com/sitemap.xml
Wichtige Direktiven
| Direktive |
Bedeutung |
Beispiel |
User-agent |
Crawler, für den Regeln gelten |
User-agent: Googlebot |
Disallow |
Pfad nicht crawlen |
Disallow: /privat/ |
Allow |
Pfad explizit erlauben |
Allow: /privat/public.html |
Sitemap |
Sitemap-URL angeben |
Sitemap: https://... |
Crawl-delay |
Pause zwischen Requests |
Crawl-delay: 5 |
Häufige User-Agents
# Google
User-agent: Googlebot # Hauptcrawler
User-agent: Googlebot-Image # Bilder
User-agent: Googlebot-News # News
User-agent: Googlebot-Video # Videos
# Bing
User-agent: Bingbot
# Yahoo
User-agent: Slurp
# Yandex (Russland)
User-agent: Yandex
# Baidu (China)
User-agent: Baiduspider
# DuckDuckGo
User-agent: DuckDuckBot
# Alle Crawler
User-agent: *
Praktische Beispiele
Minimale robots.txt
# Alles erlauben
User-agent: *
Disallow:
Sitemap: https://example.com/sitemap.xml
Alles blockieren (z.B. Staging)
# Komplette Website vom Crawling ausschließen
User-agent: *
Disallow: /
WordPress-Standardkonfiguration
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/flavor/
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow: /search/
Disallow: /?s=
Disallow: /author/
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/sitemap_index.xml
E-Commerce / Shop
User-agent: *
# Admin und Checkout
Disallow: /admin/
Disallow: /checkout/
Disallow: /cart/
Disallow: /my-account/
Disallow: /wishlist/
# Filterseiten (Duplicate Content vermeiden)
Disallow: /*?orderby=
Disallow: /*?filter_
Disallow: /*?add-to-cart=
# Interne Suche
Disallow: /search/
Disallow: /?s=
# Session-Parameter
Disallow: /*?sid=
Sitemap: https://example.com/sitemap.xml
Bestimmte Dateitypen blockieren
User-agent: *
# PDF-Dateien nicht crawlen
Disallow: /*.pdf$
# Bilder nicht crawlen (nicht empfohlen für SEO!)
Disallow: /*.jpg$
Disallow: /*.png$
Disallow: /*.gif$
Wildcards und Patterns
# * = beliebige Zeichenfolge
Disallow: /*/temp/ # Alle temp-Ordner in Unterverzeichnissen
Disallow: /*? # Alle URLs mit Query-Parametern
# $ = Ende der URL
Disallow: /*.php$ # Alle .php-Dateien
Allow: /sitemap.xml$ # Aber sitemap.xml erlauben
robots.txt testen
Google Search Console
- Öffnen Sie Google Search Console
- Wählen Sie Ihre Property
- Gehen Sie zu Einstellungen → robots.txt-Tester
- Testen Sie verschiedene URLs
Online-Tools
Häufige Fehler
| Fehler |
Problem |
Lösung |
Disallow: / vergessen |
Staging-Site wird indexiert |
Vor Launch prüfen |
| CSS/JS blockiert |
Google kann Seite nicht rendern |
Statische Assets erlauben |
| Sitemap vergessen |
Crawler findet nicht alle Seiten |
Sitemap-Direktive hinzufügen |
| Falsche Groß-/Kleinschreibung |
Pfade werden nicht erkannt |
Exakte Schreibweise verwenden |
| Sensible Daten "verstecken" |
robots.txt ist öffentlich! |
Echten Zugriffsschutz nutzen |
robots.txt vs. Meta-Robots vs. X-Robots-Tag
| Methode |
Scope |
Steuert |
| robots.txt |
Ganze Website |
Crawling |
| Meta Robots |
Einzelne HTML-Seite |
Indexierung |
| X-Robots-Tag |
Alle Dateitypen |
Indexierung |
<!-- Meta Robots im HTML-Head -->
<meta name="robots" content="noindex, nofollow">
# X-Robots-Tag im HTTP-Header (für PDFs etc.)
X-Robots-Tag: noindex, nofollow
Best Practices
- robots.txt sollte in unter 500 KB sein
- Immer eine Sitemap-Direktive hinzufügen
- CSS und JavaScript nicht blockieren
- Staging/Test-Umgebungen komplett blockieren
- Nach Änderungen in Google Search Console neu einreichen
- Regelmäßig auf Crawl-Fehler prüfen
Weitere Hilfe