robots.txt steuert, welche URLs eine Suchmaschine crawlen darf; noindex steuert, welche URLs sie indexieren (in den Ergebnissen zeigen) darf. Das sind zwei verschiedene Dinge, und ihre Verwechslung führt zum klassischen Fehler im technischen SEO: Eine in robots.txt blockierte Seite kann trotzdem bei Google erscheinen, und eine Seite mit noindex verschwindet nur, wenn Google sie crawlen kann, um das Tag zu lesen.
Dieser Artikel erklärt, was jeder Mechanismus bewirkt, wie man sie kombiniert und was man in den üblichen Fällen einsetzt: interne Suche, Filter, Admin-Seiten und Inhalte im Aufbau.
Was robots.txt bewirkt
Es ist eine Textdatei im Stammverzeichnis der Domain (https://example.com/robots.txt) mit Regeln pro User-Agent, die angeben, welche Pfade nicht angefordert werden sollen:
User-agent: *
Allow: /
Disallow: /suche/
Disallow: /*?q=
Sitemap: https://example.com/sitemap.xml
Kernpunkte aus Googles Dokumentation:
- Sie dient dem Steuern des Crawlings: zu verhindern, dass der Bot Zeit auf wertlosen Seiten verbringt oder den Server überlastet.
- Sie verhindert keine Indexierung. Wenn andere Seiten auf eine blockierte URL verlinken, kann Google sie indexieren, ohne sie zu besuchen, und zeigt nur die URL mit einem Hinweis wie „Für diese Seite sind keine Informationen verfügbar“.
- Sie ist öffentlich: Jeder kann sie lesen. Liste keine Pfade auf, die geheim bleiben sollen.
- Seit September 2019 unterstützt Google kein
noindexinnerhalb von robots.txt mehr; diese Regel wird ignoriert. - Die Zeile
Sitemap:ist der einfachste Weg, die Sitemap zu deklarieren, und kann auch dann enthalten sein, wenn du sie zusätzlich über die Search Console einreichst.
Was noindex bewirkt
noindex sagt der Suchmaschine, die Seite nicht in ihre Ergebnisse aufzunehmen. Es wird auf zwei Arten deklariert:
<!-- Im <head> einer HTML-Seite -->
<meta name="robots" content="noindex, follow" />
# Als HTTP-Header, für jeden Dateityp (PDF, Bilder, JSON ...)
X-Robots-Tag: noindex
Zwei wichtige Details:
- Damit es wirkt, muss der Bot die Seite crawlen und das Tag lesen können. Blockierst du sie zusätzlich in robots.txt, sieht er das
noindexnie. follow(der Standard) lässt die Links der Seite weiterhin Signale weitergeben.noindex, nofollowunterbindet auch das; verwende es nur, wenn die Links nicht verfolgt werden sollen.
Mit der Zeit wertet Google ein dauerhaftes noindex als Signal, diese URL seltener zu crawlen, aber das ist eine Folge, nicht der Zweck.
Die falsche Kombination
| Konfiguration | Ergebnis |
|---|---|
| In robots.txt blockiert, ohne noindex | Kann in den Ergebnissen erscheinen (nur URL), weil Google die Seite nicht lesen kann, aber durch Links von ihr weiß. |
| In robots.txt blockiert und noindex | Wie oben: Das noindex wird nie gelesen. |
| Crawlbar, mit noindex | Verschwindet aus den Ergebnissen, sobald Google sie erneut crawlt. Korrekt zum Deindexieren. |
| Crawlbar, ohne noindex | Normal indexiert. |
Praktische Schlussfolgerung: Wenn du eine URL aus Google haben willst, nutze noindex und lass sie crawlbar. Erst wenn sie verschwunden ist, ergibt es Sinn, sie zur Schonung des Crawl-Budgets in robots.txt zu blockieren.
Was du in welchem Fall einsetzt
| Fall | Empfehlung |
|---|---|
Ergebnisse der internen Suche (/suche/?q=...) |
noindex auf der Seite. Optional Disallow in robots.txt nach dem Deindexieren, um das Crawlen endloser Kombinationen zu vermeiden. |
Filter und Sortierungen mit Parametern (?sort=preis) |
rel="canonical" auf die parameterfreie URL; erzeugen sie viele Kombinationen, noindex. |
| Admin- oder Login-Seite | noindex + echter Schutz durch Authentifizierung. robots.txt ist keine Sicherheitsmaßnahme. |
| Leere Seiten oder Seiten im Aufbau | noindex, solange sie keinen Inhalt haben; bei Veröffentlichung entfernen. |
| Dateien, die nicht in den Ergebnissen auftauchen sollen (interne PDFs, JSON) | Header X-Robots-Tag: noindex. |
| Ressourcen, die der Bot nicht braucht (Skripte eines internen Panels) | Disallow in robots.txt. Blockiere nie das CSS und JS, das die öffentliche Seite zum Rendern braucht. |
| Staging-Umgebung | HTTP-Authentifizierung. Falls nicht möglich, noindex auf jeder Seite; verlasse dich nicht allein auf robots.txt. |
Häufige Fehler
- CSS oder JavaScript in robots.txt blockieren. Google rendert Seiten; kann es ihre Ressourcen nicht laden, hält es sie für kaputt.
- Vergessen,
noindexbeim Livegang zu entfernen. Die häufigste Ursache für „meine neue Website erscheint nicht“. Prüfe Template und Server-Header. - robots.txt nutzen, um Seiten aus Google zu „löschen“. Funktioniert nicht; nutze
noindexoder, wenn die Seite nicht mehr existiert, liefere 404 oder 410. - Sitemap oder Startseite mit einem
Disallow: /blockieren, das aus der Entwicklung übrig geblieben ist. noindexauf wichtige Seiten setzen (Kategorien, Autor, Startseite), weil die generischen Regeln eines Plugins angewendet wurden.
Wie du es prüfst
- URL-Prüfung in der Search Console: sagt dir, ob die URL durch robots.txt blockiert ist, ob sie
noindexträgt und ob sie indexiert ist. - Bericht „Seiten“ (Indexierung): gruppiert ausgeschlossene URLs nach Grund („Durch robots.txt blockiert“, „Durch noindex-Tag ausgeschlossen“, „Indexiert, obwohl durch robots.txt blockiert“). Die letzte Kategorie ist genau das Symptom der falschen Kombination.
- robots.txt-Bericht in der Search Console: zeigt, welche Version der Datei Google hat und ob sie Syntaxfehler enthält.
Fazit
robots.txt sagt „komm hier nicht rein“; noindex sagt „zeig mich nicht“. Damit etwas nicht bei Google erscheint, muss es crawlbar sein und noindex tragen. Behalte robots.txt, um Crawl-Budget in wertlosen Bereichen zu sparen und die Sitemap zu deklarieren, und prüfe in der Search Console, dass keine Seiten „indexiert, obwohl blockiert“ sind: Das ist das Zeichen, dass sich beide Mechanismen gegenseitig in die Quere kommen.