Yasakla ve İzin Ver direktifleri

Disallow

Bu direktifi, 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 direktif seçerken, adresleri GET parametreleri içeriyorsa, Disallow yerine Clean-param direktifini 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:

Kullanıcı temsilcisi: Yandex
İzin verme: / # sitenin tamamının taranmasını yasaklar

Kullanıcı temsilcisi: Yandex
İzin verme: /catalogue # adresleri /catalogue ile başlayan sayfaların taranmasını yasaklar

Kullanıcı temsilcisi: Yandex
İzin verme: /page? # URL’lerinde parametreler içeren sayfaların taranmasını yasaklar

İzin Ver

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

Örnekler:

Kullanıcı temsilcisi: Yandex
İzin ver: /cgi-bin
İzin verme: /
# “/cgi-bin” ile başlayan sayfalar hariç her şeyin indirilmesini yasaklar
#
Kullanıcı temsilcisi: Yandex
İzin ver: /file.xml
# file.xml dosyasının indirilmesine izin verir

Not

Boş satır aralıkları Kullanıcı-ajan, Yasakla ve İzin ver direktifleri arasında izin verilmez.

Direktifleri birleştirme

İzin ver ve Yasakla direktifleri, ilgili Kullanıcı-ajan bloğundan URL ön eki uzunluğuna göre (kısadan uzuna) sıralanır ve sırayla uygulanır. Birden fazla direktif belirli bir site sayfasıyla eşleşirse, robot sıralı listedeki sonuncusunu seçer. Bu şekilde, robots.txt dosyasındaki direktiflerin sırası, robot tarafından nasıl kullanıldıklarını etkilemez.

Not

Aynı uzunlukta ön ekleri olan iki direktif arasında bir çakışma varsa, İzin ver direktifi öncelik kazanır.

# Kaynak robots.txt:
Kullanıcı temsilcisi: Yandex
İzin ver: /
İzin ver: /catalog/auto
İzin verme: /catalog

# Sıralı robots.txt:
Kullanıcı temsilcisi: Yandex
İzin ver: /
İzin verme: /catalog
İzin ver: /catalog/auto
# “/catalog” ile başlayan sayfaların indirilmesini yasaklar,
# ancak “/catalog/auto” ile başlayan sayfaların indirilmesine izin verir.

Yaygın örnek:

Kullanıcı temsilcisi: Yandex
İzin ver: /archive
İzin verme: /
# “/archive” içeren her şeye izin verir, geri kalanı yasaktır

Kullanıcı temsilcisi: Yandex
İzin ver: /obsolete/private/*.html$ # “/obsolete/private/...” içindeki html dosyalarına izin verir
                                 
İzin verme: /*.php$  # bu sitedeki tüm “*.php” dosyalarını yasaklar
İzin verme: /*/private/ # “/private/” içeren tüm alt yolları yasaklar
                      # ancak yukarıdaki İzin ver kısmı bu yasağın bir kısmını geçersiz kılar
                      
İzin verme: /*/old/*.zip$ # “/old/” içeren tüm “*.zip” dosyalarını yasaklar
                        

Kullanıcı temsilcisi: Yandex
İzin verme: /add.php?*user= 
# “user” parametresi ile “add.php?” scriptlerini yasaklar

Parametresiz İzin ver ve Yasakla direktifleri

Direktifler parametre içermiyorsa, robot verileri şu şekilde işler:

Kullanıcı temsilcisi: Yandex
İzin verme: # aynı “İzin ver: /”

Kullanıcı temsilcisi: Yandex
İzin ver: # bot tarafından dikkate alınmaz

Özel karakterler * ve $ kullanımı

İzin ver ve Yasakla direktiflerinin yollarını belirtirken * ve $ özel karakterlerini belirli düzenli ifadeler ayarlamak için kullanabilirsiniz.

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

Kullanıcı temsilcisi: Yandex
İzin verme: /cgi-bin/*.aspx # “/cgi-bin/example.aspx” ve “/cgi-bin/private/test.aspx” yasaklar
                          
İzin verme: /*private # hem “/private” hem de “/cgi-bin/private” yasaklar
                    

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

Kullanıcı temsilcisi: Yandex
İzin verme: /cgi-bin* # “/cgi-bin” ile başlayan sayfalara erişimi engeller
                    
İzin verme: /cgi-bin # aynı

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

Kullanıcı temsilcisi: Yandex
İzin verme: /example$ # “/example” yasaklar, 
                    # ancak “/example.html” izin verir
Kullanıcı temsilcisi: Yandex
İzin verme: /example # hem “/example” hem de “/example.html” yasaklar
                   

$ karakteri, sonundaki * karakterini yasaklamaz, yani:

Kullanıcı temsilcisi: Yandex
İzin verme: /example$  # sadece “/example” yasaklar
İzin verme: /example*$ # “İzin verme: /example” ile aynı 
                     # hem /example.html hem de /example yasaklar

# karakterinin işlenmesi

Standart uyarınca, her User-agent direktifinden ö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 dizinlenmez ve https://example.com/page adresinde taranır. Dolayısıyla, direktifte sayfa adresini bağlamadan belirtmek sorun değildir.

Bu özelliği dikkate almaz ve # karakteri ile bir disallow direktifi yazarsanız, tüm sitenin dizinlenmesini engelleyebilir. Örneğin, Disallow: /# biçimindeki bir direktif, arama sistemi tarafından Disallow: / olarak yorumlanır, yani tam bir dizinleme yasağı.

Direktiflerin nasıl yorumlandığına dair örnekler

Kullanıcı temsilcisi: Yandex 
İzin ver: /
İzin verme: /
# her şeye izin verilir

Kullanıcı temsilcisi: Yandex 
İzin ver: /$
İzin verme: /
# ana sayfa hariç her şey yasaktır

Kullanıcı temsilcisi: Yandex
İzin verme: /private*html
# “/private*html”, “/private/test.html”, “/private/html/test.aspx”, vb. yasaklar


Kullanıcı temsilcisi: Yandex
İzin verme: /private$
# sadece “/private” yasaklar

Kullanıcı temsilcisi: *
İzin verme: /
Kullanıcı temsilcisi: Yandex
İzin ver: /
# Yandex botu “Kullanıcı temsilcisi:” içeren girişleri seçtiği için
# her şeye izin verilir

Destek ile iletişime geçin



Ayrıca şuraya gidebilirsiniz: