Robots.txt dosyası, arama motoru botlarına hangi sayfaların taranabileceğini ve hangilerine erişilmemesi gerektiğini bildiren kontrol mekanizmasıdır.
Google Search Central bu dosyanın tarama sürecinde yol gösterici olduğunu, ancak indekslemeyi tek başına engellemediğini açıkça belirtir. Robots.txt’nin doğru yapılandırılması, sitenin tarama bütçesini verimli kullanmasını sağlar ve teknik hataları en aza indirir.
Robots.txt Dosyası Nedir? Ne İşe Yarar?
Robots.txt, web sitesine gelen arama motoru botlarına talimat veren basit bir metin dosyasıdır. W3C’nin Robots Exclusion Protocol tanımına göre, sitenin hangi bölümlerinin botlar tarafından taranması gerektiğini belirler. Robots.txt, özellikle büyük sitelerde tarama yükünü azaltmak, gereksiz sayfaları engellemek ve tarama önceliğini belirlemek için kullanılır.
Google’ın açıklamalarına göre robots.txt, taramayı kontrol eder fakat indekslemeyi doğrudan engellemez. Bir sayfa başka sitelerden bağlantı alıyorsa, robots.txt ile engellense bile indekslenme ihtimali devam eder. Bu nedenle robots.txt yalnızca tarama talimatları için kullanılır.
Robots.txt Dosyası Nasıl Çalışır?
Bir bot, siteye geldiğinde ilk olarak kök dizindeki robots.txt dosyasını tarar. Dosyadaki user-agent talimatlarını okur ve hangi bölgelere erişeceğine karar verir. Googlebot ve diğer arama motorları, robots.txt’de tanımlı kurallara büyük ölçüde uyar. Google Search Central, botların robots.txt’yi yorumlarken yalnızca ilk eşleşen kurala değil, tüm kuralların hiyerarşisine dikkat ettiğini ve en spesifik kuralın uygulanacağını açıkça belirtir.
Robots.txt komutları şu mantıkla çalışır:
- Bot önce kendisine özel tanımlanmış user-agent kurallarına bakar.
- Eğer özel bir kural yoksa genel kuralları temel alır.
- Disallow ile engellenmiş bir URL varsa bot o yolu taramaz.
- Allow, belirli bir klasör veya dosya için istisna yaratır.
Bu kontrol mantığı, Robots Exclusion Protocol’ün temelini oluşturur. Google’ın tarama sistemi, robots.txt’deki kuralları milisaniyeler içinde okuyarak tarama yolunu belirler. Googlebot, özellikle büyük sitelerde tarama bütçesini verimli kullanmak için bu kuralları taramanın en başında dikkate alır. Robots.txt sinyalleri, tarama sırası belirlenirken site hızına, sunucu yanıt sürelerine ve daha önce taranmış URL geçmişine göre değerlendirilir.
Arama motorları robots.txt dosyasını yalnızca bir kez okumaz. Dosya, belirli aralıklarla yeniden kontrol edilir. Google, robots.txt’de yapılan değişiklikleri kısa sürede algılar ve tarama modelini buna göre günceller. Bu nedenle yanlış yazılan bir kural, bot tarafından hızlıca uygulanır ve çok kısa sürede önemli sayfaların taranmasını durdurabilir. Google’ın teknik açıklamalarında, robots.txt’deki tek bir karakter hatasının bile beklenmeyen sonuçlara yol açabileceği vurgulanır.
Bir bot, disallow edilen bir URL’ye gelirse o yolu taramaz, ancak URL hakkında bilgi toplayabilir. Örneğin harici bir siteden verilen bağlantı Google’a URL’nin var olduğunu bildirir. Bu nedenle robots.txt yalnızca tarama sürecini kontrol eder, indekslemeyi engellemek için tek başına yeterli değildir. Google’ın “Robots.txt myths” açıklamasında bu durum net şekilde ifade edilir.
Googlebot, robots.txt dosyası çok büyük olduğunda veya gereksiz karmaşık yapıldığında performans kaybı yaşamamak için dosyanın yalnızca belirli bir kısmını okur. Bu nedenle dosyanın sade, anlaşılır ve gereksiz kurallardan arındırılmış olması tavsiye edilir. Google tarama sistemi, satır satır ilerler ve geçersiz ifadeleri göz ardı eder. Ancak çelişen kurallar olduğunda, en spesifik eşleşme uygulanır.
Modern tarama sistemleri, özellikle JavaScript oluşturmalı sitelerde robots.txt’nin önemini daha da artırmıştır. Googlebot, sayfayı oluşturmak için ikinci aşama olan rendering sürecine geçmeden önce robots.txt kurallarını uygular. Eğer bir JS dosyası robots.txt ile engellenmişse Google sayfayı tam anlamıyla yorumlayamaz. Bu durum dizinlenebilirlik açısından ciddi sorunlar yaratabilir.
Sonuç itibarıyla robots.txt, tarama sürecinin ilk adımında Googlebot’un siteyi nasıl ele alacağını belirleyen kritik bir kontrol yapısıdır. Bu dosyada yapılan her değişiklik tarama davranışını doğrudan etkiler. Doğru yazılmış bir robots.txt, arama motorlarına net talimat verirken, yanlış bir yapı sitenin görünürlüğünü doğrudan zayıflatabilir.
Robots.txt Dosyasını Nereye Yüklemeliyim? (Doğru Konum)
Robots.txt dosyası yalnızca bir konumda çalışır: site kök dizini.
Örnek doğru URL:
https://www.siteadi.com/robots.txt
Subdomain kullanılıyorsa her subdomain için ayrı bir robots.txt gerekir:
https://blog.siteadi.com/robots.txt
Google’ın resmi dokümantasyonu, robots.txt dosyasının alt klasörlerde yer alması durumunda botların bu dosyayı dikkate almayacağını net şekilde belirtir.
Robots.txt ile Hangi Botlar Kontrol Edilir? (User-agent Mantığı)
Robots.txt, user-agent adı verilen bot tanımlayıcıları üzerinden çalışır. En bilinen user-agent örnekleri aşağıda sıralanmıştır:
- Googlebot → Google’ın web tarayıcısı
- Googlebot-Image → Görsel arama botu
- Googlebot-News → Google Haberler botu
- Bingbot → Microsoft Bing botu
- DuckDuckBot → DuckDuckGo tarayıcısı
- YandexBot → Yandex botu
Örnek yapı:
User-agent: Googlebot
Disallow: /gecici/
Eğer tüm botları kapsamak isterseniz yıldız işareti (*) kullanılır:
User-agent: *
Disallow: /panel/
Robots.txt Dosyası Nasıl Oluşturulur? (Temel Yapı)
Robots.txt tamamen düz metin formatında hazırlanır. UTF-8 karakter seti önerilir. Google’ın önerileri doğrultusunda gereksiz karmaşık kurallardan uzak durmak, dosyanın okunabilirliğini artırır. Dosya içindeki temel komutlar şu şekildedir:
User-agent: Bot seçimi
Disallow: Engellenen dizin veya URL
Allow: Erişime izin verilen URL
Sitemap: Site haritası bildirimi
Crawl-delay: Taramalar arasında gecikme (Google tarafından desteklenmez)
Basit bir örnek:
User-agent: *
Disallow: /admin/
Allow: /admin/giris.html
Sitemap: https://www.siteadi.com/sitemap.xml
Disallow, Allow ve Crawl-delay Komutları Nasıl Kullanılır?
Disallow, bir botun belirli bir yolu taramasını engeller.
Disallow: /sepet/
Disallow: /arama-sonuclari/
Allow, engellenen bir klasörde belirli bir dosyaya izin vermek için kullanılır.
Disallow: /uploads/
Allow: /uploads/kategori/
Crawl-delay, Google desteklemez ancak Bing gibi bazı botlar kabul eder. Bu komut, sunucu yükünü dengelemek için botları yavaşlatmak amacıyla kullanılır.
Crawl-delay: 10
Robots.txt ile Hangi Sayfalar Engellenmeli, Hangileri Engellenmemelidir?
Google’ın teknik SEO uyarılarında, yalnızca değeri olmayan ve taranması gerekmeyen sayfaların engellenmesi önerilir. Yanlış sayfaların engellenmesi tüm sıralama sürecine zarar verebilir. Engellenmesi önerilen sayfa türlerine aşağıda yer verilmiştir:
- Yönetim paneli ve kontrol sayfaları
- Sepet adımları
- Oturum filtreleme parametreleri
- Geçici yönlendirme sayfaları
- Tekrarlı filtreleme URL’leri
Engellenmemesi gereken sayfa türleri:
- Ürün sayfaları
- Kategori sayfaları
- Blog yazıları
- Hakkında, iletişim ve hizmet sayfaları
- Canonical kullanılan sayfalar
Bununla birlikte, içeriğin tamamen gizlenmesini istiyorsanız robots.txt’in yeterli olmadığını unutmayın. Bu durumda meta noindex veya HTTP header kullanılmalıdır.
Robots.txt Üzerinden Sitemap Bildirme (Sitemap Satırı Kullanımı)
Robots.txt, site haritası bildirmek için en güçlü yöntemlerden biridir. Google tarafından bu yöntem önerilmektedir.
Örnek kullanım:
Sitemap: https://www.siteadi.com/sitemap.xml
Birden fazla sitemap kullanıyorsanız hepsini ayrı satırlarda ekleyebilirsiniz:
Sitemap: https://www.siteadi.com/blog-sitemap.xml
Sitemap: https://www.siteadi.com/urun-sitemap.xml
Robots.txt Dosyasını Test Etme ve Doğrulama Araçları
Google, robots.txt test aracı sunmasa da Search Console üzerinden tarama hataları kolayca kontrol edilebilir. Ayrıca şu araçlar kullanılabilir:
- Google Search Console – URL Denetimi
- Google Search Console – Tarama İstatistikleri
- Ahrefs Robots.txt Analyzer
- Yoast Robots.txt Tester
- SEO Site Checkup Robots.txt Tester
Tarama hataları, özellikle büyük sitelerde tarama bütçesini olumsuz etkilediği için dosyanın düzenli olarak test edilmesi gerekir.
Robots.txt SEO’yu Nasıl Etkiler? Doğru ve Yanlış Kullanım Örnekleri
Robots.txt doğrudan sıralama faktörü değildir. Ancak tarama sürecini kontrol ederek dolaylı şekilde SEO performansını etkiler. Google’ın açıklamalarına göre robots.txt hataları şu sorunlara yol açabilir:
- Önemli sayfaların taranmaması
- Backlink alan sayfaların indeks dışı kalması
- Taramanın yanlış yönlendirilmesi
- Tarama bütçesinin gereksiz URL’lerle tüketilmesi
Yanlış kullanım örneği:
User-agent: *
Disallow: /
Bu komut tüm sitenin taranmasını engeller ve ciddi trafik kaybına neden olur.
Doğru kullanım örneği:
User-agent: *
Disallow: /arama/
Disallow: /sepet/
Allow: /arama/sonuc-goruntule.html
Google, robots.txt’nin kesinlikle noindex amacıyla kullanılmaması gerektiğini vurgular. Noindex yalnızca meta etiket veya HTTP header üzerinden uygulanmalıdır.
Sağlıklı Tarama ve İndeksleme için Robots.txt Stratejisi
Sağlıklı bir robots.txt stratejisi, taranmasını istediğiniz içeriklerin arama motorlarına açık, taranması gerekmeyen içeriklerin kapalı olmasını sağlar. Google, robots.txt’nin yalnızca tarama verimliliği için kullanılmasını önerir. Doğru planlanmış robots.txt dosyası; tarama bütçesini optimize eder, teknik hataları azaltır ve sitenin genel SEO verimliliğini artırır. Bu nedenle strateji aşağıdaki temel prensipler üzerine kurulmalıdır:
- Taranması istenen içerikler kesinlikle engellenmemelidir.
- Filtreleme, parametre ve oturum URL’leri engellenmelidir.
- Gereksiz klasörler (yüklemeler, geçici dosyalar, sistem klasörleri) kontrol edilmelidir.
- Site haritaları robots.txt üzerinden bildirilmelidir.
- Tarama hataları Search Console üzerinden düzenli takip edilmelidir.
- Yeni site yapısında robots.txt derhal güncellenmelidir.