Kısa cevap: robots.txt’teki Disallow taramayı, noindex (bir meta robots etiketi ya da X-Robots-Tag başlığı) dizine eklemeyi, rel="nofollow" ise bir bağlantıdan link değerinin akıp akmayacağını denetler. Üçü de farklı bir aşamaya etki eder; bu yüzden birbirinin yerine geçmez — taramayı engellemek bir sayfayı Google’dan kaldırmakla aynı şey değildir, ikisi de bir bağlantının aktardığı PageRank’i yönetmez.

Üç aşama, üç ayrı direktif

Bu direktiflerle yapılan neredeyse her hata, onları eş anlamlı sanmaktan kaynaklanır. Değildirler. Bir arama motoru bir adresi üç ayrı aşamada işler ve her direktif tam olarak bunlardan birine müdahale eder:

  • Tarama — bot sayfayı hiç getirebilir mi? robots.txt’teki Disallow ile yönetilir.
  • Dizine ekleme — getirildikten sonra sayfa saklanıp sonuçlarda gösterilebilir mi? Bir <meta name="robots"> etiketindeki ya da bir X-Robots-Tag HTTP başlığındaki noindex ile yönetilir.
  • Link değeri akışı — sıralama sinyali (PageRank) belirli bir bağlantıdan geçmeli mi? Bağlantı özniteliği rel="nofollow" ile, yanına sponsored ve ugc akrabalarıyla yönetilir.

Bu hattı aklınızda tutun — önce tara, sonra dizine ekle, sonra sırala — ve rehberin geri kalanı yerine oturur. Aşağıda ele alınan en yıkıcı hata, tarama aşamasına ait bir aracı dizine ekleme aşamasındaki bir soruna doğrultmaktır. Bu zincirdeki ilk dosyanın tüm mekaniğini merak ediyorsanız robots.txt rehberimiz bu yazının tamamlayıcısıdır.

Disallow: taramayı durdurur, dizine eklemeyi değil

Disallow, robots.txt dosyanızda bir User-agent bloğuna bağlı bir satırda yaşar; örneğin Disallow: /sepet/. Uyumlu bir bota eşleşen adresleri getirmemesini söyler. İşinin tamamı budur. Kritik nokta: Google’a sayfayı dizininden çıkarmasını söylemez. Taramaya kapatılmış bir adres, Google onu dış ya da iç bağlantılar üzerinden keşfettiyse yine de sonuçlarda görünebilir — sadece açıklama metni olmadan ve çoğu zaman "Bu sayfa hakkında bilgi yok" etiketiyle çıkar.

Disallow’un doğru kullanım amacı tarama erişimini ve bütçesini denetlemektir: botları sonsuz filtreli gezinme alanlarından, site içi arama sonuç sayfalarından, yönetim yollarından ya da asla getirilmesini istemediğiniz uç noktalardan uzak tutmak. Kapıdaki bir fedaidir, bir silgi değil. Büyük sitelerde bu gerçek bir tarama bütçesi kaldıracıdır ama amacınız "bunu Google’dan çıkar" olduğu an yanlış araçtır. Yazdığınız her kuralı Robots.txt Test Aracı, ile doğrulayın; çünkü tek bir kaçak joker karakter, niyet ettiğinizden çok daha fazlasını engelleyebilir. Temiz kuralları sıfırdan üretmek için de Robots.txt Oluşturucu, kullanın.

noindex: bir sayfayı dizinden kaldırır

Bir sayfayı arama sonuçlarının dışında tutan direktif aslında noindex’tir. Şunu söyler: bu sayfayı tarayabilirsin ama saklama ya da gösterme. İki yerden birinde yaşar — HTML <head> içinde <meta name="robots" content="noindex"> olarak ya da bir HTTP yanıt başlığı olarak X-Robots-Tag: noindex biçiminde. Başlık sürümü, <head> ekleyemeyeceğiniz PDF, görsel ya da tablo gibi HTML olmayan dosyalar için doğru seçimdir.

