İndekslenebilirlik: robots.txt ve meta robots
robots.txt ve meta robots nedir?
robots.txt, sitenin kök dizininde (ör. https://ornek.com/robots.txt) bulunan ve arama motoru botlarına hangi dizinleri veya sayfaları tarayabileceğini (crawl) söyleyen düz metin dosyasıdır. Meta robots etiketi ise sayfanın HTML <head> bölümünde yer alır ve bir sayfanın taranmış olsa bile arama sonuçlarına indekslenip indekslenmeyeceğini (index) kontrol eder. İkisi farklı katmanlarda çalışır: biri "bu kapıdan girebilir misin", diğeri "girdikten sonra bu odayı kataloğa ekleyebilir misin" sorusuna cevap verir.
Bu ayrım genellikle karıştırılır çünkü ikisi de "botları yönetme" başlığı altında konuşulur, ama etki alanları tamamen farklıdır ve yanlış kombinasyon istenmeyen sonuçlar doğurabilir.
robots.txt aslında bir "kural talebi"dir, bir güvenlik önlemi değildir: iyi niyetli botlar (Googlebot gibi) bu kurallara uyar, ancak kötü niyetli botlar dosyayı tamamen görmezden gelebilir. Bu yüzden robots.txt ile gizli/hassas içeriği "saklamaya" çalışmak yanlış bir güvenlik varsayımıdır.
Neden önemli?
Bu iki mekanizmanın karıştırılması sitenin görünürlüğünü ciddi şekilde zedeleyebilir. robots.txt ile bir sayfa taramadan engellenirse, arama motoru o sayfadaki noindex etiketini hiç göremez — çünkü etiketi görmek için önce sayfayı taraması gerekir — ve sayfa yanlışlıkla indekste (genelde başlıksız/açıklamasız bir girdi olarak) kalabilir.
Doğru kullanıldığında ise bu iki araç, hangi içeriğin arama sonuçlarında görüneceğini hassas biçimde yönetmenizi sağlar: robots.txt tarama bütçesini önemsiz alanlardan (ör. yönetim paneli, arama sonucu sayfaları) uzak tutar, meta robots ise belirli sayfaların (ör. teşekkür sayfası, filtrelenmiş listeleme varyasyonları) indeksten çıkmasını sağlar.
Büyük sitelerde tarama bütçesi sınırlı bir kaynaktır: bot her ziyarette sitenin yalnızca bir kısmını tarar. robots.txt ile değersiz alanları (ör. iç arama sonucu sayfaları, filtre kombinasyonları) engellemek, botun zamanını gerçekten önemli sayfalara harcamasını sağlar.
Nasıl düzeltilir?
- Sadece gerçekten taranmasını istemediğiniz dizinleri (ör. yönetim panelleri, sepet sayfaları) robots.txt ile engelleyin.
- Bir sayfayı indeksten çıkarmak istiyorsanız robots.txt ile değil,
<meta name="robots" content="noindex">ile yapın. - noindex'in çalışabilmesi için sayfanın robots.txt tarafından taranmaya açık olması gerektiğini unutmayın.
- Tek bir doğruluk kaynağı ilkesini benimseyin: aynı sinyali birden fazla yöntemle çelişkili şekilde tekrarlamayın.
- robots.txt dosyasını düzenli olarak kontrol edin; canlı ortamda yanlışlıkla kalmış test/staging kısıtlamaları olabilir.
- Google Search Console'daki kapsam (coverage) raporunu kullanarak hangi sayfaların "taranmadı" veya "noindex nedeniyle hariç tutuldu" olarak işaretlendiğini düzenli kontrol edin.
Örnek
User-agent: *
Disallow: /admin/
Allow: /
<meta name="robots" content="noindex, follow">
Kötü örnek: bir sayfayı önce Disallow: /kampanya/ ile robots.txt'te engelleyip sonra sayfanın kendisine <meta name="robots" content="noindex"> eklemek — bot sayfayı hiç taramayacağı için noindex etiketi işe yaramaz, sayfa hâlâ indekste görünebilir.
Sık yapılan hatalar
Disallow: /yazarak yanlışlıkla tüm siteyi taramaya kapatmak.- Bir sayfayı hem robots.txt ile engelleyip hem de noindex etiketi eklemek (etiket hiç görülmez, sayfa indekste kalabilir).
- Test/staging ortamındaki kısıtlayıcı robots.txt dosyasını canlı siteye taşımayı unutmak.
- Önemli sayfaları yanlışlıkla Disallow listesine eklemek.
- Site taşıma veya yeniden tasarım sonrası eski robots.txt kurallarını gözden geçirmeden yeni siteye taşımak; eski sitede anlamlı olan bir kısıtlama yeni yapıda önemli sayfaları da kapsayabilir.
- Sayfalama, filtre veya sıralama parametreleri üreten sayfalarda tutarlı bir indeksleme politikası belirlememek; bu tür sayfaların bir kısmı indekste kalıp bir kısmı dışlanınca site genelinde karışık bir sinyal oluşur.
- Canonical (kanonik) etiketi ile noindex'i aynı sayfada çelişkili biçimde kullanmak; ör. sayfayı noindex yaparken başka bir sayfayı kanonik olarak göstermek karışık sinyaller üretir.
- Site geneli için tek bir robots.txt dosyasının yeterli olduğunu unutup alt dizinlerde ayrı ayrı erişim kısıtlaması denemek; robots.txt yalnızca kök dizinde geçerlidir.
- Seoraporu.co raporunda "robots.txt ile engellenmiş ama noindex de var" gibi çelişkili sinyaller ayrı ayrı işaretlenir; her ikisini aynı sayfada tutmak yerine sadece birini seçin.