Disallow ve Allow yönergeleri

Disallow

Bu yönergeyi, bir sitenin bölümlerinin veya bireysel sayfalarının taranmasını yasaklamak için kullanın. Örneğin:

  • Gizli veri içeren sayfalar.
  • Site arama sonuçları içeren sayfalar.
  • Site trafik istatistikleri.
  • Yinelenen sayfalar.
  • Çeşitli günlükler.
  • Veritabanı hizmet sayfaları.

Not

Aramadan çıkarılması gereken sayfalar için bir yönerge seçerken, adresleri GET parametreleri içeriyorsa Disallow yerine Clean-param yönergesini kullanmanız önerilir. Disallow kullanırsanız, parametre olmadan yinelenen bağlantı URL’lerini tanımlayamayabilir ve yasaklanmış sayfaların bazı ölçümlerini gönderemeyebilirsiniz.

Örnekler:

User-agent: Yandex
Disallow: / # tüm sitenin taranmasını engeller

User-agent: Yandex
Disallow: /catalogue # adresleri /catalogue ile başlayan sayfaların taranmasını engeller

User-agent: Yandex
Disallow: /page? # URL'leri parametre içeren sayfaların taranmasını engeller

Allow

Bu yönerge, bir sitenin bölümlerinin veya bireysel sayfalarının taranmasına izin verir.

Örnekler:

User-agent: Yandex
Allow: /cgi-bin
Disallow: /

# "/cgi-bin"
# ile başlayan sayfalar hariç her şeyin indirilmesini engeller
User-agent: Yandex
Allow: /file.xml
# file.xml dosyasının indirilmesine izin verir

Not

User-agent, Disallow ve Allow yönergeleri arasında boş satırlara izin verilmez.

Yönergeleri birleştirme

İlgili User-agent bloğundaki Allow ve Disallow yönergeleri, URL ön eki uzunluğuna göre (en kısadan en uzuna) sıralanır ve sırayla uygulanır. Birden fazla yönerge belirli bir site sayfasıyla eşleşirse, robot sıralı listedeki sonuncusunu seçer. Bu şekilde, robots.txt dosyasındaki yönergelerin sırası, robot tarafından nasıl kullanıldıklarını etkilemez.

Not

Aynı uzunlukta ön eklere sahip iki yönerge arasında bir çakışma varsa Allow yönergesi önceliklidir.

# Kaynak robots.txt:
User-agent: Yandex
Allow: /
Allow: /catalog/auto
Disallow: /catalog

# Sıralı robots.txt:
User-agent: Yandex
Allow: /
Disallow: /catalog
Allow: /catalog/auto
# "/catalog" ile başlayan sayfaların indirilmesini engeller, 
# ancak "/catalog/auto" 
# ile başlayan sayfalara izin verir.

Yaygın örnek:

User-agent: Yandex 
Allow: /archive
Disallow: /
# "/archive" içeren her şeye izin verir, geri kalanı engellenir

User-agent: Yandex
Allow: /obsolete/private/*.html$ # "/obsolete/private/..." içindeki html dosyalarına
                                 # izin verir 
Disallow: /*.php$ # bu sitedeki tüm "*.php" dosyalarını engeller
Disallow: /*/private/ # "/private/"
                      # içeren tüm alt yolları engeller
                      # ancak yukarıdaki Allow bu engellemenin bir kısmını geçersiz kılar
Disallow: /*/old/*.zip$ # "/old/" içeren tüm "*.zip" dosyalarını engeller
                        # in “/old/”

User-agent: Yandex
Disallow: /add.php?*user= 
# "user" parametresine sahip tüm "add.php?" komut dosyalarını engeller

Parametresiz Allow ve Disallow yönergeleri

Yönergeler parametre içermiyorsa, robot verileri şu şekilde işler:

User-agent: Yandex
Disallow: # Allow: / ile aynıdır

User-agent: Yandex
Allow: # bot tarafından dikkate alınmaz

Özel karakterler * ve $ kullanımı

Belirli düzenli ifadeleri (regular expressions) ayarlamak üzere Allow ve Disallow yönergelerinin yollarını belirtirken * ve $ özel karakterlerini kullanabilirsiniz.

* karakteri, herhangi bir karakter dizisini (veya hiçbirini) belirtir. Örnekler:

User-agent: Yandex
Disallow: /cgi-bin/*.aspx #, "/cgi-bin/example.aspx"
                          # ve "/cgi-bin/private/test.aspx"
yollarını engeller Disallow: /*private
                    # hem "/private" hem de "/cgi-bin/private" yollarını engeller

Varsayılan olarak * karakteri, robots.txt dosyasında tanımlanan her kuralın sonuna eklenir. Örnek:

User-agent: Yandex
Disallow: /cgi-bin* #, "/cgi-bin" ile başlayan  
                    # sayfalara erişimi engeller
Disallow: /cgi-bin  # aynı işlemi yapar

Kuralın sonundaki * karakterini iptal etmek için $ karakterini kullanın, örneğin:

User-agent: Yandex
Disallow: /example$ #, "/example” 
                    # yolunu engeller ancak "/example.html" dosyasına izin verir
User-agent: Yandex
Disallow: /example  
                   # hem "/example" hem de "/example.html"
                   # yollarını engeller

$ karakteri, sondaki * karakterini yasaklamaz, yani:

User-agent: Yandex
Disallow: /example$ # yalnızca "/example" yolunu engeller
Disallow: /example*$ # "Disallow: /example” 
                     # ile aynıdır, hem /example.html hem de /example yollarını engeller

# karakterinin işlenmesi

Standart uyarınca, her User-agent yönergelerinden önce boş bir satır eklemeniz gerekmektedir. # karakteri yorumları belirtir. Bu karakterden sonraki her şey, ilk satır sonuna kadar göz ardı edilir.

https://example.com/page#part_1 gibi adreslere sahip sayfalar arama botu tarafından dizine eklenmez ve https://example.com/page adresi üzerinden taranır. Dolayısıyla, yönergede sayfa adresini bağlamadan belirtmek sorun değildir.

Bu özelliği dikkate almaz ve # karakteriyle bir Disallow yönergesi yazarsanız tüm sitenin dizine eklenmesi engellenebilir. Örneğin, Disallow: /# formatındaki bir yönerge arama sistemi tarafından Disallow: / olarak (yani dizine eklemenin tamamen engellenmesi olarak) yorumlanır.

Yönergelerin nasıl yorumlandığına dair örnekler

User-agent: Yandex
Allow: /
Disallow: /
# her şeye izin verilir

User-agent: Yandex 
Allow: /$
Disallow: /
# ana sayfa hariç her şey engellenir

User-agent: Yandex
Disallow: /private*html
# "/private*html", 
#, "/private/test.html", "/private/html/test.aspx" vb. engellenir

User-agent: Yandex
Disallow: /private$
# yalnızca "/private" engellenir

User-agent: *
Disallow: /
User-agent: Yandex
Allow: /
# Yandex botu 
# "User-agent:" içeren girişleri seçtiğinden 
# her şeye izin verilir
Destek ile iletişime geçin