robots.txt Nedir, Nasıl Doğru Yazılır?

robots.txt, arama motoru botlarına sitenizin hangi bölümlerini taramaları gerektiğini söyleyen küçük bir metin dosyasıdır. Komutları, örnekleri ve en sık yapılan hataları anlattık.

İçindekiler
  1. robots.txt nedir ve nerede bulunur?
  2. Temel komutlar ve anlamları
  3. WordPress için örnek robots.txt
  4. robots.txt ile noindex arasındaki kritik fark
  5. Hangi bölümleri engellemek mantıklıdır?
  6. Sık yapılan robots.txt hataları
  7. robots.txt dosyanızı nasıl test edersiniz?
  8. Sık sorulan sorular
  9. Sonuç

Bir sitenin Google’dan neredeyse tamamen kaybolmasının bazen tek bir satırla açıklanabildiğini biliyor muydunuz? Geliştirme sırasında konulan “Disallow: /” satırı yayına alınırken kaldırılmazsa, arama motorları siteyi taramayı bırakır. Bu yüzden robots.txt nedir sorusunun cevabını bilmek, yalnızca geliştiriciler için değil site sahipleri için de önemlidir. Bu yazıda robots.txt dosyasının ne yaptığını, nasıl yazıldığını ve nelere dikkat etmeniz gerektiğini örneklerle anlatıyorum.

robots.txt nedir ve nerede bulunur?

robots.txt, sitenizin kök dizininde duran düz bir metin dosyasıdır ve tarayıcı botlara hangi adresleri tarayıp hangilerini taramamaları gerektiğini söyler. Her zaman alanadiniz.com/robots.txt adresinde yer alır; alt klasörlere konan robots.txt dosyaları dikkate alınmaz.

Googlebot, Bingbot gibi saygın botlar bir siteyi taramadan önce bu dosyayı okur ve kurallara uyar. Ancak dosya bir güvenlik önlemi değildir: Kötü niyetli botlar kuralları görmezden gelebilir ve dosya herkese açıktır. Gizli kalması gereken bir bölümü robots.txt’ye yazmak, aslında o bölümün adresini ilan etmek anlamına gelir.

Temel komutlar ve anlamları

robots.txt nedir sorusunu anladıktan sonra sıra dosyanın diline gelir. Dosya birkaç basit yönergeden oluşur. Her kural grubu bir User-agent satırıyla başlar ve altında izin verilen ya da engellenen yollar listelenir.

Yönerge Ne yapar? Örnek
User-agent Kuralın hangi bot için geçerli olduğunu belirtir; * tüm botlar demektir User-agent: *
Disallow Belirtilen yolun taranmasını engeller Disallow: /wp-admin/
Allow Engellenmiş bir klasör içindeki belirli bir yola izin verir Allow: /wp-admin/admin-ajax.php
Sitemap Site haritasının tam adresini bildirir Sitemap: https://alanadiniz.com/sitemap_index.xml

