Hier ist ein informativer Beitrag zum Thema robots.txt, inklusive Beispielen für den Umgang mit dynamischen URL-Parametern.
Die robots.txt ist eine Textdatei, die im Root-Verzeichnis einer Website liegt (z. B. https://www.seo-ambulance.de/robots.txt). Sie dient dazu, Webcrawlern (wie beispielsweise Google oder Bing) Anweisungen zu geben, welche Bereiche der Website gecrawlt werden dürfen und welche nicht. Sie ist unter anderem ein wichtiger Bestandteil der technischen Suchmaschinenoptimierung (SEO).
Die Grundstruktur einer robots.txt
User-agent: [Name des Crawlers]
Disallow: [Pfad, der nicht gecrawlt werden soll]
Allow: [Pfad, der explizit erlaubt ist]
Beispiel 1
User-agent: *
Disallow: /admin/
Disallow: /login/
Allow: /public/
Erklärung:
- * bedeutet: Diese Regeln gelten für alle Crawler
- /admin/ und /login/ dürfen nicht gecrawlt werden.
- /public/ ist explizit erlaubt
Beispiel 2 mit dynamsichen Parametern
Manche Webseiten nutzen Parameter beispielsweise wie ?id=123, ?session=xyz oder ?sort=asc. Diese Parameter können Duplicate Content verursachen und das Crawl-Budget beeinträchtigen.
2.1 Bestimmte URL-Parameter blockieren
- User-agent: *
- Disallow: /*?sessionid=
- Disallow: /*&utm_source=
- Disallow: /*?ref=
Erklärung:
Das Sternchen * steht für beliebige Zeichen, das ? leitet die Parameter ein.
2.2 Nur bestimmte Parameter-Kombinationen blockieren
- User-agent: *
- Disallow: /*?sort=price_asc
- Disallow: /*?filter=color
Erklärung:
Das verhindert, dass beispielsweise Sortier- oder Filterkombinationen gecrawlt werden, die identischen Content liefern wie die permanente URL.
2.3 Wildcard-Nutzung für vielfältige Varianten
- User-agent: *
- Disallow: /*?*
Erklärung:
Diese Regel blockiert ALLE URLs mit Parametern, beipspielsweise auch nützliche wie ?page=2.
Fazit
Die robots.txt ist ein einfaches, aber mächtiges Werkzeug zur Steuerung des Crawlings. Besonders bei dynamischen URLs und Parametern solltest du sorgfältig abwägen, was geblockt werden muss, um Duplicate Content und unnötige Crawl-Budget zu vermeiden.
Quellenangabe und Tools
- Google Search Console -> Test-Tool für robots.txt
- Offizielle Dokumentation unter About /robots.txt
Müsste nicht „Disallow: /*?sessionid=“ dann „Disallow: /*?sessionid=* sein?“
Disallow: /*?sessionid=
Diese Regel blockiert alle URLs, die mit „?sessionid=“ beginnen und alles danach ist egal.
Beispiel
Warum funktioniert das ohne Stern am Ende?
Weil robots.txt-Muster Pfadpräfixe sind – sobald der Anfang „/*?sessionid=“ mit der URL übereinstimmt, wird sie blockiert. Der Rest muss nicht durch * dargestellt werden, denn er wird einfach ignoriert.
Disallow: /*?sessionid=*
Das sieht logisch aus, ist aber nicht notwendig – und in manchen älteren Crawlern kann es sogar zu Fehlern führen, weil * am Ende nicht korrekt interpretiert wird.
Fazit