HTTP-Header sind die unsichtbare Kommunikationsschicht zwischen Ihrem Server und Googlebot. Während die meisten SEOs sich auf Inhalte und Links konzentrieren, können falsch konfigurierte Header Crawling blockieren, Indexierung verhindern oder Ranking-Signale verwässern. Der richtige Einsatz von HTTP-Headern ist ein oft übersehener technischer SEO-Hebel.
X-Robots-Tag: noindex per Header statt Meta-Tag
Das Meta-Tag <meta name="robots" content="noindex"> funktioniert nur für HTML-Seiten. Für PDFs, Bilder und andere Nicht-HTML-Ressourcen brauchen Sie den X-Robots-Tag HTTP-Header.
Anwendungsfälle:
- PDFs die nicht indexiert werden sollen
- Bilder aus dem Index ausschließen
- APIs und JSON-Endpunkte aus dem Index halten
# Apache: X-Robots-Tag für alle PDFs
<FilesMatch "\.pdf$">
Header set X-Robots-Tag "noindex, nofollow"
</FilesMatch>
# Für einen ganzen Ordner
<Directory "/var/www/html/intern/">
Header set X-Robots-Tag "noindex"
</Directory>
# nginx: X-Robots-Tag für PDFs
location ~* \.pdf$ {
add_header X-Robots-Tag "noindex, nofollow";
}
X-Robots-Tag ist die einzige Möglichkeit PDFs, Bilder und andere Nicht-HTML-Ressourcen auf Server-Ebene von der Indexierung auszuschließen. Das Meta-Robots-Tag funktioniert für diese Ressourcen nicht – Google ignoriert es für Nicht-HTML-Dateien.
Cache-Control und SEO-Auswirkungen
Cache-Control-Header beeinflussen wie Browser und CDNs Inhalte cachen – und damit die Ladezeit, die ein Core Web Vital ist.
# Apache: Optimales Caching für SEO
<IfModule mod_expires.c>
ExpiresActive On
# Statische Assets: Lang cachen
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
# HTML: Kurz cachen (Inhalt ändert sich)
ExpiresByType text/html "access plus 1 hour"
</IfModule>
# Zusätzlich: Cache-Control Header explizit setzen
<FilesMatch "\.(webp|jpg|png|css|js)$">
Header set Cache-Control "public, max-age=31536000, immutable"
</FilesMatch>
immutable: Sagt dem Browser dass sich die Ressource nie ändert (Versioning vorausgesetzt). Browser fragt nicht erneut nach – schnellere Folgeaufrufe.
Canonical per HTTP-Header
Canonical-Tags können statt im HTML-Head auch per HTTP-Header gesetzt werden:
# Canonical für PDF-Dateien
<FilesMatch "\.pdf$">
Header set Link '<https://beispiel.de/seite/>; rel="canonical"'
</FilesMatch>
Sinnvoll wenn eine HTML-Seite und eine PDF-Datei denselben Inhalt haben und die HTML-Seite die kanonische Version sein soll.
Content-Security-Policy und SEO
CSP-Header schützen gegen XSS-Angriffe. Falsch konfiguriert blockieren sie JavaScript, CSS oder Fonts die für das Rendering wichtig sind – was CLS und LCP verschlechtert.
# Vorsicht: Zu restriktive CSP kann das Rendering blockieren
Content-Security-Policy: default-src 'self'
# Besser: Schrittweise konfigurieren und testen
Content-Security-Policy:
default-src 'self';
script-src 'self' 'unsafe-inline';
style-src 'self' 'unsafe-inline';
img-src 'self' data: https:;
font-src 'self' data:;
CSP-Einfluss auf CWV: Wenn JavaScript blockiert wird das für kritisches Rendering benötigt wird, steigt der LCP. Prüfen Sie nach CSP-Einführung Ihre Core Web Vitals.
HTTP-Header analysieren mit dem Browser-DevTools Network-Tab: URL aufrufen → F12 → Network → Seite reload → Auf die HTML-Hauptanfrage klicken → Headers Tab. Hier sehen Sie alle Response-Header die Ihr Server sendet. Für schnelle Online-Prüfung: securityheaders.com gibt eine Übersicht aller sicherheitsrelevanten Header.
Vary: Accept-Encoding und Mobile-Versionen
Der Vary-Header sagt Caches und Googlebot welche Versionen einer Ressource es gibt:
Vary: Accept-Encoding
Dieser Header ist wichtig für gzip/Brotli-Komprimierung und stellt sicher dass komprimierte und unkomprimierte Versionen separat gecacht werden.
Für mobile-spezifische Versionen (nicht empfohlen bei responsive Design):
Vary: User-Agent
Hinweis: Vary: User-Agent kann CDN-Caching ineffizient machen und sollte bei responsive Designs vermieden werden.
Hreflang per HTTP-Header
Wie Canonical können auch Hreflang-Tags per HTTP-Header gesetzt werden:
# Hreflang für statische Dateien ohne HTML-Head
<FilesMatch "\.pdf$">
Header add Link '<https://beispiel.de/de/dokument.pdf>; rel="alternate"; hreflang="de"'
Header add Link '<https://beispiel.de/en/document.pdf>; rel="alternate"; hreflang="en"'
</FilesMatch>
Praktisch für mehrsprachige PDF-Bibliotheken wo HTML-Head nicht verfügbar ist.
HTTP-Header-Optimierung bringt messbare SEO-Verbesserungen: Korrekte Cache-Control-Header reduzieren die Ladezeit bei Folgebesuchen um 40–60 %, was den LCP-Wert verbessert. X-Robots-Tag schützt interne Bereiche zuverlässig vor Indexierung – sicherer als robots.txt allein.
HTTP-Header prüfen und debuggen
# Alle Response-Header einer URL anzeigen
curl -I https://beispiel.de/
# Mit Redirect-Verfolgung
curl -IL https://beispiel.de/alte-url/
# Spezifischen Header prüfen
curl -I https://beispiel.de/ | grep -i "cache-control"
curl -I https://beispiel.de/ | grep -i "x-robots"
# Response-Header inkl. Komprimierung anzeigen
curl -H "Accept-Encoding: gzip" -I https://beispiel.de/
Mehr zu technischem SEO finden Sie in unserem Artikel über robots.txt erklärt.