Bu araç neyi test ediyor?
Google'ın tek bir botu yok ve her biri robots.txt dosyanı ayrı ayrı okuyor. Araç canlıdaki /robots.txt dosyanı çeker, her bot için geçerli olan grubu seçer ve yazdığın yolun açık mı kapalı mı olduğunu, kararı hangi satırın verdiğiyle birlikte gösterir.
- Mediapartners-Google: AdSense'in botu. Sayfanı okuyup ona uygun reklamı seçer
- Googlebot: Google Arama'nın ana botu. Google, ads.txt dosyanın da robots.txt ile engellenmemesini istiyor
- AdsBot-Google: Google Ads için açılış sayfalarının kalitesini kontrol eder
- Googlebot-Image: Google Görseller için resimleri tarar
Google hangi kurala göre karar veriyor?
Google robots.txt dosyasını RFC 9309 standardına ve kendi belgelediği birkaç ayrıntıya göre okur. Araç bu kuralları sırasıyla uygular:
- Her bot tek bir grubu izler: kendisiyle en spesifik eşleşen user-agent grubunu. Googlebot-Image kendi grubu varsa onu, yoksa Googlebot grubunu, o da yoksa * grubunu kullanır. Diğer gruplardaki kurallara bakılmaz.
- Mediapartners-Google ve AdsBot-Google * grubunu yok sayar. Onları yalnızca adlarının geçtiği bir grup engelleyebilir.
- En uzun eşleşme kazanır. URL ile eşleşen kurallardan yolu en uzun olan kararı verir.
- Eşitlikte Allow kazanır. Aynı uzunlukta bir Allow ve bir Disallow varsa daha az kısıtlayıcı olan Allow geçerli olur.
- * herhangi bir karakter dizisiyle, $ ise URL'nin sonuyla eşleşir. Yollar büyük-küçük harfe duyarlıdır.
- robots.txt hiç yoksa (404) her şey serbesttir. Sunucu 5xx hatası veriyorsa Google bir süre siteyi tamamen kapalı sayar.
AdSense'e zarar veren robots.txt hataları
Reddedilen ya da reklam gösterimi kısılan sitelerde bunlara sık sık rastlanıyor.
- AdSense botunu adıyla engellemek. User-agent: Mediapartners-Google satırının altında Disallow: / varsa Google sayfalarında reklam gösteremez. Grubu sil ya da kuralı boş bırak: iki noktadan sonra hiçbir şey yazmadan Disallow:
- Herkesi her yerden engellemek. User-agent: * ve Disallow: / ikilisi AdSense botunu durdurmaz ama Googlebot'u durdurur; Google ads.txt dosyanı yok sayabilir ve içeriğini değerlendiremez. Test sitesinden canlıya geçerken bu satırın unutulması çok yaygın.
- Fazla geniş önek kuralları. Disallow: /ads hem /ads.txt'i hem de /ads-rehberi sayfasını engeller. Bir klasörü kastettiysen Disallow: /ads/ yaz.
- CSS, JavaScript ve görselleri engellemek. Googlebot sayfayı doğru görmek için bunlara ihtiyaç duyar. Disallow: /wp-content/ temanı botların gözünde bozar ve görsellerini gizler.
- Yanlış konum. robots.txt yalnızca her alan adının kökünde çalışır: https://siteadin.com/robots.txt. Alt klasördeki dosya yok sayılır; magaza.siteadin.com gibi her alt alan adının kendi dosyası olmalı.
WordPress, Blogger ve CDN'lerde robots.txt
WordPress, kök dizinde gerçek bir dosya yoksa sanal bir robots.txt üretir; gerçek dosya her zaman önceliklidir. Yoast SEO ve Rank Math gibi eklentilerde robots.txt düzenleyicisi var. Ayrıca Ayarlar, Okuma bölümündeki Arama motoru görünürlüğü kutusuna bak: işaretliyse arama motorlarından siteni dizine eklememelerini istiyorsun demektir. Başvurmadan önce işareti kaldır.
Blogger'ın varsayılan robots.txt dosyasında Disallow satırı boş bir Mediapartners-Google grubu zaten var ve bu, AdSense botuna izin veriyor. Ayarlar, Tarayıcılar ve dizine ekleme bölümünden özel robots.txt'i açtıysan bu grubun yerinde durduğundan emin ol.
Cloudflare gibi CDN'ler robots.txt dosyana, örneğin yapay zekâ botları için, kendi satırlarını ekleyebiliyor. O yüzden temandaki ya da projendeki kopyayı değil, canlıdaki dosyayı test et.
robots.txt ve AdSense onayı
AdSense yardım sayfası bu konuda net: robots.txt AdSense botunu engelliyorsa o sayfalarda Google reklamı gösterilemez. Google ayrıca robots.txt ile engellendiği için değerlendiremediği içerikte reklamı kapatabileceğini söylüyor. Googlebot'u engellemek otomatik ret sebebi değil, çünkü AdSense botu Arama'dan ayrı çalışıyor; ama siteni incelemeyi zorlaştırıyor.
Google robots.txt dosyasını 24 saate kadar önbellekte tutar, yani düzeltmenin yansıması bir günü bulabilir. robots.txt de yalnızca bir katman; güvenlik duvarı botları yine geri çevirebilir. O katmanı Googlebot erişim aracımızla test edebilirsin, Approvalens'in tam taraması ise ikisini 100'den fazla kontrolle birlikte çalıştırır. Kaynaklar: https://support.google.com/adsense/answer/10532 ve https://developers.google.com/search/docs/crawling-indexing/google-special-case-crawlers
FAQ
User-agent: * Disallow: / AdSense'i engeller mi?
AdSense botunu doğrudan engellemez; Google, Mediapartners-Google'ın * grubunu yok saydığını belgeliyor. Ama Googlebot'u engeller, bu da ads.txt taramasını ve içeriğinin değerlendirilmesini etkiler. Yani yine de sorun çıkarabilir.
robots.txt'te AdSense botuna nasıl izin veririm?
Botu adıyla anan ve kuralı boş olan bir grup ekle: bir satıra User-agent: Mediapartners-Google, altındaki satıra Disallow: yaz. Boş Disallow her şeye izin verir.
Search Console'daki robots.txt test aracı kaldırıldı mı?
Evet. Google eski aracı 2023'te kaldırdı ve yerine Google'ın dosyanın hangi sürümlerini çektiğini gösteren bir robots.txt raporu koydu. Bu rapor tek tek yolları her bot için test etmiyor; bu araç tam olarak bunu yapıyor.
Mediapartners-Google ile Googlebot arasındaki fark ne?
Mediapartners-Google sayfanı hangi reklamın gösterileceğine karar vermek için okur, Googlebot ise Google Arama için tarar. AdSense kendi botunun Google'ın arama botundan farklı olduğunu söylüyor; incelenmek için sitenin Google'da dizine eklenmiş olması gerekmiyor.
Allow kuralım olduğu halde yol neden engelli görünüyor?
En uzun eşleşen kural kazanır; /blog/taslaklar altındaki her adreste Allow: /blog kuralı Disallow: /blog/taslaklar kuralına yenilir. Allow kuralını daha spesifik yaz ve o bota gerçekten uygulanan grupta durduğunu kontrol et.