- Konu sahibi
- #1
Robots.txt Allow kuralı nedir?
Allow kuralı, robots.txt içinde normalde engellenen bir dizin veya URL altındaki belirli bir yolun taranmasına izin vermek için kullanılır. En sık, geniş bir Disallow kuralının içinden tek bir dosyayı ya da alt yolu istisna olarak açmak amacıyla yazılır. Ancak bu kural sayfayı kesin olarak dizine ekletmez; yalnızca tarama izniyle ilgilidir.Basit bir robots.txt örneği şöyledir:
Kod:
User-agent: *
Disallow: /ozel/
Allow: /ozel/acik-ornek.html$
Bu örnekte
/ozel/ altındaki URL'ler genel olarak engellenir; /ozel/acik-ornek.html için tanımlanan daha özel Allow istisnası taramaya izin verir. Sondaki $ eşleşmenin sonunu sabitler; böylece dosya adıyla başlayan başka URL’lere istemeden izin verilmez. Dosyanın alan adının kökünde, yani https://example.com/robots.txt adresinde yayınlanması gerekir.Kural nasıl değerlendirilir?
Bir bot, kendi
User-agent grubuna uygun kuralları değerlendirir. Aynı URL hem Disallow hem de Allow ile eşleşiyorsa, Google’da eşleşen en özgül yol kuralı kullanılır; eşdeğer özgüllükteki Allow/Disallow çatışmasında izin veren kural geçerlidir. Dosyadaki satır sırası bu önceliği değiştirmez. Bu nedenle istisna yolu, engeli kaldırmak istediğiniz gerçek URL yolunu açıkça kapsamalıdır.Örneğin aşağıdaki yapı, yalnızca CSS dosyasına izin verir:
Kod:
User-agent: *
Disallow: /site/
Allow: /site/assets/style.css$
Bu durumda
/site/assets/style.css için izin hedeflenir; /site/gizli-sayfa.html gibi başka bir URL otomatik olarak açılmaz. İzin vermek istediğiniz dosyanın URL yolunu ve büyük-küçük harf kullanımını sitenizdeki gerçek adresle aynı tutun.Allow kuralı ne zaman kullanılmalı?
Önce geniş engelin gerçekten gerekli olduğundan emin olun. Bir klasörü tamamen engellemek yerine yalnızca taranmaması gereken URL'leri belirlemek daha anlaşılır olabilir. Ancak klasörün çoğunu kapatıp içindeki birkaç statik kaynağı açık bırakmanız gerekiyorsa
Allow anlamlıdır.Karar verirken şu ayrımı kullanın:
| Amaç | Uygun yaklaşım | Sonuç |
|---|---|---|
| Bir yolu botlardan uzak tutmak | Disallow | Tarama talebi engellenir |
| Engelli yol içindeki belirli dosyayı açmak | Allow istisnası | Daha özel yol için tarama izni hedeflenir |
| Sayfanın arama sonuçlarına girmesini önlemek | Uygun noindex yöntemi | Dizinlenme kontrolü amaçlanır |
Uygulama ve kontrol adımları
- Açmak istediğiniz URL'nin alan adından sonraki yolunu belirleyin. Örneğin tam adres
https://example.com/ozel/acik-ornek.htmlise kural yolu/ozel/acik-ornek.htmlolur. - robots.txt içinde ilgili
User-agentgrubuna genişDisallowkuralını, ardından istisna olarakAllowsatırını ekleyin. - Dosyayı alan adının kökünden yayınlayın ve tarayıcıda
https://example.com/robots.txtadresini açarak beklediğiniz metnin döndüğünü kontrol edin. - Kullandığınız arama motorunun robots.txt test veya URL denetim aracında hem izin verilen URL'yi hem de hâlâ engelli kalması gereken benzer bir URL'yi ayrı ayrı test edin.
- Sonucu yorumlayın: izin verilen URL taranabilir hâle gelebilir; bu, içeriğin dizine ekleneceği veya arama sonuçlarında görüneceği garantisi değildir.
Dosya okunamıyor, yanlış konumda bulunuyor veya kural farklı bir
User-agent grubunda yer alıyorsa beklenen istisna çalışmayabilir. Ayrıca robots.txt ile engellenen bir sayfaya noindex gibi sayfa içi yönergelerin okunacağı varsayılmamalıdır; bot sayfayı tarayamıyorsa bu yönergeyi göremeyebilir. Hassas içeriği yalnız robots.txt ile korumayın; robots.txt erişim kontrolü veya kimlik doğrulama mekanizması değildir.Sık sorulan sorular
Googlebot grubu varsa yıldız grubundaki Allow da uygulanır mı?
Google daha özgül eşleşen kullanıcı aracısı grubunu seçer; genel yıldız grubunu onunla otomatik birleştirmez. İstisnanın, hedef botun gerçekten kullandığı grupta bulunduğunu kontrol edin. Aynı hedefe ait yinelenen grupların birleşmesi başka bir durumdur.
Allow: / bütün Disallow kurallarını iptal eder mi?
Hayır. Örneğin
Disallow: /ozel/, daha kısa Allow: / kuralına göre bu yolda daha özgüldür. Tek dosyayı açmak için o dosyayı hedefleyen istisna yazılmalıdır.Tam dosya kuralı parametreli adresi de açar mı?
Allow: /ozel/acik-ornek.html$ sona sabitlenmiştir; sonuna sorgu parametresi gelen adresle aynı eşleşme değildir. Parametreli varyantlar da gerekli ise onları ayrıca değerlendirin. Sondaki işareti kaldırıp kapsamı genişletmeden önce bütün eşleşen URL’leri düşünün.