X-Robots-Tag
Der X-Robots-Tag ist ein HTTP-Header, mit dem ein Server Suchmaschinen dieselben Anweisungen gibt wie das Meta-Robots-Tag, etwa noindex oder nofollow. Weil er in der Serverantwort steht, wirkt er auch bei PDFs, Bildern und anderen Dateien ohne HTML-Kopf.
Die meisten Robots-Anweisungen stehen sichtbar im Quelltext einer Seite, im Kopfbereich als Meta-Tag. Der X-Robots-Tag tut dasselbe an einer Stelle, die beim Blick auf die Seite niemand sieht: in den Kopfzeilen der Serverantwort, die vor dem eigentlichen Inhalt übertragen werden.
Das macht ihn unverzichtbar für Dateien ohne HTML, etwa PDFs und Bilder. Und es macht ihn zu einer Fehlerquelle, die beim Prüfen von Linkquellen leicht übersehen wird: Eine Seite kann im Quelltext völlig unauffällig aussehen und trotzdem per Header aus dem Index ausgeschlossen sein.
Gleiche Regeln, anderer Ort: Header statt HTML-Kopf
Ruft ein Crawler eine URL ab, antwortet der Server zuerst mit einem Statuscode und einer Reihe von Kopfzeilen (HTTP-Header): Dateityp, Datum, Caching-Angaben. Der X-Robots-Tag ist eine weitere solche Zeile. Google schreibt in der Dokumentation zu Robots-Meta-Tag und X-Robots-Tag, dass jede Regel, die im Meta-Tag gilt, auch als X-Robots-Tag angegeben werden kann.
HTTP/1.1 200 OK
Content-Type: application/pdf
X-Robots-Tag: noindex
Was die einzelnen Regeln bedeuten, also noindex, nofollow und ihre Verwandten auf Seitenebene, erklärt der Eintrag Meta Robots. Hier geht es um das, was nur der Header kann: Regeln für beliebige Dateitypen, zentral per Serverkonfiguration gesetzt, ohne dass jemand eine einzelne Datei anfassen muss.
Der Preis dafür ist die Unsichtbarkeit. Ein Meta-Tag finden Sie mit Strg+U im Quelltext. Den X-Robots-Tag sehen Sie nur in den Antwort-Headern, etwa in den Entwicklertools des Browsers im Reiter „Netzwerk“ oder auf der Kommandozeile mit curl -I https://beispiel.de/datei.pdf.
Header-Varianten: kombinieren, mehrfach senden, Crawler gezielt ansprechen
Der Header ist flexibler, als die einfache Form vermuten lässt. Google beschreibt vier Spielarten: mehrere Regeln kommagetrennt in einer Zeile, mehrere X-Robots-Tag-Zeilen untereinander, Regeln für einen bestimmten Crawler mit dessen Namen davor und Regeln mit Ablaufdatum.
| Header-Zeile | Wirkung |
|---|---|
X-Robots-Tag: noindex | Datei erscheint nicht in den Suchergebnissen |
X-Robots-Tag: noindex, nofollow | nicht indexieren und den Links darin nicht folgen |
X-Robots-Tag: none | gleichbedeutend mit noindex, nofollow |
X-Robots-Tag: googlebot: nofollow | gilt nur für den Googlebot, andere Crawler sind nicht betroffen |
X-Robots-Tag: noimageindex | Bilder auf der Seite werden nicht indexiert |
X-Robots-Tag: unavailable_after: 2027-03-31 | nach dem Datum nicht mehr in den Ergebnissen anzeigen |
- Ohne Crawler-Namen gilt eine Regel für alle Crawler. Header-Name, Crawler-Name und Werte unterscheiden laut Google nicht zwischen Groß- und Kleinschreibung.
- Für unavailable_after akzeptiert Google verbreitete Datumsformate wie RFC 822, RFC 850 oder ISO 8601. Ein ungültiges Datum wird ignoriert.
- Bei Widersprüchen gewinnt die strengere Regel. Stehen
max-snippet:50undnosnippetnebeneinander, giltnosnippet. Das gilt auch, wenn Meta-Tag und Header sich widersprechen.
Wofür der Header gebraucht wird: PDFs, Bilder, ganze Bereiche
Der wichtigste Grund steht wörtlich in Googles Dokumentation: In Dateien wie PDFs, Videos oder Bildern lässt sich kein Meta-Tag unterbringen. Für sie bleibt nur der Header. Typische Einsatzfälle sind:
- PDFs, die nicht als eigenes Suchergebnis erscheinen sollen, etwa Preislisten, Formulare oder Druckfassungen eines Artikels, dessen HTML-Seite ranken soll.
- Bilder eines bestimmten Formats oder Verzeichnisses, die nicht in der Bildersuche auftauchen sollen.
- Exportdateien wie CSV-Dateien oder technische Feeds, die für Menschen ohne Kontext wertlos sind.
- Ganze Bereiche, für die eine Regel im Server einfacher zu pflegen ist als ein Tag in jeder einzelnen Vorlage.
Auch andere Kopfbereich-Angaben gibt es als Header. Die kanonische URL eines PDFs lässt sich per Link-Header mit rel="canonical" angeben, Sprachversionen per Link-Header mit hreflang. Wann das sinnvoll ist, beschreiben die Einträge Canonical-Tag und hreflang.
Kein Zugriffsschutz: noindex hält eine Datei aus den Suchergebnissen, nicht von Menschen fern. Wer die Adresse kennt oder einen Link findet, kann sie weiter öffnen. Vertrauliches gehört hinter einen Passwortschutz.
So setzen Sie den Header: Apache und nginx
Auf einem Apache-Server geht das in der Konfiguration oder in einer .htaccess-Datei, sofern das Modul mod_headers aktiv ist. Das folgende Beispiel orientiert sich an Googles Dokumentation und setzt für alle PDFs noindex, nofollow:
<Files ~ "\.pdf$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>
Unter nginx steht die Regel in einem location-Block. Für Bilder in den gängigen Formaten sieht das so aus:
location ~* \.(png|jpe?g|gif)$ {
add_header X-Robots-Tag "noindex";
}
Zwei Eigenheiten von nginx führen in der Praxis regelmäßig zu Überraschungen. Beide stehen in der nginx-Dokumentation zu add_header:
- Vererbung:
add_header-Anweisungen werden von der übergeordneten Ebene nur übernommen, wenn auf der aktuellen Ebene keine eigeneadd_header-Anweisung steht. Ein zusätzlicher Header in einemlocation-Block kann so unbemerkt alle Header der Server-Ebene verdrängen. - Statuscodes: Ohne den Parameter
alwayssetzt nginx den Header nur bei bestimmten Antworten, etwa 200, 301 oder 302, nicht aber bei Fehlerseiten.
Nach jeder Änderung lohnt eine Kontrolle mit curl -I an einer Beispieldatei. Für Seiten der eigenen Website zeigt zusätzlich die URL-Prüfung der Search Console, ob Google ein noindex erkannt hat.
Die Falle mit der robots.txt
Ein X-Robots-Tag wirkt nur, wenn der Crawler die Datei abrufen darf. Google ist dazu eindeutig: Regeln werden erst beim Crawlen einer URL entdeckt. Sperrt die robots.txt die URL, ignoriert Google alle Indexierungs- und Anzeigeregeln, die dort stehen.
Der häufige Fehler sieht so aus: Ein Verzeichnis mit PDFs wird in der robots.txt gesperrt und bekommt zusätzlich X-Robots-Tag: noindex, doppelt hält besser. Das Gegenteil ist der Fall. Laut Googles Einführung zur robots.txt kann eine gesperrte URL trotzdem im Index landen, wenn andere Seiten auf sie verlinken, nur eben ohne dass Google ihren Inhalt kennt. Das noindex im Header sieht Google dann nie.
Die Reihenfolge muss also lauten: erst crawlen lassen, damit Google den Header liest, und erst dann, wenn die Dateien aus dem Index verschwunden sind, über eine Sperre nachdenken. Wie robots.txt-Regeln aufgebaut sind, zeigt der robots.txt-Generator; welche Regeln für KI-Crawler gelten, behandelt der Beitrag GPTBot und robots.txt.
Was der Header für Linkbuilding bedeutet
Für Linkbuilder ist der X-Robots-Tag vor allem ein Prüfpunkt. Steht auf der Seite mit Ihrem Link X-Robots-Tag: noindex, erscheint die Seite nicht in den Suchergebnissen. Steht dort nofollow oder none, folgt der Googlebot laut Dokumentation den Links auf der Seite nicht. Am Link selbst ist davon nichts zu sehen: Er trägt womöglich gar kein rel-Attribut und wirkt im Quelltext wie ein normaler Link.
Ein angenommenes Beispiel: Ein Branchenportal verkauft Firmenporträts mit Link. Die Porträtseiten sehen aus wie alle anderen, der Link steht ohne nofollow im Text. Der Betreiber hat den Bereich aber per Serverregel auf X-Robots-Tag: noindex, nofollow gestellt. Wer nur den Quelltext prüft, bezahlt für einen Link, den Google weder auf einer indexierten Seite findet noch verfolgt. Bei einer gekennzeichneten bezahlten Platzierung ist das aus Googles Sicht kein Problem. Als Käufer sollten Sie es trotzdem vor der Buchung wissen, weil es Preis und Erwartung verändert.
Für eine vollständige Abnahme gehören deshalb drei Ebenen zusammen:
- HTTP-Header:
curl -Iauf die Seite mit dem Link, Ausschau nachX-Robots-Tag. - Meta-Tag: im Quelltext nach
<meta name="robots"suchen. - Linkattribut: das rel-Attribut am Link selbst, etwa mit dem Link-Checker.
Dass ein Link ohne rel-Wert durch Seitenregeln trotzdem eingeschränkt sein kann, behandelt auch der Beitrag Dofollow-Links. Wie Google Links mit nofollow am einzelnen Verweis einordnet, steht im Eintrag Nofollow-Link.
Häufige Fragen
Was ist der Unterschied zwischen X-Robots-Tag und Meta-Robots?
Beide transportieren dieselben Regeln, etwa noindex oder nofollow. Das Meta-Tag steht im HTML-Kopf einer Seite, der X-Robots-Tag im HTTP-Header der Serverantwort. Deshalb funktioniert nur der Header auch bei PDFs, Bildern und anderen Dateien ohne HTML.
Wie entferne ich PDFs mit dem X-Robots-Tag aus Google?
Setzen Sie für die Dateien X-Robots-Tag: noindex und lassen Sie sie in der robots.txt crawlbar, damit Google den Header lesen kann. Die Dateien verschwinden, sobald Google sie erneut abruft. Eine Sperre in der robots.txt würde das verhindern.
Wie prüfe ich, ob eine Seite einen X-Robots-Tag sendet?
Mit curl -I und der URL auf der Kommandozeile oder in den Entwicklertools des Browsers unter „Netzwerk“ bei der Antwort auf das Dokument. Im Quelltext der Seite ist der Header nicht zu sehen. Für eigene Seiten zeigt die URL-Prüfung der Search Console, ob ein noindex erkannt wurde.
Was gilt, wenn Meta-Tag und X-Robots-Tag sich widersprechen?
Google wendet bei widersprüchlichen Regeln die strengere an. Steht im Header nosnippet und im Meta-Tag max-snippet:50, zeigt Google kein Snippet. Ein noindex an einer der beiden Stellen genügt, um die Seite aus dem Index zu halten.
