robots.txt
Definition: Die robots.txt ist eine einfache Textdatei, die im Stammverzeichnis einer Website unter der URL www.domain.de/robots.txt abgelegt wird. Sie folgt dem Robots Exclusion Protocol und teilt Suchmaschinen-Crawlern mit, welche Bereiche der Website gecrawlt werden dürfen und welche nicht. Sie ist das primäre Mittel zur Steuerung des Crawler-Zugriffs und zur effizienten Nutzung des Crawl Budgets.
Erläuterung
Jede Website sollte eine robots.txt-Datei haben – auch wenn sie nur aus einer einzelnen Erlaubnisregel besteht. Suchmaschinen rufen die robots.txt als erstes ab, wenn sie eine Website crawlen. Ein häufiger und fataler Fehler: Die gesamte Website versehentlich zu blockieren, zum Beispiel nach einem Relaunch oder einer Migration.
Aufbau und Direktiven der robots.txt
Eine robots.txt-Datei besteht aus einem oder mehreren Blocks. Jeder Block beginnt mit einer User-agent-Angabe gefolgt von Disallow- und/oder Allow-Anweisungen:
- User-agent: Bestimmt, für welchen Crawler die folgenden Regeln gelten.
User-agent: *gilt für alle Crawler.User-agent: Googlebotgilt nur für Google. - Disallow: Verbietet das Crawlen des angegebenen Pfades.
Disallow: /admin/blockiert alle URLs unter /admin/. - Allow: Erlaubt explizit bestimmte Pfade innerhalb eines blockierten Bereichs. Zum Beispiel: Disallow: /produkte/, Allow: /produkte/bestseller/
- Sitemap: Gibt den Pfad zur XML-Sitemap an, damit Crawler sie leichter finden.
- Crawl-delay: Gibt an, wie lange Crawler zwischen Requests warten sollen (wird von Google ignoriert, von anderen Crawlern berücksichtigt).
Beispiel einer typischen robots.txt
User-agent: *Disallow: /wp-admin/Allow: /wp-admin/admin-ajax.phpDisallow: /checkout/Disallow: /mein-konto/Sitemap: https://www.domain.de/sitemap.xml
Der kritische Unterschied: robots.txt vs. Noindex
Das ist ein häufig missverstandener Punkt mit grossen SEO-Konsequenzen:
- robots.txt blockiert Crawling: Der Crawler darf die Seite nicht aufrufen und lesen. Die Seite kann aber trotzdem indexiert werden, wenn externe Links auf sie zeigen – Google zeigt sie dann ohne Snippet im Index an.
- Noindex verhindert Indexierung: Der Crawler kann die Seite aufrufen, wertet aber den Noindex-Tag aus und entfernt die Seite aus dem Suchindex. Für Noindex muss die Seite crawlbar sein!
- Kombination als Fehler: Eine Seite gleichzeitig per robots.txt zu blockieren und mit Noindex zu versehen ist kontraproduktiv: Google kann das Noindex-Tag nicht lesen, wenn es die Seite nicht crawlen kann.
Was sollte per robots.txt blockiert werden?
- Backend-Bereiche: /admin/, /wp-admin/, /backend/ (aber /wp-admin/admin-ajax.php erlauben)
- Interne Suchseiten: /suche?q= (generieren Duplicate Content)
- Filter- und Parameter-URLs: /produkte?sort=preis&farbe=rot (besser via Canonical lösen)
- Login- und Nutzerbereiche: /mein-konto/, /checkout/, /warenkorb/
- Staging-Umgebungen: Über eigene robots.txt auf der Staging-URL
Was nie per robots.txt blockiert werden sollte
- CSS- und JavaScript-Dateien: Google braucht diese zum Rendering der Seite. Blockierte CSS/JS-Dateien können dazu führen, dass Google die Seite nicht korrekt darstellt und schlechter bewertet.
- Seiten, die noindex haben: Erst wenn Google die Seite gecrawlt hat, kann es den Noindex-Tag verarbeiten
- Produkt- und Content-Seiten: Außer bei gezieltem SEO-Crawl-Budget-Management für sehr grosse Websites