Vazgeçilmez koşul şudur: Google’ın noindex’i görebilmesi için sayfayı tarayabilmesi gerekir. Direktif yanıtın içinde yaşadığından, botun onu okuyabilmesi için yanıtı getirmesi şarttır. İşte bu tek gerçek, bir sonraki bölümdeki klasik tuzağın kökenidir. noindex’i teşekkür sayfaları, site içi arama sonuçları, ince etiket ya da arşiv sayfaları ve tamamen görünmez olmasını istediğiniz hazırlık ortamı içerikleri için kullanın. Etiketin gerçekten var ve okunabilir olduğunu Meta Etiket Analizcisi, ile doğrulayın; sitenizin tamamını yanlışlıkla noindex almış sayfalar için de Teknik Site Denetimi (Tarayıcı), ile tarayın.

Disallow&rsquo;u tarama aşamasına, noindex&rsquo;i dizine ekleme aşamasına ve nofollow&rsquo;u tara, dizine ekle, sırala hattının link akışı aşamasına eşleyen yan yana üç kart.
Her direktif hattın tam olarak tek bir aşamasına etki eder: Disallow taramayı, noindex dizine eklemeyi engeller, nofollow ise link değerinin akıp akmayacağını yönetir.

nofollow, sponsored ve ugc: link değeri denetimi

rel bağlantı öznitelikleri tamamen farklı bir eksende çalışır: mevcut sayfanın taranması ya da dizine eklenmesi hakkında hiçbir şey söylemezler. Bağlantı verdiğiniz sayfayla ilişkinizi tanımlarlar. rel="nofollow", Google’a o bağlantıdan sıralama değeri geçirmemesini ve onu editoryal bir onay saymamasını söyler. Google bunu 2019’dan beri katı bir komut değil bir ipucu olarak okur ve iki özel değer daha ekledi:

  • rel="sponsored" — ücretli veya reklam bağlantıları için, satış ortaklığı (affiliate) adresleri dahil. Karşılığında ödeme aldığınız her şey için doğru etiket budur.
  • rel="ugc" — blog yorumları ve forum gönderileri gibi kullanıcı tarafından üretilen içerik için; her bağlantıya kefil olamayacağınız yerlerde.
  • rel="nofollow" — genel amaçlı "bunu onaylamıyorum" değeri; diğerleri uymadığında hâlâ uygundur.

Bunların hiçbiri hedef sayfayı Google’dan kaldırmaz ve hiçbiri kendi sayfanızın taranmasını ya da dizine eklenmesini durdurmaz. Yalnızca güven ve PageRank’in dışarı nasıl aktığını biçimlendirirler. Bunları ücretli yerleşimlerde, satış ortaklığı bağlantılarında, güvenilmeyen kullanıcı gönderimlerinde ve düşük güvenli referanslarda kullanın — ayrıca PageRank biriktirmek için yapılan site içi "nofollow yontma" taktiğinin on yılı aşkın süredir işe yaramadığını unutmayın.

Klasik tuzak: noindex demek isterken Disallow demek

Search Console’u "Dizine eklendi, ancak robots.txt tarafından engellendi" uyarılarıyla dolduran hata tam da budur. Biri bir sayfanın Google’dan gitmesini ister, robots.txt’e Disallow: /o-sayfa/ ekler. Kararlı bir hamle gibi görünür ama geri teper. İşte olaylar zinciri:

  1. Sayfaya bir noindex etiketi koyarsınız ve onu Disallow ile engellersiniz — ya da etiketi tamamen atlayıp yalnızca engele güvenirsiniz.
  2. Adres taramaya kapatıldığından Google onu hiç getirmez, dolayısıyla içindeki hiçbir noindex talimatını asla görmez.
  3. Dış ya da iç bağlantılar hâlâ o adrese işaret eder; yani Google onun var olduğunu bilir.
  4. Google o bağlantılardan çıplak adresi dizine ekler — aramada inatla kalan, açıklamasız bir sonuç.

