Robots.txt bir sunucunun alt dizininde olabilir mi?


16

Arama motoru web tarayıcılarından gizlemek istediğiniz bir alt dizin var.

Bunu yapmanın bir yolu robots.txtsunucunun kök dizininde (standart yol) bir kullanmaktır. Ancak, web sitesi URL'sini bilen ve bazı temel web bilgisine sahip olan herkes robots.txt içeriğine erişebilir ve izin verilmeyen dizinleri tespit edebilir.

Bundan kaçınmanın bir yolunu düşündüm, ama işe yarayıp yaramayacağından emin değilim.

Izin vermek Xistiyorum alt dizinin adı olsun . Tek yönlü Web tarayıcılar indeksleme durdurmak için Xdizini ve aynı anda tespit etmek birisi için zor yapmak için Xkök en dizini robots.txt, eklemektir robots.txtiçinde Xdizindeki yerine kök dizin.

Bu çözümü takip edersem şu sorularım var:

  1. Web Tarayıcıları robots.txtalt dizinde bulabilir mi? ( robots.txtzaten mevcut ve kök dizinde de var)
  2. Eğer robots.txtiçindedir Xalt dizine, sonra göreli veya mutlak yolları kullanmalıdır ?:

    User-agent: *
    Disallow: /X/
    

    veya

    User-agent: *
    Disallow: /
    

2
İnsanların izin verilmeyen dizinlerinizi okumasını neden istemediğinizden emin değilim, ancak hassas veriler varsa, yalnızca robotlardan engellenmemeli, aynı zamanda bir giriş veya başka bir güvenlikle de kısıtlanmalıdır.
Andrew Lott

Durum böyle değil, belirli bir kullanıcının (erişim açısından sadece gizlilik için hassas bir şey) ona erişimi olmasını istiyorum ve dizini kilitlemek istemiyorum.
Rafael

5
Gizlilikle ilgili endişeleriniz varsa, verileri başka bir şekilde korumanız gerekir. Robots.txt bunun için değildir.
Andrew Lott

Yanıtlar:


18

Hayır, web tarayıcıları bir alt dizindeki bir robots.txt dosyasını okumaz veya bunlara uymaz. Yarı resmi robotstxt.org sitesinde açıklandığı gibi :

Nereye koymalı

Kısa cevap: web sunucunuzun üst düzey dizininde.

veya Google'ın yardım sayfalarında ( benimkini vurgulayın ):

Bir robots.txtdosya, sitenizin kökünde, sitenizin arama motoru tarayıcıları tarafından erişmek istemediğiniz bölümlerini gösteren bir dosyadır .

Her durumda, hassas sayfaları arama sonuçlarından gizlemek için robots.txt kullanmak kötü bir fikirdir, çünkü arama motorları diğer sayfalar bağlantı veriyorsa robots.txt dosyasında izin verilmeyen sayfaları dizine ekleyebilir . Veya, yukarıda bağlantılı Google yardım sayfasında açıklandığı gibi:

Web sayfalarınızı Google Arama sonuçlarından gizlemek için robots.txt dosyasını kullanmamalısınız. Bunun nedeni, diğer sayfaların sayfanızı gösterebilmesi ve sayfanızın robots.txt dosyasından kaçınarak bu şekilde dizine eklenebilmesidir.

Peki bunun yerine ne yapmalısın?

  • Arama motorlarının sayfaları bulmasına izin verebilir (buluyorlarsa), ancak içeriğe bir robot meta etiketi ekleyebilirsiniz noindex,nofollow. Bu, arama motorlarına, kendilerine bağlantı bulsalar bile bu sayfaları dizine eklememelerini ve bu sayfalardan başka bağlantıları izlememelerini söyler. (Elbette, bu yalnızca HTML web sayfaları için çalışacaktır.)

  • HTML dışı kaynaklar için, web sunucunuzu (örneğin bir .htaccessdosya kullanarak ) X-Robots-Tag HTTP üstbilgisini aynı içeriğe gönderecek şekilde yapılandırabilirsiniz .

  • Hassas sayfaları korumak için şifre kimlik doğrulaması ayarlayabilirsiniz. Sayfaları yetkisiz insan ziyaretçilerden korumanın yanı sıra, web tarayıcılarını etkili bir şekilde uzak tutacaktır.


Fantastik, meta etiketi ekleyerek hile yapacak statik bir HTML sayfasıdır. Teşekkür ederim.
Rafael

5

Sizin robots.txtkök dizininde olmalı ve başka isme sahip olmamalıdır. Göre standart özellikleri :

Bu dosyaya yerel URL "/robots.txt" adresinden HTTP üzerinden erişilebilmelidir.


Bununla birlikte, web tarayıcıları robots.txt için başka bir dizine bakmayacak mı?
Rafael

1
Gördüğümden değil. /robots.txtstandart, bu yüzden arama motorları başka türlü nerede görüneceğini nasıl bilebilirdi?
Andrew Lott

0

Bir alt dizinde bir robots.txt kullanabilirsiniz. Şu anda dil alt alanlarımıza böyle davranıyoruz. /Robots.txt dosyasını bir /lang/robots.txt dosyasına (alt alan adı başına) 301 yönlendirmesi kullanıyoruz ve doğru bir şekilde alınıyor.

Ayrıca, basit bir eğik çizgi kullanırken klasör yapısını doğru kök olarak alıyor. Örneğin. izin verme: /

yalnızca {redirected} robots.txt dosyasının bulunduğu geçerli alt dizine değil, her şeye izin vermiyor olarak değerlendirilir.

Ama yine, bir 301 ile yönlendiriyoruz ve yerinde var, bu yüzden 301 olmadan, hiç bulunamayacağından şüpheliyim ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.