X-Robots-Tag Nedir?
Kısa tanım
X-Robots-Tag, robots meta etiketindeki yönergelerin HTML yerine HTTP yanıt başlığıyla gönderilmesini sağlayan başlıktır. PDF, görsel, video gibi HTML olmayan dosyalarda dizine ekleme ve gösterim kurallarını uygulamanın yoludur; sunucu ya da CDN düzeyinde dosya türüne, dizine veya alan adının tamamına toplu kural tanımlamayı da mümkün kılar.
Diğer adları: X-Robots-Tag başlığı, robots HTTP başlığı, X-Robots başlığı

Başlığın yapısı
X-Robots-Tag, sunucunun yanıtında diğer HTTP başlıklarıyla birlikte gelir. Bir PDF dosyası için tipik yanıt şöyle görünür:
HTTP/1.1 200 OK
Content-Type: application/pdf
X-Robots-Tag: noindex, nofollowBirden fazla kural aynı başlıkta virgülle ya da ayrı başlık satırlarıyla verilebilir. Kuralın başına tarayıcı adı eklenirse yalnızca o tarayıcıyı bağlar; başlık adı, tarayıcı adı ve değerler büyük-küçük harfe duyarlı değildir:
X-Robots-Tag: googlebot: nofollow
X-Robots-Tag: otherbot: noindex, nofollowKullanılabilecek yönergeler meta robots etiketiyle aynıdır; fark yalnızca taşıyıcıdadır.
Meta etiketin yetmediği yerler
- HTML olmayan dosyalar: PDF katalogları, Word belgeleri, görseller ve videoların
<head>bölümü yoktur. Bu dosyaları sonuçlardan uzak tutmanın tek yolu başlıktır. - Toplu kurallar: Bir dizindeki binlerce dosyaya ya da belirli bir uzantıya tek satırla kural uygulamak, şablonlara tek tek etiket eklemekten daha güvenlidir.
- Test ortamları: Staging ortamının tamamına sunucu düzeyinde
noindexeklemek, uygulama koduna dokunmadan koruma sağlar. Yine de en sağlam çözüm bu ortamları parolayla kapatmaktır. - Uygulama çıktıları: Herkese açık JSON uç noktaları ya da dışa aktarılan dosyalar gibi aranması anlamsız yanıtlar.
nginx ve Apache örnekleri
nginx'te tüm PDF dosyaları için:
location ~* \.pdf$ {
add_header X-Robots-Tag "noindex, nofollow" always;
}nginx'te iki ayrıntı sık atlanır. Birincisi, add_header varsayılan olarak yalnızca 200, 301, 302, 304 gibi belirli durum kodlarında eklenir; always parametresi başlığı her yanıta ekler. İkincisi, bir location bloğunda tek bir add_header tanımlandığında üst seviyedeki add_header satırları o blokta miras alınmaz; güvenlik başlıkları sessizce kaybolabilir. Ayrıntılar nginx headers modülü belgesindedir.
Apache'de (mod_headers etkinken) aynı kural:
<Files ~ "\.pdf$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>Doğrulama
Başlık sayfa kaynağında görünmediği için "Kaynağı görüntüle" ile kontrol edilemez. Komut satırından yanıt başlıklarına bakmak en hızlı yoldur:
curl -sI https://ornek.com/katalog.pdf | grep -i x-robots-tagTarayıcıdaki geliştirici araçlarının Ağ (Network) sekmesi ve Search Console'daki URL Denetimi de başlığı gösterir. SEO Analiz Aracı, HTTP başlığından gelen noindex kuralını ayrı bir bulgu olarak raporlar.
Sık yapılan hatalar
- Ortak yapılandırmadan sızan kural: Staging için yazılan başlık, paylaşılan bir yapılandırma dosyası üzerinden canlı siteye de uygulanır.
- Dosyayı robots.txt ile de engellemek: Engellenen dosya taranmadığı için başlık hiç okunmaz. robots.txt ile X-Robots-Tag aynı URL'de birlikte kullanılmamalıdır.
- Meta etiketle çelişmek: HTML sayfada başlık
noindex, meta etiketindexdiyorsa kısıtlayıcı olan geçerli olur ve sayfa dizine girmez. - CDN katmanını unutmak: Başlık CDN veya ters proxy kurallarıyla eklenmiş ya da kaldırılmış olabilir; kontrolü sunucuda değil, ziyaretçinin gördüğü yanıtta yapın.