Çözüm, içgüdünüzü tersine çevirmektir. Bir sayfayı kaldırmak için taramaya izin verin ve noindex ekleyin. Google sayfayı getirsin, etiketi okusun ve düşürsün. Ancak sayfa dizinden çıktıktan sonra — haftalar sonra — tarama bütçesi de kazanmak istiyorsanız bir Disallow eklemek güvenlidir. Amaç "bunu asla getirme" olduğunda Disallow’a, "bunu asla gösterme" olduğunda noindex’e uzanın. Birbirlerinin yedeği değildirler; aynı adreste birlikte kullanıldıklarında etkin biçimde birbirlerini iptal ederler.

Karar tablosu: hedeften direktife

Hangi kaldıracı çekeceğinizden emin değilseniz, istediğiniz sonuçtan başlayıp direktife doğru geriye çalışın:

HedefinizBunu kullanınNerede yaşar
Bir sayfayı Google sonuçlarının dışında tutmaknoindex<meta name="robots"> ya da X-Robots-Tag
Botların bir bölümü getirmesini durdurmak (tarama bütçesi)Disallowrobots.txt satırı
HTML olmayan bir dosyayı (PDF) aramadan gizlemeknoindexX-Robots-Tag HTTP başlığı
Bir bağlantıdan sıralama değeri geçirmemekrel="nofollow"<a> bağlantı özniteliği
Ücretli veya satış ortaklığı bağlantısını işaretlemekrel="sponsored"<a> bağlantı özniteliği
Kullanıcının gönderdiği bir bağlantıyı işaretlemekrel="ugc"<a> bağlantı özniteliği
Yinelenen adreslerin tercih edilen sürümünü göstermekcanonical etiketi<link rel="canonical">

Son satıra dikkat: asıl sorun istenmeyen sayfalar değil de yinelenen veya parametre yüklü adreslerse, doğru cevap çoğu zaman bu üçünden biri değil bir canonical’dır. canonical etiketleri rehberimiz onun yerine ne zaman ona uzanacağınızı tam olarak anlatır.

Direktifleri doğru birleştirmek

Hattı gözettiğiniz sürece direktifler temiz biçimde bir araya gelir. Güvenli, yaygın bileşimler şunlardır:

  • noindex + follow — bir sayfayı sonuçların dışında tutun ama dışa giden bağlantılarının değeri geçirmesine izin verin. Dizine eklemek istemediğiniz ama bağlantıları önemli olan sayfalama sayfaları için iyidir.
  • tarama açıkken noindex — herhangi bir sayfayı dizinden çıkarmanın standart, doğru yolu. Aynı adreste asla bir Disallow ile eşleştirmeyin.
  • zaten dizinden çıkmış bir bölümde tek başına Disallow — sayfalar düştükten sonra, yalnızca tarama bütçesini korumak için sorunsuzdur.

Kaçınılması gereken tek bileşim, aynı canlı adreste noindex artı Disallow’dur; çünkü engel etiketi gizler. Bir sayfa zaten dizindeyse ve gitmesini istiyorsanız önce taramaya izin verin, dizinden çıkarın, gerekirse sonra engelleyin. Ayarladığınızı sandığınız meta robots ve canonical direktiflerinin gerçekten yayına giren direktifler olduğunu doğrulamak için önemli şablonlarda bir Sayfa İçi SEO Kontrolü (Anahtar Kelime) çalıştırın.

Gerçek senaryolar ve doğru karar

Teori, gerçekten karşılaştığınız durumlara şöyle oturur:

  • Hazırlık (staging) veya geliştirme sitesi. HTTP kimlik doğrulaması ya da site geneli bir X-Robots-Tag: noindex kullanın — asla tek başına Disallow’a güvenmeyin; çünkü bağlantı verilmiş bir hazırlık adresi hâlâ çıplak bir bağlantı olarak dizine girebilir.
  • Teşekkür ve ödeme onayı sayfaları. Onları noindex yapın. Aramada işe yaramazlar ve dönüşüm yollarını sızdırabilirler; yine de etiketin görülmesi için taranabilir olmalarını istersiniz.
  • Etiket, yazar ve ince arşiv sayfaları. Özgün bir değer katmıyorlarsa, dizinden çıksınlar ama site içi bağlantıları yazılarınıza geçirmeye devam etsinler diye noindex, follow kullanın.
  • PDF’ler ve indirmeler. Meta etiketi ekleyemezsiniz; bu yüzden bir belgenin sıralanmaması gerektiğinde X-Robots-Tag: noindex HTTP başlığını kullanın.
  • Filtreli veya faceted adresler. Sonsuz tarama tuzakları oluşturuyorlarsa, bütçeyi korumak için parametre kalıplarını Disallow edin; belirli birkaç filtre dizine eklenebilir yineleme ise onun yerine bir canonical tercih edin.
  • Ücretli ve satış ortaklığı bağlantıları. Onları rel="sponsored" (ya da nofollow) ile işaretleyin. Para kazandıran bağlantılarda bunu yapmamak yalnızca bir gözden kaçırma değil, bağlantı düzeni (link scheme) riskidir.

