Hızlı Cevap
robots.txt taramayı (crawl) yönetir ve site kökünde (/robots.txt) bulunur; robots meta etiketi ise dizine eklemeyi kontrol eder ve sayfanın head bölümüne yazılır. Bir sayfayı kesin olarak dizinden çıkarmak için noindex kullanılmalı ve sayfa robots.txt ile engellenmemelidir; aksi hâlde Googlebot etiketi göremez.
Önemli Noktalar
- robots.txt taramayı, meta robots etiketi dizine eklemeyi kontrol eder
- Disallow ile engellenen sayfada noindex etiketi Googlebot tarafından okunamaz
- Kesin dizin dışı bırakmak için sayfayı taranabilir bırakıp noindex ekleyin
- X-Robots-Tag, PDF ve resim gibi HTML olmayan dosyalar için HTTP header yöntemidir
- robots.txt içindeki noindex direktifi Google tarafından 2019’dan beri yok sayılmaktadır
Robots meta etiketi ile robots.txt arasındaki fark nedir? Kısa cevap
robots.txt, site kökünde yer alan bir metin dosyasıdır ve Googlebot gibi arama motoru botlarının hangi URL’leri tarayıp tarayamayacağını belirler. Robots meta etiketi ise sayfanın head bölümüne yerleştirilen bir HTML etiketidir ve sayfanın arama sonuçlarına eklenip eklenmeyeceğini kontrol eder.
Tek cümleyle özetlemek gerekirse: robots.txt taramayı (crawl), meta robots etiketi ise dizine eklemeyi (index) yönetir. Bu iki yöntemi karıştırmak, istemediğiniz sayfaların Google’da görünmesine ya da önemli sayfalarınızın dizinden düşmesine yol açabilir. Bu makalede her iki yöntemi, X-Robots-Tag HTTP header alternatifini ve ikisini yanlış birlikte kullanmanın getirdiği tuzakları adım adım ele alıyoruz.
Tarama (crawl) ile dizine ekleme (index) farkı: neden karıştırılıyor?
Googlebot bir web sayfasıyla iki ayrı aşamada etkileşime girer. Birinci aşamada sayfayı tarar (crawl): URL’yi ziyaret eder, HTML içeriğini okur ve bağlantıları keşfeder. İkinci aşamada ise sayfayı dizine ekler (index): içeriği değerlendirir ve arama sonuçlarına dahil eder. Google Search Central belgelerine göre bu iki süreç birbirinden bağımsızdır; tarama dizine eklemeyi garanti etmez, dizine ekleme ise tarama yapılmadan gerçekleşemez.
Karışıklığın temel nedeni şudur: robots.txt ile engellediğiniz bir sayfa, dış bağlantılar aracılığıyla hâlâ Google’ın dizininde yer alabilir. Google, o sayfayı taramasa bile URL’yi biliyor olabilir; başka sitelerden gelen bağlantılar sayfanın varlığını Googlebot’a haber vermiş olur. Bu durumda sayfa, içeriği okunmadan salt URL olarak dizine eklenebilir ve arama sonuçlarında görünebilir. İşte bu yüzden bir sayfayı kesin olarak dizinden çıkarmak için robots.txt tek başına yeterli değildir.
Kapsam farkı da kritik öneme sahiptir: robots.txt site genelinde belirli URL’ler veya dizinler için çalışır; robots meta etiketi ise sayfa bazında etki eder. Tek bir Disallow satırı tüm bir dizini engelleyebilir; ancak meta robots direktifini her sayfaya ayrı ayrı uygulamanız gerekir.
robots.txt nedir, ne işe yarar? (User-agent, Disallow, Allow, Sitemap)
robots.txt, alan adınızın kökünde yer alan düz metin formatındaki bir dosyadır. Google Search Central’ın Introduction to robots.txt belgesine göre bu dosya, arama motoru botlarının sitenizin hangi bölümlerini tarayabileceğini bildirir. Temel direktifler şunlardır:
- User-agent: Kuralın hangi bot için geçerli olduğunu belirtir; User-agent: * tüm botlara uygulanır.
- Disallow: Belirtilen yolu taramayı engeller; örneğin Disallow: /admin/ admin dizinini kapatır.
- Allow: Disallow ile engellenmiş bir dizin içindeki belirli bir yolu taramaya açar.
- Sitemap: XML site haritasının URL’sini belirterek botların içerik keşfini kolaylaştırır.
Büyük siteler için robots.txt’nin crawl budget üzerinde doğrudan etkisi vardır. Gereksiz URL’leri, filtre sayfalarını, oturum kimliği içeren URL’leri ve dahili arama sonuçlarını Disallow ile engellemek, Googlebot’un bütçesini önemli içeriklere ayırmasını sağlar. 2026 itibarıyla AI Overview’ların arama sonuçlarında daha fazla yer kapladığı bir ortamda, içerik erişilebilirliği ve tarama bütçesi yönetimi giderek daha kritik hale gelmektedir; Googlebot’un göremediği içerikler AI tarafından da değerlendirilemez.
Önemli güncelleme (2019-2026): Pek çok eski Türkçe kaynak, robots.txt içinde noindex direktifinin kullanılabileceğini öne sürmektedir. Ancak Google bu direktifi 1 Eylül 2019 itibarıyla resmi olarak desteklememekte ve yok saymaktadır. Google Search Central’ın açıklamalarına göre dizinleme kontrolü için yalnızca robots meta etiketi veya X-Robots-Tag kullanılmalıdır. robots.txt dosyanızı Google Search Console’daki robots.txt Test Aracı ile doğrulayarak yapılandırma hatalarını gerçek zamanlı tespit edebilirsiniz.
Robots meta etiketi nedir? noindex, nofollow, nosnippet ve X-Robots-Tag
Robots meta etiketi, sayfanın head bölümüne şu biçimde eklenir: <meta name="robots" content="noindex, nofollow">. Google Search Central’ın Robots Meta Tags Specifications belgesine göre başlıca direktifler şunlardır:
- noindex: Sayfanın arama sonuçlarına eklenmesini engeller; sayfayı kesin dizin dışı bırakmanın doğru yöntemidir.
- nofollow: Sayfadaki bağlantıların Googlebot tarafından takip edilmemesini söyler; bağlantı değeri aktarımını durdurur.
- noarchive: Arama sonuçlarında sayfanın önbelleğe alınmış sürümünün görüntülenmesini engeller.
- nosnippet: Arama sonuçlarında metin açıklamasının ve video önizlemesinin gösterilmesini engeller.
X-Robots-Tag, robots meta etiketinin HTTP header karşılığıdır ve HTML olmayan dosyalar için vazgeçilmezdir. PDF belgelerinizi, resim dosyalarınızı veya video içeriklerinizi dizin dışı bırakmak istediğinizde bu dosyaların head bölümü bulunmadığından meta etiketi kullanamazsınız. Sunucu yapılandırmanıza ekleyeceğiniz X-Robots-Tag: noindex header’ı bu boşluğu kapatır. noindex ve disallow gibi terimlerin SEO sözlüğü tanımları için sözlük sayfamıza başvurabilirsiniz.
WordPress’te noindex ayarı genellikle SEO eklentisi (Yoast SEO veya Rank Math) üzerinden yönetilir. İlgili sayfa veya yazı tipi ayarlarından arama motorlarına görünürlüğü kapatmak yeterlidir; eklenti arka planda etiketi sayfanın head bölümüne ekler. HTML olmayan dosyalarda ise sunucu yapılandırması üzerinden X-Robots-Tag uygulanmalıdır.
Karşılaştırma tablosu ve karar rehberi: hangi durumda hangisi kullanılır?
Doğru yöntemi seçmek için kendinize şu soruyu sorun: Googlebot’un sayfayı taramasını mı, yoksa arama sonuçlarına eklemesini mi engellemeyi istiyorum? Aşağıdaki adım adım karar akışı bu soruyu yanıtlamanıza yardımcı olacaktır.
Adım adım karar akışı
- Taramayı engellemek istiyorsanız (admin paneli, dahili arama sayfaları, crawl budget tasarrufu): robots.txt Disallow kullanın.
- Dizine eklemeyi engellemek istiyorsanız (teşekkür sayfası, tekrarlayan içerik, filtre URL’leri): noindex kullanın; sayfanın robots.txt ile engellenmediğinden emin olun.
- PDF, resim veya video gibi HTML olmayan dosyalar için kontrol gerekiyorsa: X-Robots-Tag HTTP header kullanın.
- Hem taramayı hem dizine eklemeyi engellemek istiyorsanız: Önce noindex ekleyin, Googlebot okuyuncaya kadar bekleyin; ardından Disallow ekleyebilirsiniz.
Senaryo örnekleri: Admin paneli için robots.txt Disallow yeterlidir; bu sayfalar zaten dizinde olmamalı, crawl bütçesi harcanmamalıdır. Filtre URL’leri için çoğu durumda noindex daha güvenlidir çünkü sayfa taranabilir kalır. PDF dosyaları için X-Robots-Tag kullanılmalı; meta etiketi bu dosyalar için çalışmaz. Tekrar eden içerik sayfaları için noindex tercih edin ve sayfayı robots.txt ile engellemeyin.
SEOYEN’in site sağlığı aracı ile robots yapılandırmasını denetleme sürecini otomatikleştirebilirsiniz. Platform, Disallow ile noindex çelişkisini, yanlışlıkla engellenen önemli sayfaları ve crawl bütçesini boşa harcayan URL yapılarını Türkçe arayüzde otomatik olarak tespit eder. Ahrefs veya SEMrush gibi araçların dolar bazlı fiyatlandırmasının aksine SEOYEN, TL bazlı paketler ve yerel Türkçe destek seçeneğiyle bu denetimi Türkiye pazarına özgü biçimde sunar; SEOYEN fiyatlandırma ve paketler için fiyatlar sayfasını inceleyebilirsiniz.
| Özellik | robots.txt | Meta robots | X-Robots-Tag |
|---|---|---|---|
| Ne kontrol eder | Tarama (crawl) | Dizine ekleme (index) | Dizine ekleme (index) |
| Kapsam | Site geneli / dizin bazlı | Sayfa bazlı | Sayfa veya dosya bazlı |
| Nerede tanımlanır | Site kökünde (/robots.txt) | Sayfanın head bölümünde | HTTP response header'ında |
| HTML olmayan dosyalarda çalışır mı | Evet (URL yolu bazlı) | Hayır (HTML head gerekir) | Evet (PDF, resim, video) |
| Dizinlemeyi kesin engeller mi | Hayır (link ile dizinlenebilir) | Evet (sayfa taranabilirse) | Evet (dosya erişilebilirse) |
| Crawl budget üzerindeki etkisi | Doğrudan: taramayı durdurur | Dolaylı etki | Dolaylı etki |
| Disallow + noindex çakışmasında sonuç | noindex okunamaz; sayfa dizinde kalabilir | Sayfa taranabilirse çalışır | Dosya erişilebilirse çalışır |
Sahadan vaka: robots.txt ile engellenen sayfada noindex neden çalışmadı?
Pratikte en sık karşılaşılan yapılandırma hatasını gerçek bir örnekle ele alalım. Bir e-ticaret sitesinde kategori sayfaları yanlışlıkla robots.txt’e Disallow: /kategori/ olarak eklenmişti. Aynı dönemde SEO ekibi, tekrar eden içeriği azaltmak amacıyla bu sayfaların head bölümüne <meta name="robots" content="noindex"> ekledi.
Haftalarca beklenmesine karşın sayfalar Google dizininden düşmedi. Sorunun kaynağı netti: Googlebot, robots.txt’teki Disallow kuralını gördüğü anda o URL’lere hiç uğramıyordu. Sayfaları taramadığı için head içindeki noindex etiketini de hiçbir zaman okuyamıyordu. Google Search Console’daki URL Denetleme aracında bu sayfalar robots.txt tarafından engellendi uyarısıyla işaretlenmiş; noindex durumu bilinmiyor olarak görünüyordu. Google’ın Block Indexing belgesi bu davranışı açıkça ortaya koyar: noindex’in okunabilmesi için sayfanın önce taranabilir olması şarttır.
Çözüm şu sırayla uygulandı:
- robots.txt’ten Disallow: /kategori/ satırı kaldırıldı.
- Sayfalardaki noindex etiketi korundu.
- Search Console URL Denetleme aracıyla yeniden tarama istendi.
- Googlebot sayfaları tarayıp noindex’i okudu; birkaç hafta içinde sayfalar dizinden kalktı.
- Dizinden düştüğü onaylandıktan sonra crawl bütçesini korumak amacıyla robots.txt Disallow yeniden eklendi.
Engellenen sayfaların organik sıralama takibini düzenli yaparsanız, dizinden kalkan kategorilerin kanonik sayfalardaki organik görünürlük değişimini doğrudan gözlemleyebilirsiniz. Bu tür çelişkilerden kaçınmak için kontrol listesi:
- robots.txt ile engellediğiniz sayfaya noindex eklemeyin; Googlebot etiketi okuyamaz.
- Bir sayfayı dizinden çıkarmak istiyorsanız önce robots.txt’te o sayfa için Disallow olmadığını doğrulayın.
- Hem noindex hem Disallow mevcutsa: önce Disallow’u kaldırın, noindex okunana kadar bekleyin; ardından isteğe bağlı olarak Disallow’u geri ekleyebilirsiniz.
Kaynaklar
Sıkça Sorulan Sorular
Hayır, ikisi tamamen farklı katmanlarda çalışır. robots.txt, Googlebot'un bir sayfayı taramasını (crawl) engeller. yani bot o URL'ye hiç uğramaz. noindex direktifi ise sayfanın head bölümüne eklenen bir meta etikettir ve sayfanın arama sonuçlarına eklenmesini (index) engeller. Kritik fark şudur: robots.txt ile engellenen bir sayfaya noindex eklemeniz hiçbir işe yaramaz, çünkü Googlebot o sayfayı taramadığı için etiketi göremez. İki kavram benzer amaçlara hizmet etse de mekanizmaları ve etkileri birbirinden tamamen ayrıdır.
Bir sayfayı kesin olarak dizinden çıkarmak için noindex kullanılmalıdır. Ancak kritik bir nokta var: noindex etiketinin çalışabilmesi için sayfanın robots.txt tarafından engellenmemiş olması gerekir. Googlebot sayfayı tarayamazsa noindex etiketini de okuyamaz. Doğru yol şudur: önce robots.txt'te ilgili sayfa için Disallow kuralı olmadığını doğrulayın, ardından sayfanın head bölümüne noindex meta etiketini ekleyin. robots.txt tek başına sayfayı dizinden çıkarmaz. dış bağlantılar aracılığıyla sayfa hâlâ Google'da görünebilir.
Disallow direktifi yalnızca taramayı durdurur. Google'ın o URL'yi bilmesini engellemez. Başka sitelerden veya kendi sitenizden gelen bağlantılar, sayfanın URL'sini Googlebot'a iletir. Google bu URL'yi taramasa bile URL'yi bildiği için dizine ekleyebilir ve arama sonuçlarında gösterebilir. içerik gösterilmeden yalnızca URL ve varsa harici bağlantı metinleri listelenir. Bu sorunu çözmek için sayfayı taranabilir bırakıp noindex eklemek ya da sayfaya yönelik tüm dahili ve harici bağlantıları kaldırmak gerekir.
Robots meta etiketi, sayfanın HTML head bölümüne eklenir. Temel sözdizimi şöyledir: meta name robots content noindex (açılı parantez ve kapanış etiketiyle birlikte). Etiket body içine değil, mutlaka head içine yerleştirilmelidir. aksi takdirde Googlebot etiketi geçersiz sayabilir. WordPress kullanıyorsanız Yoast SEO veya Rank Math gibi eklentiler bu etiketi arayüz üzerinden yönetmenizi sağlar. Birden fazla direktifi virgülle ayırabilirsiniz: noindex, noarchive, nosnippet gibi.
Meta robots etiketi HTML head bölümünde çalışır. bu nedenle yalnızca HTML sayfaları için geçerlidir. X-Robots-Tag ise HTTP response header'ı üzerinden iletilir ve HTML olmayan dosyalara da uygulanabilir. PDF belgeler, resim dosyaları ve video içerikleri için head bölümü bulunmadığından meta etiketi kullanılamaz. bu boşluğu X-Robots-Tag kapatır. Sunucu yapılandırmanıza (Apache .htaccess veya Nginx config) uygun direktifi ekleyerek PDF dosyalarınızı veya resimlerinizi dizin dışı bırakabilirsiniz.
noindex, sayfanın Google arama sonuçlarına eklenmesini engeller. sayfa Googlebot tarafından taranmaya devam edebilir ancak dizine girmez. nofollow ise Googlebot'a sayfadaki bağlantıların takip edilmemesini söyler. sayfa kendisi dizinlenebilir ancak sayfadaki linklerin bağlantı değeri (link equity) aktarımı durdurulur. İkisi birlikte kullanılabilir: hem sayfayı dizin dışı bırakmak hem de bağlantı takibini engellemek için aynı meta etiket içinde virgülle ayrılarak kullanılabilir. Yalnızca bağlantıları kontrol etmek istiyorsanız noindex olmadan yalnızca nofollow da kullanılabilir.
Tarama (crawl), Googlebot'un bir sayfanın URL'sini ziyaret ederek HTML içeriğini okuması ve bağlantıları keşfetmesi işlemidir. Dizine ekleme (index) ise Googlebot'un taradığı içeriği değerlendirerek arama sonuçlarına dahil etmesidir. Bu iki aşama birbirinden bağımsızdır: Googlebot bir sayfayı tarayabilir ama kalite değerlendirmesi sonucunda dizine eklemeyebilir. ya da bir sayfayı taramadan, dış bağlantılar aracılığıyla öğrendiği URL'yi dizine ekleyebilir. robots.txt tarama aşamasını, noindex ise dizine ekleme aşamasını kontrol eder.
robots.txt, meta robots'tan önce devreye girer çünkü süreç tarama, ardından okuma, son olarak dizine ekleme şeklinde işler. Googlebot önce robots.txt'i kontrol eder. eğer sayfayı taraması engelleniyorsa head bölümünü hiç okumaz ve meta robots etiketi işlevsiz kalır. Bu yüzden öncelik kavramı doğrusal değil, sıralı bir bağımlılıktır. Dizinleme kontrolü için meta robots'un çalışabilmesi, sayfanın önce taranabilir olmasına bağlıdır. Özetle: robots.txt Disallow, meta robots noindex'i geçersiz kılabilir. bu nedenle dizinden çıkarmak istediğiniz sayfaları asla yalnızca Disallow ile engellemeyin.