Skip to content
Ara

Robots.txt SEO: Tarama İşlemini Verimli Şekilde Kontrol Edin

Robots.txt ile tarayıcıları doğru yönlendirip, indeksleme ve render sorunlarını önlemek için pratik doğrulama ve hata düzeltme adımları öğrenin.

Robots.txt SEO: Tarama Kontrolünü Verimli Yönet

Robots.txt nedir ve ne yapar?

Robots.txt, her alan adının kök dizininde (https://example.com/robots.txt biçiminde) bulunan düz metin bir dosyadır. Amacı arama motoru botlarına hangi yolların taranıp taranmaması gerektiğine dair yönergeler vermektir. Bu dosya tarama davranışını etkilemek için kullanılır; doğrudan sayfa sıralaması yapmaz ve canonical veya noindex meta etiketlerinin yerine geçmez.

Temel kurallar ve format

Robots.txt dosyası kullanıcı ait gruplardan (User-agent) ve her gruba ait direktiflerden (Disallow, Allow, Sitemap vb.) oluşur. Yaygın direktif örnekleri şunlardır:

  • User-agent: Hangi botların bu grup kurallarını takip edeceğini belirtir.
  • Disallow: Erişimi engellenen yol(lar). Boş bırakılırsa tüm site taranabilir.
  • Allow: Spesifik izin verilen alt yollar (özellikle Disallow ile birlikte kullanılır).
  • Sitemap: Site haritası URL'sine işaret edebilir; robots.txt içinde birden fazla sitemap satırı kullanabilirsiniz.

Kısa örnek:

User-agent: *
Disallow: /admin/
Allow: /admin/public-styles.css
Sitemap: https://example.com/sitemap.xml

Nasıl çalışır: tarama, dizine alma ve sıralama ayrımı

Robots.txt yalnızca tarama aşamasını etkiler. Bir URL robots.txt ile engellendiğinde, motor o URL'yi taramayabilir; ancak bu, URL'nin kesinlikle dizine alınmayacağı anlamına gelmez. Başka sayfalardan gelen bağlantılar veya dış sinyaller nedeniyle motorlar o URL'yi iç bağlantı metniyle birlikte dizine ekleyebilir. Öte yandan, bir sayfayı meta noindex ile dizinden kaldırmak için motorun sayfayı tarayabilmesi gerekir; bu yüzden noindex uygulamak istiyorsanız sayfayı robots.txt ile engellememelisiniz.

Ayrıca mobil-first indexing bağlamında dikkat gereklidir: Google artık sitenizi taramak ve indexlemek için öncelikle Googlebot Smartphone'u kullanır. Mobil versiyon için gerekli CSS veya JavaScript dosyalarını robots.txt ile engellerseniz, sayfanın doğru render edilmesini ve dolayısıyla indeksleme kararlarını olumsuz etkileyebilirsiniz.

Doğrulama ve hata ayıklama adımları

Robots.txt değişikliklerini yayımladıktan sonra şu somut adımlarla doğrulayın:

  1. Dosyayı doğrudan kontrol edin: Tarayıcıda https://yourdomain.com/robots.txt adresine gidin veya terminalde içeriği almak için kullanın: curl https://yourdomain.com/robots.txt
  2. HTTP başlıklarını inceleyin: Sadece başlıkları görmek için curl -I https://yourdomain.com/robots.txt çalıştırın. Bu, dosyanın doğru içerik tipi (text/plain) ve 200 yanıtı döndürüp döndürmediğini gösterir.
  3. Bot perspektifinden test edin: Sunucunuz farklı içerik sunuyorsa veya user-agent'a göre davranıyorsa, belirli bir kullanıcı aracısı ile çekmek için curl -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://yourdomain.com/robots.txt kullanın (tam sayfa içeriği için -I kullanmayın).
  4. Sunucu günlüklerini kontrol edin: Hangi botların hangi sayfaları çektiğini görmek için erişim günlüklerinizi inceleyin. Googlebot erişimlerini filtreleyerek robots.txt nedeniyle reddedilen istekleri gözlemleyebilirsiniz.
  5. Tarama cevaplarını doğrulayın: Bir sayfanın gerçekten taranıp taranmadığını anlamak için sunucu günlüklerinde sayfa URL'si için 200/403/404 gibi yanıt kodlarını kontrol edin. Robots.txt engellemesi genellikle tarama isteklerinin yapılmamasıyla sonuçlanır; dolayısıyla ilgili günlük girdileri olmayabilir.
  6. Indexasyon göstergelerini kontrol edin: Sahip olduğunuz site için Google Search Console URL Inspection aracını kullanın. Bu araç sayfasının Google tarafından taranıp taranmadığı ve hangi içerikle render edildiği konusunda bilgi verir; üçüncü taraf siteler için aynı aracı kullanamazsınız.

Sık yapılan hatalar ve nasıl düzeltilir

Aşağıdaki hatalar robots.txt yüzünden görülen en yaygın sorunlardır ve her biri için düzeltme önerisi eklenmiştir:

  • Tüm siteyi yanlışlıkla engellemek: User-agent: *
    Disallow: / şeklinde bir satır tüm içeriğin taranmasını engeller. Düzeltme: Geçici testler için kullanılmışsa önce test ortamında doğrulayın; üretimde tam site engelleyici kuralları kaldırın.
  • Önemli CSS/JS dosyalarını engellemek: Render ve mobil-first index açısından kritik dosyaların engellenmesi, motorların sayfayı doğru görmekten alıkoyar. Düzeltme: Gerekli kaynakların Allow ile açıkça izin verildiğinden veya Disallow satırının onları kapsamadığından emin olun.
  • Dizine alma yerine gizleme amacıyla robots.txt kullanmak: Robots.txt, gizlilik için uygun değildir — dosya herkese açıktır ve dizin dışında tutmaz. Düzeltme: Gizli içerik için kimlik doğrulama veya sunucu tarafı erişim kontrolü kullanın.
  • Büyükçe ve karmaşık kuralların bakımı zorlaşır: Çok sayıda spesifik Disallow/Allow satırı kafa karıştırabilir. Düzeltme: Dosyayı kategorilere ayırıp mantıksal gruplar oluşturun ve yorum satırlarıyla ( # ) açıklayın.

Gelişmiş ipuçları ve uygulamalar

Aşağıdaki uygulamalar robots.txt yönetimini profesyonel seviyeye taşır:

  • Sürüm kontrolü: Robots.txt'yi kaynak kodunuzda tutun ve değişiklikleri sürüm sisteminde izleyin.
  • Sitemap bildirimleri: Sitemap satırını robots.txt içinde bulundurmak, arama motorlarının site haritasına kolay erişmesini sağlar.
  • Bot bazlı farklı kurallar: Özel botlar (ör. Bingbot, Yandex) için ayrı User-agent blokları tanımlayabilirsiniz; en genel kural genellikle User-agent: * bloğu olacaktır.

Karmaşık erişim ihtiyaçlarında sunucu tarafı çözümler (IP bazlı kısıtlama, kimlik doğrulama) robots.txt'ye tercih edilmelidir; robots.txt güvenlik aracı değildir.

Pratik örnekler

Basit herkese açık site (tüm içeriğe erişim):

User-agent: *
Disallow:

Yönetici klasörünü engelle, ama gerekli stil dosyasını izin ver:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sadece belirli botlara izin veya kısıtlama:

User-agent: Googlebot
Disallow:

User-agent: SomeOtherBot
Disallow: /

Doğrulama kontrol listesi (hızlı bakış)

  • robots.txt URL'sini doğrudan açıp içeriği kontrol edin.
  • curl -I ve curl ile farklı user-agent'lar kullanarak sunucunun nasıl cevap verdiğini kontrol edin.
  • Sunucu günlüklerinde ilgili tarayıcı isteklerini ve hata kodlarını inceleyin.
  • Sayfanın dizine girme durumunu kontrol etmek için kendi sitenizdekilerde Google Search Console URL Inspection aracını kullanın.

Son söz — neye öncelik verilmeli?

Robots.txt, tarama verimliliğini yönetmek için güçlü fakat sınırlı bir araçtır. Kritik noktalar: önemli kaynakları engellememek, noindex ihtiyaçlarını engelleyecek şekilde disallow kullanmamak ve değişiklikleri sunucu günlükleri ile doğrulamaktır. Robots.txt'yi site mimarinizin ve indeksleme hedeflerinizin bir parçası olarak düzenli şekilde gözden geçirin.

Sık sorulanlar

Robots.txt ile bir sayfayı dizinden tamamen kaldırabilir miyim?

Hayır; robots.txt bir sayfanın taranmasını engeller ama sayfanın dizine girmesini mutlak olarak engellemez. Dizinden kaldırmak istiyorsanız sayfayı taranabilir bırakıp meta noindex etiketi veya HTTP noindex (x-robots-tag) kullanmalısınız. Ancak noindex'i görebilmesi için arama motorunun sayfayı tarayabilmesi gerekir.

Robots.txt dosyam doğruysa nasıl hala indekslenmeyen sayfalar görüyorum?

İndekslenmeme birden fazla nedene bağlı olabilir: sayfa düşük kaliteli içerik, noindex etiketi, site yapı hatası veya dizin dışı olmasına yol açan algoritmik değişiklikler. Robots.txt sadece taramayı sınırlar; indeksleme ve sıralama başka sinyaller kullanılarak belirlenir. Sahip olduğunuz sayfa ise Google Search Console URL Inspection ile doğrudan nedenini görebilirsiniz.

Robots.txt içinde wildcard (*) ve sonlandırma ($) kullanabilir miyim?

Birçok büyük arama motoru wildcard (*) ve satır sonunu belirten ($) gibi desenleri destekler. Yine de bu destek motordan motora farklılık gösterebilir; karmaşık desenler kullanırken hedef botun resmi dokümantasyonunu kontrol edin ve davranışı curl ile test edin.

Robots.txt dosyasında yapılan değişiklikler ne kadar sürede etkili olur?

Robots.txt dosyası yeni içerik istekleri sırasında botlar tarafından yeniden çekilir; bu yüzden etkisi genellikle hızlıdır. Ancak botların tarama sıklığına göre gerçekteki uygulama zamanlaması değişir. Acil değişikliklerde sunucu günlüklerini ve bot erişimlerini izleyerek uygulamanın gerçekleşip gerçekleşmediğini doğrulayın.

İlgili makaleler