Aynı sözün — "bunu gizle" — asıl hedefin getirme denetimi mi, dizin denetimi mi yoksa bağlantı denetimi mi olduğuna göre farklı direktiflere çözüldüğüne dikkat edin. Tüm disiplin tek cümlede budur ve yalnızca gerçekten dizine eklenmesini istediğiniz adresleri duyuran iyi yapılandırılmış bir XML site haritası ile doğal biçimde eşleşir.

Sıkça sorulan sorular

Disallow bir sayfayı Google’dan kaldırır mı?

Hayır. Disallow yalnızca sayfanın taranmasını durdurur. Google adresi zaten bağlantılardan biliyorsa onu açıklamasız bir sonuç olarak dizinde tutabilir. Bir sayfayı kaldırmak için taramaya izin vermeli ve botun kaldırma talimatını gerçekten okuyabilmesi adına bir noindex etiketi ya da X-Robots-Tag başlığı sunmalısınız.

noindex ve Disallow’u birlikte kullanabilir miyim?

Aynı adreste ve aynı anda kullanamazsınız. Disallow taramayı engeller; bu da Google’ın sayfayı hiç getirmemesi ve noindex’i hiç görmemesi demektir. Sayfa dizinden çıkana kadar taramaya izin verin; ancak o zaman, hâlâ tarama bütçesi kazanmak istiyorsanız bir Disallow ekleyin.

nofollow bir sayfanın dizine eklenmesini durdurur mu?

Hayır. rel="nofollow", belirli bir bağlantıdan sıralama değerinin geçip geçmeyeceğini yöneten bir bağlantı özniteliğidir. Bağlantı veren ya da bağlantı verilen sayfanın taranması ya da dizine eklenmesi üzerinde hiçbir etkisi yoktur. Dizine eklemeyi denetlemek için noindex, taramayı denetlemek için Disallow gerekir.

nofollow, sponsored ve ugc arasındaki fark nedir?

Üçü de Google’a bir bağlantıdan tam sıralama değeri geçirmemesini söyler ama bağlam eklerler. sponsored ücretli veya satış ortaklığı bağlantılarını, ugc yorumlar gibi kullanıcı üretimi bağlantıları işaretler, nofollow ise genel "onay yok" değeridir. Uyan en özel olanı kullanın; Google hepsini birer ipucu olarak değerlendirir.

Bir PDF veya görseli nasıl noindex yaparım?

HTML olmayan dosyalarda meta etiket için bir <head> yoktur; bu yüzden o dosya türleri için sunucunuzda veya CDN’inizde yapılandırılan X-Robots-Tag: noindex HTTP yanıt başlığını kullanın. Başlığın okunabilmesi için dosyanın hâlâ taranabilir olduğundan emin olun, ardından dizinden düştüğünü Teknik Site Denetimi (Tarayıcı), ile doğrulayın.

Hazırlık sitesi için hangi direktifi kullanmalıyım?

Onu HTTP kimlik doğrulamasıyla koruyun ya da site geneli bir X-Robots-Tag: noindex uygulayın. Tek başına Disallow’a güvenmeyin: bir hazırlık adresine verilen tek bir dış bağlantı bile, engel Google’ın herhangi bir noindex talimatını görmesini önlediği için onu çıplak, açıklamasız bir sonuç olarak dizine sokabilir.