robots.txt, web sitenizin kök dizininde bulunan ve tarayıcılara sitenin hangi bölümlerini ziyaret edebileceklerini söyleyen düz bir metin dosyasıdır. Basit, güçlü ve yanlış yapılması kolaydır – tek bir satır, arama motorlarının tüm sitenizi taramasını engelleyebilir.
Bu rehber nasıl çalıştığını, nasıl güvenle yazılacağını ve giderek artan yapay zekâ tarayıcılarının nasıl yönetileceğini anlatıyor.
robots.txt nerede bulunur?
Dosya her ana makinenin kökünde olmalıdır:
https://example.com/robots.txt
Yalnızca o ana makine ve protokol için geçerlidir. blog.example.com kendi dosyasına ihtiyaç duyar; içerik sunuyorsa http:// da öyle (ki zaten HTTPS'e yönlendirmelidir).
robots.txt yoksa (sunucu 404 döndürürse) tarayıcılar her şeyi tarayabileceklerini varsayar.
Temel söz dizimi
User-agent: *
Disallow: /admin/
Disallow: /cart
Allow: /admin/public-help/
Sitemap: https://example.com/sitemap.xml
- User-agent, bir kural grubunun geçerli olduğu tarayıcıyı belirtir.
*tüm tarayıcılar demektir. - Disallow, tarayıcının getirmemesi gereken bir yol önekini belirtir.
- Allow, engellenen bir alan içinde bir istisna oluşturur.
- Sitemap, bir XML site haritasının tam URL'sini verir. Dosyanın herhangi bir yerinde yer alabilir ve tüm tarayıcılar için geçerlidir.
# ile başlayan satırlar yorumdur.
Joker karakterler
Google, Bing ve büyük tarayıcıların çoğu iki özel karakteri destekler:
*herhangi bir karakter dizisiyle eşleşir:Disallow: /*?sort=,?sort=içeren her URL'yi engeller$URL'nin sonunu belirtir:Disallow: /*.pdf$,.pdfile biten URL'leri engeller
Kurallar nasıl eşleştirilir?
robots.txt artık Google'ın uzun süredir uyguladığı yönteme dayanan resmî bir internet standardıdır (2022'de yayımlanan RFC 9309):
- Bir tarayıcı,
User-agentdeğeri kendisiyle en spesifik şekilde eşleşen grubu kullanır. Googlebot, varsa birUser-agent: Googlebotgrubunu izler ve*grubunu yok sayar. - Bu grup içinde en spesifik (en uzun) eşleşen kural kazanır.
- Bir Allow ve bir Disallow kuralı eşit derecede spesifikse Allow kazanır.
Örnek:
User-agent: *
Disallow: /shop/
Allow: /shop/sale/
/shop/sale/shoes izinlidir (Allow kuralı daha uzundur), /shop/new/shoes ise engellenir.
robots.txt’yi getirip doğrulayın ve herhangi bir URL’nin Googlebot veya yapay zekâ botları için engelli olup olmadığını test edin.
robots.txt ne yapar – ve ne yapmaz?
Taramayı kontrol eder, dizine eklemeyi değil. Engellenen bir URL, başka sayfalar ona bağlantı veriyorsa genellikle açıklama olmadan arama sonuçlarında yine de görünebilir. Bir sayfayı arama sonuçlarının dışında tutmak için taramaya izin verin ve bunun yerine noindex robots meta etiketi veya X-Robots-Tag üst bilgisi kullanın.
Herkese açıktır. Herkes robots.txt'nizi okuyabilir. Özel alanları gizlemek için asla kullanmayın – fiilen onların reklamını yapar. Özel içeriği kimlik doğrulamayla koruyun.
Gönüllüdür. Saygın tarayıcılar ona uyar; kötü niyetli botlar yok sayar.
Güvenli örnekler
Her şeye izin ver (ve site haritasını göster)
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
WordPress
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Sitemap: https://example.com/wp-sitemap.xml
Online mağaza
User-agent: *
Disallow: /cart
Disallow: /checkout
Disallow: /account
Disallow: /*?*sort=
Disallow: /*?*filter=
Sitemap: https://example.com/sitemap.xml
Sıralama ve filtreleme parametrelerini engellemek, tarayıcıların binlerce neredeyse aynı URL'ye zaman harcamasını önler.
Test sitesi (her şeyi engelle)
User-agent: *
Disallow: /
Bunu yalnızca test veya geliştirme sitelerinde kullanın – daha da iyisi, onları bir parolayla koruyun. Yayına alırken bunu kaldırmayı unutmak, bir sitenin aramadan kaybolmasının en yaygın nedenlerinden biridir.
Site haritası, engellenen klasörler ve yapay zekâ tarayıcı denetimleriyle bir robots.txt dosyası oluşturun.
Yapay zekâ tarayıcılarını yönetmek
Yapay zekâ şirketleri birkaç tür tarayıcı çalıştırır ve bunlara farklı davranmak faydalıdır:
| Amaç | Örnekler | Engellemenin etkisi |
|---|---|---|
| Eğitim – modelleri eğitmek için içerik toplamak | GPTBot (OpenAI), ClaudeBot (Anthropic), Google-Extended (Google'ın Gemini eğitim kontrolü), CCBot (Common Crawl), Applebot-Extended | İçeriğiniz gelecekteki eğitimlerde kullanılmaz. Arama görünürlüğüne etkisi yoktur. |
| Yapay zekâ araması – yapay zekâ aramasında yanıt vermek ve alıntılamak için sayfaları getirmek | OAI-SearchBot, Claude-SearchBot, PerplexityBot | Sayfalarınız bu yapay zekâ arama motorlarında kaynak olarak görünmeyebilir. |
| Kullanıcı isteğiyle getirme – bir kişi asistandan bir sayfayı okumasını istediğinde | ChatGPT-User, Claude-User, Perplexity-User | Kullanıcılar istediğinde asistan sayfanızı okuyamayabilir. |
Google-Extended ayrı bir tarayıcı değil, bir kontrol belirtecidir: onu engellemek içeriğin Gemini model eğitiminde kullanılmasını durdurur, ancak Googlebot'a dayanan Google Arama'yı ve Yapay Zekâ Genel Bakışları'nı etkilemez.
Yaygın bir ara yol yapılandırması, yapay zekâ aramasında görünür kalırken eğitimi engeller:
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Tarayıcı adları ve amaçları değiştiği için sağlayıcıların belgelerini düzenli aralıklarla kontrol edin.
ChatGPT, Claude, Perplexity ve Google AI’ın sayfanıza erişip okuyabildiğini ve alıntılayabildiğini kontrol edin.
Yaygın hatalar
- Test sitesinden kalan
Disallow: /. Bir yayına alma veya taşımadan sonra robots.txt'yi her zaman kontrol edin. - CSS ve JavaScript'i engellemek. Google sayfaları işlemek için bunlara ihtiyaç duyar; engellemek sayfaların Googlebot'a bozuk görünmesine neden olabilir.
- Sayfaları Google'dan kaldırmak için robots.txt kullanmak. Engellenen sayfalardaki noindex görülemez. Bunun yerine noindex kullanın.
- Arama motorlarının görmesini istediğiniz canonical veya yönlendirme içeren sayfaları engellemek.
- Yazım hataları ve yanlış büyük/küçük harf. Yollar büyük/küçük harfe duyarlıdır:
/Admin/ile/admin/farklıdır. - Çok büyük bir dosya. Google yalnızca ilk 500 KiB'ı okur.
- robots.txt'yi hatalarla sunmak. robots.txt bir 5xx hatası döndürürse Google siteyi taramayı geçici olarak durdurabilir.
Değişiklikleri test etmek
Yeni bir robots.txt yayınlamadan önce en önemli URL'lerinizi ona göre test edin – ana sayfa, ana kategoriler ve ürün sayfaları, CSS ve JavaScript dosyalarınız. Search Console'un robots.txt raporu, Google'ın en son getirdiği sürümü ve bulduğu sorunları gösterir.
robots.txt, noindex ve parola koruması
Bu üç araç farklı sorunları çözer ve bunları karıştırmak dizine ekleme sorunlarının yaygın bir kaynağıdır:
| Hedef | Doğru araç | Neden |
|---|---|---|
| Düşük değerli URL'lerde tarama süresinden tasarruf (filtreler, site içi arama) | robots.txt Disallow | Tarayıcıların onları getirmesini tamamen durdurur |
| Bir sayfayı arama sonuçlarının dışında tutmak | noindex meta etiketi veya X-Robots-Tag | Tarayıcıların onu görmek için sayfayı getirebilmesi gerekir |
| İçeriği özel tutmak | Parola veya giriş | Erişimi gerçekten yalnızca kimlik doğrulama engeller |
| Bir sayfayı Google'dan hızla kaldırmak | noindex artı Search Console'daki Kaldırmalar aracı | Araç, noindex etkili olana kadar sayfayı geçici olarak gizler |
Parametreler ve faset navigasyon
E-ticaret ve ilan siteleri genellikle her filtre kombinasyonu için şu tür URL'ler üretir:
/shoes?colour=red
/shoes?colour=red&size=8
/shoes?colour=red&size=8&sort=price
Bu sayfalar arama yapanlar için benzersiz bir değer katmıyorsa sıralama gibi sonsuz kombinasyon oluşturan parametreleri engelleyin:
User-agent: *
Disallow: /*?*sort=
Disallow: /*?*sessionid=
Sıralamasını istediğiniz filtre sayfalarını engellememeye dikkat edin – örneğin gerçek arama talebi olan “kırmızı koşu ayakkabısı” sayfası, kendi içeriğine sahip, taranabilir ve dizine eklenebilir bir URL olmalıdır.
Herhangi bir sitenin robots.txt'sini okumak
Rakiplerin robots.txt dosyalarına bakmak öğretici olabilir. Tarayıcıları hangi bölümlerden uzak tuttuklarını, site haritalarının nerede olduğunu ve yapay zekâ tarayıcılarını nasıl yönettiklerini görebilirsiniz. Dosya herkese açık olduğu için, yönettiğiniz bir site aniden görünürlük kaybettiğinde kontrol edilecek ilk şey de odur.
Test ve izleme
robots.txt değişiklikleri yüksek risklidir, bu yüzden onlara kod gibi davranın:
- Düzenlemeden önce önceki sürümün bir kopyasını saklayın
- Yayınlamadan önce önemli URL'leri – ana sayfa, ana kategoriler ve ürünler, CSS ve JavaScript dosyaları – yeni kurallara göre test edin
- Yayınladıktan sonra dosyanın bir HTML hata sayfası değil, 200 durumuyla düz metin döndürdüğünü kontrol edin
- Sonraki günlerde Search Console'un robots.txt raporunu ve Sayfa dizine ekleme raporunu izleyin
Bazı içerik yönetim sistemleri ve SEO eklentileri robots.txt'yi dinamik olarak oluşturur. Fiziksel bir robots.txt dosyası yüklerseniz genellikle sanal olanı geçersiz kılar – gerçekte sunulan sürümü düzenlediğinizden emin olun.
Önemli çıkarımlar
- robots.txt taramayı kontrol eder, dizine eklemeyi değil – sayfaları arama sonuçlarının dışında tutmak için noindex kullanın.
- En spesifik eşleşen kural kazanır; eşitlik durumunda Allow, Disallow'u yener.
- Sayfaların işlenmesi için gereken CSS veya JavaScript dosyalarını asla engellemeyin.
- Yapay zekâ eğitim tarayıcılarını yapay zekâ arama tarayıcılarından ayırın; eğitimi engellemek aramayı etkilemez.
- Yayına alma ve taşımalardan sonra unutulmuş Disallow: / kuralları için robots.txt'yi her zaman kontrol edin.
- Her değişikliği yayınlamadan önce önemli URL'lere göre test edin.
Sık sorulan sorular
Bir robots.txt dosyasına ihtiyacım var mı?
Kesinlikle değil. Dosya yoksa tarayıcılar her şeye erişir. Ancak robots.txt, site haritanızı listelemek ve tarayıcıları düşük değerli alanlardan uzak tutmak için standart yerdir, bu yüzden çoğu sitenin bir tane olmalıdır.
Google crawl-delay'i destekliyor mu?
Hayır. Googlebot Crawl-delay yönergesini yok sayar. Bing ve bazı diğer tarayıcılar ona uyar.
Değişikliklerin etkili olması ne kadar sürer?
Google robots.txt'yi genellikle 24 saate kadar önbellekte tutar, bu yüzden değişikliklerin fark edilmesi bir gün sürebilir.
Belirli bir sayfayı engelleyebilir miyim?
Evet – Disallow: /private-page –, ama bunun dizine eklemeyi değil taramayı engellediğini unutmayın. Amaç sayfayı arama sonuçlarının dışında tutmaksa noindex kullanın.
Kendi sitenizi kontrol edin
80 üzeri kontrolle ücretsiz bir denetim çalıştırın ve her sorun için bir çözüm alın.