Noindex per X-Robots-Tag für robots.txt und sitemap.xml

Noindex per X-Robots-Tag für robots.txt und sitemap.xml

Dateien wie robots.txt, sitemap.xml oder PDFs tauchen regelmäßig in den Google-Suchergebnissen auf. Das ist technisch unproblematisch, aber überflüssig - und manchmal unerwünscht. Das Problem: Diese Dateien enthalten keinen HTML-Kopfbereich, in dem du ein Meta-Robots-Tag mit "noindex" platzieren könntest.

Die Lösung ist der X-Robots-Tag - ein HTTP-Response-Header, den du per .htaccess für beliebige Dateitypen setzen kannst. Google, Bing und andere Suchmaschinen werten diesen Header genauso aus wie ein Meta-Tag im HTML.

Warum nicht einfach Disallow in der robots.txt?

Ein häufiger Denkfehler: "Ich sperre die sitemap.xml einfach per Disallow in der robots.txt." Das funktioniert nicht wie gewünscht, weil:

Der X-Robots-Tag löst das Problem sauber: Die Datei bleibt für Crawler zugänglich (kann gelesen werden), wird aber nicht im Suchindex aufgenommen.

X-Robots-Tag per .htaccess setzen

Noindex für die robots.txt

Dieser .htaccess-Code setzt den X-Robots-Tag "noindex" für die robots.txt. Der Crawler kann die Datei weiterhin lesen, nimmt sie aber nicht in den Suchindex auf:

<IfModule mod_headers.c>
  <Files "robots.txt">
    Header set X-Robots-Tag "noindex"
  </Files>
</IfModule>

Noindex für mehrere Dateien

Um robots.txt, sitemap.xml und eine readme.txt gleichzeitig vom Index auszuschließen, nutzt du den Regex-Matcher mit der Tilde:

<IfModule mod_headers.c>
  <FilesMatch "(robots\.txt|sitemap\.xml|readme\.txt)$">
    Header set X-Robots-Tag "noindex"
  </FilesMatch>
</IfModule>

Noindex für Bilder

Wenn deine Bilder nicht in der Google Bildersuche erscheinen sollen, setzt du den Header für die entsprechenden Dateitypen:

<IfModule mod_headers.c>
  <FilesMatch "\.(gif|jpe?g|png|webp|avif)$">
    Header set X-Robots-Tag "noindex"
  </FilesMatch>
</IfModule>

Noindex für Backup-Dateien und Dokumente

Backup-Dateien, Datenbank-Dumps oder Office-Dokumente gehören nicht in den Suchindex. Mit "nofollow" verhinderst du zusätzlich, dass Links in diesen Dateien verfolgt werden:

<IfModule mod_headers.c>
  <FilesMatch "\.(bak|old|sql|doc|xls|csv)$">
    Header set X-Robots-Tag "noindex, nofollow"
  </FilesMatch>
</IfModule>
Hinweis: Dateien mit sensiblen Daten (SQL-Dumps, Konfigurationsdateien) solltest du nicht nur per noindex schützen, sondern den Zugriff komplett sperren - per Require all denied oder besser: gar nicht erst im DocumentRoot ablegen.

Alle Indexierungs-Direktiven im Überblick

Der X-Robots-Tag unterstützt dieselben Direktiven wie das Meta-Robots-Tag in HTML. Du kannst sie einzeln oder kombiniert einsetzen:

Direktive Bedeutung
all Standard. Keine Einschränkungen bei Indexierung und Linkfolge.
noindex Datei erscheint nicht im Suchindex.
nofollow Links im Dokument werden nicht verfolgt.
none Kombination aus noindex und nofollow.
noarchive Keine Cache-Version in den Suchergebnissen.
nosnippet Kein Textauszug auf der Ergebnisseite.
max-snippet:[n] Beschränkt die Snippet-Länge auf n Zeichen.
notranslate Kein Übersetzungsangebot in den Suchergebnissen.
noimageindex Bilder auf dieser Seite werden nicht indexiert.
unavailable_after:[Datum] Seite nach dem angegebenen Datum aus dem Index entfernen.

Quelle: Google Search Central: Robots Meta Tag und X-Robots-Tag

Direktiven kombinieren

Mehrere Direktiven trennst du mit Komma. In diesem Beispiel werden PDF-Dokumente indexiert, aber Links darin nicht verfolgt, Bilder nicht erfasst und keine Cache-Version gespeichert:

<IfModule mod_headers.c>
  <FilesMatch "\.(pdf|docx?)$">
    Header set X-Robots-Tag "index, nofollow, noimageindex, noarchive"
  </FilesMatch>
</IfModule>

X-Robots-Tag überprüfen

Nach dem Einrichten solltest du prüfen, ob der Header tatsächlich gesendet wird. Dafür gibt es mehrere Wege:

Per curl auf der Kommandozeile

curl -I https://www.beispiel.de/robots.txt

In der Ausgabe suchst du nach der Zeile X-Robots-Tag: noindex. Wenn sie vorhanden ist, funktioniert die Konfiguration.

Per Browser-Devtools

Öffne die Entwicklertools (F12), wechsle zum Netzwerk-Tab und rufe die Datei auf. In den Response-Headern siehst du den X-Robots-Tag.

Per Crawling-Tool

Tools wie Screaming Frog oder Matomo zeigen den X-Robots-Tag für alle gecrawlten URLs in einer eigenen Spalte an. Das ist besonders bei größeren Websites hilfreich, um sicherzustellen, dass der Header für alle gewünschten Dateien gesetzt ist. Für einzelne URLs prüft der Meta-Tag Checker neben dem Robots-Tag auch Title, Description und alle weiteren Meta-Daten.

Meta-Robots-Tag vs. X-Robots-Tag

Beide Methoden bewirken dasselbe - der Unterschied liegt in der Anwendung:

Für HTML-Seiten kannst du beide verwenden. Wenn beide gesetzt sind und sich widersprechen, gilt die restriktivere Anweisung. Ein noindex im Header überschreibt also ein index im Meta-Tag.

Verwandte Artikel

Quellen