
Robots.txt dosyanızdaki 'Allow' ve 'Disallow' çakışmalarını üretici ile nasıl çözersiniz?
Bir SEO editörü olarak, web sitenizin arama motorları tarafından nasıl algılandığı ve taranması gerektiği konusunda hassas bir yaklaşıma sahip olmak esastır. Bu hassasiyetin temel taşlarından biri de `robots.txt` dosyasıdır. Bu küçük ama güçlü dosya, sitenizin hangi bölümlerinin arama motoru örümcekleri tarafından ziyaret edilip taranabileceğini veya hangi bölümlerin taranmaması gerektiğini belirler. Ancak bazen iyi niyetle yazılan veya zamanla güncel olmayan kurallar, `Allow` (izin ver) ve `Disallow` (engelle) yönergeleri arasında çatışmalara yol açabilir. Bu çatışmalar, sitenizin
arama motoru görünürlüğü üzerinde olumsuz etkiler yaratmanın yanı sıra, özellikle Google AdSense ile para kazanan web siteleri için reklam gösterimlerini ve dolayısıyla geliri de riske atabilir. Bu makalede, bu tür çakışmaları "üretici" yaklaşımıyla nasıl çözeceğinizi, yani bilinçli, sistematik ve etkili bir şekilde nasıl yöneteceğinizi detaylandıracağız.
Giriş: Robots.txt ve Çatışmaların Önemi
`robots.txt` dosyası, bir web sitesinin kök dizininde bulunan ve web sunucusu ile arama motoru botları arasında bir iletişim protokolü görevi gören basit bir metin dosyasıdır. Amacı, botlara hangi URL'leri tarayabilecekleri ve hangi URL'lerden uzak durmaları gerektiği konusunda talimat vermektir. Bu, sunucu yükünü azaltmak, kopyalanmış içeriğin indekslenmesini önlemek ve gizli veya önemsiz sayfaların arama sonuçlarında görünmesini engellemek için kritik öneme sahiptir. Özellikle
site tarama bütçesi sınırlı olan büyük siteler için, botların yalnızca değerli içeriği taramasını sağlamak hayati bir SEO stratejisidir.
Ancak `robots.txt` dosyaları her zaman kusursuz değildir. Bazen, bir dizini engellerken (Disallow) o dizin içindeki belirli bir dosyaya veya alt dizine izin vermek (Allow) isteyebiliriz. Örneğin, `/wp-admin/` dizinini tamamen engellerken, bir eklentinin ihtiyaç duyduğu `/wp-admin/admin-ajax.php` dosyasına izin vermek gibi. İşte bu noktada `Allow` ve `Disallow` yönergeleri arasında çatışmalar ortaya çıkabilir. Bu çatışmalar doğru bir şekilde çözülmezse, arama motorları sitenizin önemli bölümlerini gözden kaçırabilir, yanlış sayfaları indeksleyebilir veya AdSense reklamlarınızın gösterilmesini engelleyebilir.
Robots.txt Yönergelerini Anlamak
Çatışmaları çözmeden önce, `robots.txt` dosyasındaki temel yönergelerin nasıl çalıştığını anlamak önemlidir:
*
User-agent: Bu yönerge, kuralların hangi arama motoru botu için geçerli olduğunu belirtir. Örneğin, `User-agent: Googlebot` sadece Google'ın ana tarayıcısını hedeflerken, `User-agent: *` tüm botları hedefler.
*
Disallow: Botların belirli bir URL yolunu veya dizini taramasını engeller. Örneğin, `Disallow: /private/` `/private/` dizini altındaki her şeyi engeller.
*
Allow: Bu yönerge, daha geniş bir `Disallow` kuralı tarafından engellenen bir dizin veya dosya yoluna istisna oluşturarak botların taramasına izin verir. Örneğin, `Disallow: /wp-content/` ve `Allow: /wp-content/uploads/` kuralları, `wp-content` dizinindeki her şeyi engellerken, `uploads` alt dizinindeki içeriğin taranmasına izin verir.
Çatışma durumlarında, arama motorları genellikle "en spesifik kuralın kazandığı" ilkesini uygular. Yani, bir yol için hem `Allow` hem de `Disallow` kuralı varsa, botlar genellikle en uzun ve dolayısıyla en spesifik olan kuralı uygular. Eğer kurallar aynı uzunluktaysa, Google genellikle `Allow` kuralını tercih eder. Ancak bu kural farklı arama motorları arasında küçük farklılıklar gösterebilir, bu yüzden net ve kesin kurallar yazmak en iyi yaklaşımdır.
Çatışmalar Neden Ortaya Çıkar?
`Allow` ve `Disallow` çatışmaları çeşitli nedenlerle ortaya çıkabilir:
*
Geliştirici Hataları: robots.txt dosyası manuel olarak düzenlenirken yapılan basit yazım hataları veya mantık hataları.
*
CMS ve Eklenti Çakışmaları: WordPress gibi içerik yönetim sistemleri (CMS) veya yüklü eklentiler, kendi `robots.txt` kurallarını ekleyebilir ve bu, mevcut kurallarla çatışabilir.
*
Eski Kurallar: Web sitesi yapısı veya ihtiyaçları değiştikçe, `robots.txt` dosyası güncellenmeyebilir ve eski kurallar yeni yapıyla çatışabilir.
*
Kapsamlı Engellemeler: Çok geniş bir `Disallow` kuralı (örneğin `Disallow: /`) ile başlayıp ardından belirli yollar için `Allow` kuralları eklemek, karmaşıklığı artırabilir ve yanlışlıkla istenmeyen engellemelere yol açabilir.
Çatışmaların Web Sitenize Etkileri
Robots.txt çatışmaları, sitenizin SEO ve AdSense performansı üzerinde ciddi etkilere sahip olabilir:
*
SEO Açısından:*
Yanlış İndeksleme: Önemli sayfalarınızın taranmaması ve dolayısıyla indekslenmemesi veya tam tersi, indekslenmemesi gereken sayfaların arama sonuçlarında görünmesi.
*
Düşük Sıralamalar: Arama motorları sitenizin önemli içeriğine erişemediğinde, alakalı sorgularda sıralamanız düşebilir.
*
Tarama Bütçesi Kaybı: Botlar, çatışan kuralları çözmeye çalışırken veya yanlış yolları tarayarak değerli tarama bütçenizi israf edebilir.
*
AdSense Açısından:*
Reklam Gösterim Sorunları: AdSense reklamları içeren sayfalarınız yanlışlıkla engellenirse, botlar bu sayfaları tarayamaz ve reklamları doğrulayamaz. Bu da reklam gösterimlerinin azalmasına veya tamamen durmasına yol açar.
*
Gelir Kaybı: Reklam gösterimlerindeki düşüş doğrudan AdSense gelirlerinizin azalması anlamına gelir.
*
AdSense Politikaları Uyumsuzluğu: AdSense politikaları, reklamların yayınlandığı içeriğin botlar tarafından erişilebilir olmasını gerektirebilir. Engellenen içerik bu politikalara aykırı düşebilir ve hesabınızın risk altına girmesine neden olabilir.
AdSense politikalarına uyum, gelir sürekliliği için hayati öneme sahiptir.
Çatışmaları Çözme Stratejisi: Üretici Yaklaşımı
Robots.txt dosyalarındaki `Allow` ve `Disallow` çatışmalarını çözmek için "üretici" yaklaşımını benimsemek, yani soruna proaktif, sistematik ve bilinçli bir şekilde yaklaşmak, en etkili yöntemdir. Bu yaklaşım, sadece mevcut sorunu düzeltmekle kalmaz, aynı zamanda gelecekte benzer sorunların ortaya çıkmasını da engeller.
Adım 1: Mevcut Robots.txt Dosyanızı Gözden Geçirme
İlk adım, web sitenizin mevcut `robots.txt` dosyasını dikkatlice incelemektir.
* Dosyayı `www.siteniz.com/robots.txt` adresinden tarayıcınızda görüntüleyin.
* Her bir `User-agent` bloğunu ve altındaki `Allow` ve `Disallow` yönergelerini okuyun.
* Hangi botların hangi bölümlere erişiminin olduğunu veya engellendiğini not edin.
Adım 2: Çatışan Kuralları Tespit Etme
Bu adımda, potansiyel çatışma noktalarını belirlemeniz gerekir.
* Örnek bir çatışma:
```
User-agent: *
Disallow: /klasor/
Allow: /klasor/dosya.php
```
Burada, `/klasor/` tamamen engellenirken, `/klasor/dosya.php`'ye izin verilmiştir. Bu kural, Google'ın "en spesifik kural kazanır" ilkesine göre genellikle doğru çalışır, çünkü `/klasor/dosya.php` daha spesifiktir. Ancak, bu tür yapıların yanlış anlaşılması veya yanlış uygulanması riski her zaman vardır.
* Daha karmaşık bir çatışma:
```
User-agent: *
Disallow: /static/
Allow: /static/images/
Disallow: /static/images/secret.jpg
```
Bu örnekte, `secret.jpg` dosyasına ne olacağı net değildir. İlk iki kurala göre izin verilmesi gerekirken, üçüncü kural engellemektedir. Yine en spesifik kural kazanır prensibiyle `secret.jpg` engellenir, ancak bu tür iç içe kurallar kafa karışıklığı yaratabilir.
*
Google Search Console Robots.txt Test Aracı: Bu araç, çatışmaları tespit etmede en büyük yardımcınızdır. `robots.txt` dosyanızdaki herhangi bir URL'yi test ederek, o URL'nin hangi kurallar tarafından etkilendiğini ve taranıp taranamayacağını görmenizi sağlar. Bu aracı kullanmak, teorik incelemeden çok daha pratik ve güvenilirdir.
Adım 3: Amaç Belirleme ve Hiyerarşi Oluşturma
Hangi sayfaların kesinlikle taranması, hangilerinin engellenmesi gerektiğini net bir şekilde belirlemelisiniz. Bu, sitenizin
içerik denetimi sürecinin bir parçasıdır.
*
Taranması Gerekenler: Ana içerik sayfaları, blog yazıları, ürün sayfaları, iletişim sayfaları ve özellikle AdSense reklamlarını barındıran tüm sayfalar.
*
Engellenmesi Gerekenler: Yönetim panelleri (örneğin `/wp-admin/`), geçici dosyalar, geliştirme ortamları, hassas kullanıcı verileri içeren sayfalar, kopyalanmış içerik (örn. arama sonuçları sayfaları), giriş/kayıt sayfaları gibi botların indekslemesini istemediğiniz veya bir değeri olmayan sayfalar.
* Bir hiyerarşi oluşturun: Genel bir engelleme kuralı mı (örneğin `/klasor/`) uygulayacaksınız ve ardından spesifik istisnalara mı izin vereceksiniz? Yoksa her şeyi varsayılan olarak izin verip sadece çok belirli şeyleri mi engelleyeceksiniz? Genellikle, "önce genel engelle, sonra özel izin ver" yaklaşımı daha yönetilebilir olabilir.
Adım 4: Basit ve Açık Kurallar Oluşturma
Karmaşık ve iç içe geçmiş kurallar yerine, mümkün olduğunca basit ve anlaşılır bir `robots.txt` dosyası oluşturun.
*
Minimum Kural Sayısı: Yalnızca gerçekten ihtiyacınız olan kuralları kullanın. Her `Allow` ve `Disallow` kuralı bir potansiyel çatışma noktasıdır.
*
Yorum Satırları: Her kuralın veya kural bloğunun ne anlama geldiğini açıklamak için `#` ile başlayan yorum satırları ekleyin. Bu, gelecekteki bakım veya ekip üyelerinin anlaması için çok önemlidir.
```
Bu bolum Googlebot'a yonelik kurallari icerir.
User-agent: Googlebot
Disallow: /wp-admin/ # Yonetim panelini engelle
Allow: /wp-admin/admin-ajax.php # Temalar ve eklentiler icin gerekli olan bu dosyaya izin ver
Disallow: /search/ # Site ici arama sonuclarini engelle
```
*
Glob Karakterleri: `*` (herhangi bir karakter dizisi) ve `$` (URL'nin sonu) gibi glob karakterlerini dikkatli kullanın.
* `Disallow: /private/*` `/private/` ile başlayan her şeyi engeller.
* `Disallow: /*.pdf$` tüm PDF dosyalarını engeller.
Adım 5: Google Search Console Robots.txt Test Aracı Kullanımı
Bu araç, `robots.txt` dosyanızı sunucunuza yüklemeden önce test etmenin en güvenilir yoludur.
* Google Search Console hesabınıza giriş yapın.
* `Ayarlar` > `Tarama` > `Robots.txt Test Aracı` bölümüne gidin.
* Burada, mevcut `robots.txt` dosyanız gösterilir. Dosyayı düzenleyebilir ve sanal olarak test edebilirsiniz.
* "Test Et" düğmesini tıklayın. Araç size belirli bir URL'nin hangi `User-agent` için taranabilir olup olmadığını veya hangi kural tarafından engellendiğini gösterecektir.
* Bu araç, "Robots Txt Üretici" yaklaşımınızın temel bir parçasıdır. Herhangi bir değişikliği canlıya almadan önce burada kapsamlı bir şekilde test edin.
Adım 6: Uygulama ve İzleme
Testleriniz başarılı olduktan sonra, yeni `robots.txt` dosyanızı web sitenizin kök dizinine yükleyin.
*
Yükleme: Dosyayı genellikle bir FTP istemcisi veya web barındırma paneliniz aracılığıyla `public_html` veya `www` klasörüne yükleyebilirsiniz.
*
Doğrulama: Yükledikten sonra, tarayıcınızdan tekrar `www.siteniz.com/robots.txt` adresini ziyaret ederek yeni dosyanın yayınlandığından emin olun.
*
İzleme: Değişikliklerin etkilerini gözlemlemek için Google Search Console'da "Tarama İstatistikleri" raporunu düzenli olarak kontrol edin. Hata oranlarında bir düşüş veya belirli sayfaların taranmasında bir artış olup olmadığını takip edin.
*
AdSense Takibi: AdSense raporlarınızı yakından izleyin. Reklam gösterimleri veya gelirinizde beklenmedik düşüşler olup olmadığını kontrol edin. Eğer varsa, `robots.txt` dosyasında bir hata yapmış olabilirsiniz ve düzeltilmesi gereken sayfaların taranıp taranamadığını tekrar kontrol edin. Bu
izleme ve optimizasyon süreci, sitenizin sağlığı için süreklilik gerektirir.
En İyi Uygulamalar ve AdSense Düşünceleri
*
Minimalist Yaklaşım: Sadece gerçekten engellemeniz gereken URL'leri engelleyin. Fazla kural, sorun çıkarma potansiyelini artırır. Eğer bir sayfa indekslenmemeli ama taranabilir olmalıysa, `robots.txt` yerine `
` etiketini kullanmayı tercih edin.
*
Reklam Alanları: AdSense reklamları içeren tüm sayfaların ve hatta reklamların bulunduğu div'lerin veya JavaScript dosyalarının botlar tarafından erişilebilir olduğundan emin olun. Aksi takdirde, reklamlar boş görünebilir veya hiç gösterilmeyebilir.
*
Güvenlik Değil, Tarama Kontrolü: `robots.txt` bir güvenlik mekanizması değildir. Hassas bilgileri botlardan gizleyebilir, ancak doğrudan bir kullanıcı URL'yi bilirse içeriğe yine de erişebilir. Güvenlik için, sunucu tarafı kimlik doğrulama veya diğer güvenlik önlemlerini kullanmalısınız.
*
İç Bağlantılar: Engellediğiniz sayfalara iç bağlantılar vermemeye özen gösterin. Bir sayfa `robots.txt` ile engellenmiş olsa bile, başka bir yerden link alıyorsa, botlar bu linki görecek ve "nofollow" etiketi yoksa PageRank geçişi kısmen devam edebilir. Bu konuyu daha detaylı öğrenmek için /makale.php?sayfa=seo-temelleri makalemize göz atabilirsiniz.
*
Periyodik İnceleme: Web siteniz geliştikçe, `robots.txt` dosyanızın da güncel ve doğru kaldığından emin olmak için düzenli olarak (örneğin, her birkaç ayda bir veya büyük site değişikliklerinden sonra) gözden geçirin. Özellikle yeni eklentiler veya temalar yüklediğinizde, bu onların kendi `robots.txt` kurallarını ekleyip eklemediğini kontrol etmek için önemlidir. AdSense performansınızı artırmak için /makale.php?sayfa=adsense-optimizasyon-rehberi makalemizdeki ipuçlarını da inceleyebilirsiniz.
Sonuç
`robots.txt` dosyanızdaki `Allow` ve `Disallow` çakışmalarını çözmek, yalnızca iyi bir SEO uygulaması değil, aynı zamanda AdSense gelirlerinizin ve web sitenizin genel sağlığının korunması için de kritik bir adımdır. Bir "Üretici" gibi yaklaşarak, yani sorunları sistematik bir şekilde tanımlayarak, net kurallar oluşturarak ve Google Search Console gibi araçları kullanarak, sitenizin arama motorları tarafından doğru bir şekilde taranmasını ve
indeksleme stratejisinizin kusursuz bir şekilde işlemesini sağlayabilirsiniz. Unutmayın, `robots.txt` dosyası canlı bir belgedir ve web sitenizin ihtiyaçları değiştikçe güncellenmesi ve izlenmesi gereken bir parçasıdır. Bu sayede hem SEO performansınızı artırır hem de AdSense reklamlarınızın sorunsuz bir şekilde gösterilmeye devam ettiğinden emin olursunuz.
Yazar: Ezgi Avcı
Ben Ezgi Avcı, bir Dijital Pazarlama Uzmanı. Platformumuzda teknolojiyi herkes için anlaşılır kılmak, karmaşık konuları basitleştirerek okuyucularımızın günlük yaşamında pratik olarak kullanabileceği bilgiler sunmak, yeni beceriler kazandırmak, farkındalık oluşturmak ve teknoloji dünyasındaki gelişmeleri anlaşılır bir dille aktarmak amacıyla yazıyorum.