Yollar büyük-küçük harfe duyarlıdır. Yıldız (*) herhangi bir karakter dizisini, dolar işareti ($) adresin sonunu ifade eder. Örneğin “Disallow: /*?s=” satırı, site içi arama sonuç sayfalarının taranmasını engeller.

WordPress için örnek robots.txt

WordPress, fiziksel bir dosya yoksa sanal bir robots.txt üretir. Çoğu kurumsal site için aşağıdaki gibi sade bir dosya yeterlidir:

User-agent: *

Disallow: /wp-admin/

Allow: /wp-admin/admin-ajax.php

Disallow: /*?s=

Sitemap: https://alanadiniz.com/sitemap_index.xml

Bu dosya yönetim panelinin taranmasını engeller, ancak birçok temanın ve eklentinin kullandığı admin-ajax.php dosyasına izin verir. Site içi arama sonuçları da kapatılır; çünkü bu sayfalar sınırsız sayıda düşük değerli adres üretebilir. Son satır, site haritanızın nerede olduğunu botlara bildirir.

E-ticaret sitelerinde ek kurallar

WooCommerce mağazalarında sepet, ödeme ve hesap sayfalarının taranmasına gerek yoktur. Ayrıca filtre ve sıralama parametreleri aynı ürün listesinin onlarca farklı adresle açılmasına neden olabilir. Bu parametreleri robots.txt ile sınırlamak tarama bütçesini korur; ancak hangi parametrenin engelleneceğine sitenin yapısına bakarak karar vermek gerekir.

robots.txt ile noindex arasındaki kritik fark

robots.txt nedir diye araştıranların en sık düştüğü yanlış anlama şu: “Bu sayfanın Google’da çıkmasını istemiyorum, robots.txt’ye ekleyeyim.” robots.txt taramayı engeller, dizine eklemeyi değil. Google, taramasına izin verilmeyen bir sayfanın adresini başka sitelerden aldığı bağlantılar sayesinde yine de dizine ekleyebilir; bu durumda arama sonucunda açıklamasız bir kayıt görünür.

  • Taramayı engellemek istiyorsanız: robots.txt kullanın (ör. sonsuz filtre sayfaları, yönetim paneli).
  • Dizinden çıkarmak istiyorsanız: Sayfaya noindex meta etiketi ekleyin ve taramaya açık bırakın; Google’ın noindex’i görebilmesi için sayfayı tarayabilmesi gerekir.
  • Kopya sayfaları yönetmek istiyorsanız: Çoğu zaman doğru araç canonical etiketidir.

Hangi bölümleri engellemek mantıklıdır?

Her sitenin ihtiyacı farklıdır, ama karar verirken kendinize şu soruyu sorabilirsiniz: Bu adres bir arama yapan kişiye değer sunuyor mu? Sunmuyorsa ve sayıca çoksa, taramayı sınırlamak mantıklı olabilir. Genellikle değerlendirilen bölümler şunlardır:

  • Yönetim paneli ve giriş sayfaları,
  • Site içi arama sonuçları,
  • Sepet, ödeme ve kullanıcı hesabı sayfaları,
  • Sınırsız kombinasyon üreten filtre ve sıralama parametreleri,
  • Test veya geçici amaçlı oluşturulmuş klasörler.

Buna karşılık hizmet sayfaları, blog yazıları, ürün ve kategori sayfaları, görseller ve sayfanın düzgün görüntülenmesi için gereken dosyalar taramaya açık kalmalıdır. Emin olmadığınız bir bölümü engellemek yerine açık bırakmak, çoğu zaman daha az risklidir.

Sık yapılan robots.txt hataları

Teknik denetimlerde karşılaştığım hataların büyük kısmı birkaç başlıkta toplanıyor:

  1. Geliştirme ortamından kalan “Disallow: /”: Yeni site yayına alındığında tüm siteyi kapatan bu satır unutulabilir. WordPress’teki “Arama motorlarının bu siteyi dizine eklemesini engelle” kutusu da benzer bir etki yaratır.
  2. CSS ve JavaScript dosyalarını engellemek: Google sayfayı bir tarayıcı gibi görüntüler. Tema veya eklenti klasörlerini engellemek, sayfanın bozuk görünmesine ve mobil uyumluluğun yanlış değerlendirilmesine yol açabilir.
  3. Önemli sayfaları yanlışlıkla kapsayan geniş kurallar: “Disallow: /urun” satırı, /urunler/ ile başlayan tüm adresleri de engeller.
  4. Hassas klasörleri robots.txt’de listelemek: Bu klasörleri saklamaz, aksine görünür kılar. Gerçek koruma için sunucu tarafında yetkilendirme gerekir.
  5. Dosyanın erişilemez olması: robots.txt sürekli sunucu hatası veriyorsa Google taramayı yavaşlatabilir veya durdurabilir.

robots.txt dosyanızı nasıl test edersiniz?

Değişiklik yaptıktan sonra dosyanın doğru çalıştığını kontrol etmek için şu adımları izleyebilirsiniz:

  1. Tarayıcıda alanadiniz.com/robots.txt adresini açarak dosyanın güncel hâlini görün.
  2. Google Search Console’daki robots.txt raporundan Google’ın dosyanızı en son ne zaman okuduğunu ve hata olup olmadığını kontrol edin.
  3. Önemli birkaç sayfayı URL denetimi aracıyla inceleyip “robots.txt tarafından engellendi” uyarısı olmadığından emin olun.
  4. Site taşıma veya alan adı değişikliğinden sonra bu kontrolü mutlaka tekrarlayın.

robots.txt, tarama yönetiminin yalnızca bir parçasıdır. Hız, yönlendirmeler, yapılandırılmış veri ve site mimarisiyle birlikte ele alındığında anlam kazanır; bu bütünü teknik SEO rehberinde anlattım.

Sık sorulan sorular

Her sitenin robots.txt dosyasına ihtiyacı var mı?

Zorunlu değildir; dosya yoksa botlar tüm siteyi taranabilir kabul eder. Yine de site haritasını bildirmek ve gereksiz bölümleri kapatmak için basit bir robots.txt bulundurmak iyi bir uygulamadır.

robots.txt ile bir sayfayı Google’dan silebilir miyim?

Hayır. robots.txt yalnızca taramayı engeller. Bir sayfayı dizinden çıkarmak için noindex etiketi kullanmalı ve sayfanın taranmasına izin vermelisiniz; acil durumlarda Search Console’daki kaldırma aracı geçici çözüm sunar.

Yapay zekâ botlarını robots.txt ile engelleyebilir miyim?

Birçok yapay zekâ şirketi botları için ayrı User-agent adları yayımlar ve bunlara robots.txt kuralı yazabilirsiniz. Ancak bu tamamen botun kurallara uymasına bağlıdır ve engellemenin içeriğinizin yapay zekâ yanıtlarında görünürlüğünü de etkileyebileceğini hesaba katmalısınız.

robots.txt değişikliği ne zaman etkili olur?

Google robots.txt dosyasını genellikle önbelleğe alır ve belirli aralıklarla yeniden okur. Değişiklik çoğu zaman kısa sürede fark edilir, ancak anında etkili olacağını varsaymamak gerekir.

Sonuç

Doğru yazılmış bir robots.txt dosyası botların zamanını değerli sayfalarınıza harcamasını sağlar; yanlış bir satır ise tüm emeği görünmez kılabilir. Dosyanızı birlikte gözden geçirmemi isterseniz iletişim sayfasından ulaşabilirsiniz.