TEKNİK SEO

Robots.txt nedir? SEO için nasıl kullanılmalı?

İçindekiler 6 başlık
  1. Robots.txt ne işe yarar?
  2. Tarama kuralları nasıl yazılır?
  3. Dosya nasıl oluşturulur ve siteye yüklenir?
  4. Robots.txt ile noindex arasındaki fark nedir?
  5. Tarama dosyasında en sık yapılan hatalar neler?
  6. Kuralların doğru çalıştığı nasıl test edilir?

Robots.txt sitenin kök dizininde duran ve arama motoru botlarına hangi adresleri tarayabileceklerini söyleyen düz metin dosyasıdır. Doğru kullanıldığında botların zamanını filtre, sepet ve arama sonucu gibi değersiz sayfalara harcamasını önler. Robots.txt bir güvenlik aracı değildir ve bir sayfayı dizinden çıkarmaz. Dosya yalnız taramayı yönetir.

Robots.txt ne işe yarar?

Robots.txt taramayı yönetir, yani botlara hangi yolların taranabileceğini, hangilerinin taranmaması gerektiğini bildirir. Googlebot bir siteye geldiğinde önce alanadiniz.com/robots.txt adresini okur ve kurallara göre hareket eder. Kurallar yalnız bir istektir. Google ve Bing gibi büyük arama motorları kurallara uyar, kötü niyetli botlar ise dosyayı hiç dikkate almayabilir.

Dosyanın asıl faydası büyük sitelerde görülür. Botun bir sitede belirli bir sürede taradığı adres sayısına tarama bütçesi denir. Binlerce filtre kombinasyonu üreten bir e-ticaret sitesinde parametreli URL'leri taramaya kapatmak, botun ürün ve kategori sayfalarına daha çok zaman ayırmasını sağlar. Birkaç yüz sayfalık bir kurumsal sitede ise basit bir dosya yeterli olabilir.

Robots.txt tarama ve dizine ekleme sürecinin parçalarından biridir. Site haritası, canonical ve yönlendirmelerle birlikte nasıl çalıştığını teknik SEO rehberimizde anlattık.

Robots.txt ile hangi sayfalar taramaya kapatılmalı?

Robots.txt ile arama sonuçlarında yer alması gerekmeyen ve çok sayıda adres üreten sayfalar taramaya kapatılır. Başlıca üç grup şunlardır:

  • Sepet, ödeme ile hesap sayfaları
  • Site içi arama sonuç sayfaları
  • Filtre ile sıralama parametresi taşıyan URL'ler

Sıralamada görünmesini istediğiniz sayfalar, CSS ile JavaScript dosyaları ve görseller açık kalmalıdır. Canonical ya da noindex etiketi taşıyan sayfalar da kapatılmaz, çünkü Google taramadığı sayfadaki etiketi okuyamaz.

Tarama kuralları nasıl yazılır?

Her kural grubu bir User-agent satırıyla başlar ve altındaki Disallow ile Allow satırları o bota uygulanır. Dört temel direktif şunlardır:

  • User-agent kuralın hangi botu kapsadığını belirtir. Yıldız (*) tüm botlar, "Googlebot" yalnız Google'ın tarayıcısı demektir.
  • Disallow taranmaması istenen yolu belirtir. "Disallow: /sepet/" sepet dizinindeki tüm adresleri kapatır. Değeri boş bırakılan Disallow hiçbir şeyi engellemez.
  • Allow engellenmiş bir dizin içinde taranmasına izin verilen alt yolu açar.
  • Sitemap XML site haritasının tam adresini bildirir. Herhangi bir kural grubuna bağlı değildir, dosyanın herhangi bir yerine yazılabilir.

Yollar büyük ve küçük harfe duyarlıdır: "/Admin/" ile "/admin/" farklı yollardır. Google iki özel karakteri destekler. Yıldız (*) herhangi bir karakter dizisi, dolar işareti ($) ise adresin sonu anlamına gelir. Allow ile Disallow çakıştığında Google en uzun, yani en özel kuralı uygular.

Örnek bir robots.txt dosyası nasıl görünür?

Bir e-ticaret sitesi için tipik bir robots.txt dosyası şöyle görünür:

User-agent: *
Disallow: /sepet/
Disallow: /hesabim/
Disallow: /*?siralama=
Allow: /hesabim/giris/

Sitemap: https://www.ornekmagaza.com/sitemap.xml

Bu dosya tüm botlar için sepet ve hesap sayfalarını kapatır. Sıralama parametresi içeren URL'leri de taramaya kapatır. Hesap dizini kapalı olsa da giriş sayfası Allow ile açık kalır. Son satır site haritasının yerini bildirir.

Belirli bir bota ayrı kural nasıl verilir?

Bota özel kural için o botun adıyla ayrı bir grup açılır. Bir bot kendi adını taşıyan grubu bulursa yalnız o gruba uyar, yıldızlı genel grubu dikkate almaz. Örneğin tüm botlar serbestken yalnız Bingbot'un bir sayfayı taramasını engellemek için:

User-agent: Bingbot
Disallow: /sayfa-adi.html

User-agent: *
Disallow:

Aynı mantık yapay zeka tarayıcıları için de kullanılır. Örneğin OpenAI'ın GPTBot'u ya da Google'ın yapay zeka modellerinde içerik kullanımını denetleyen Google-Extended için ayrı gruplar açılabilir. Google-Extended'ı engellemek Google aramadaki taramayı ve sıralamayı etkilemez.

Dosya nasıl oluşturulur ve siteye yüklenir?

Robots.txt dosyası herhangi bir metin düzenleyicide yazılır, "robots.txt" adıyla UTF-8 olarak kaydedilir ve sitenin kök dizinine yüklenir. Dört adım şöyledir:

  1. Metin düzenleyicide yeni bir dosya açın ve kural gruplarını yazın.
  2. Dosyayı tam olarak "robots.txt" adıyla, küçük harfle kaydedin.
  3. Dosyayı sitenin kök dizinine yükleyin. cPanel kullanan paylaşımlı hostinglerde kök dizin "public_html" klasörüdür.
  4. Tarayıcıda alanadiniz.com/robots.txt adresini açarak dosyanın yayında olduğunu kontrol edin.

Dosya yalnız bulunduğu alan adı ve protokol için geçerlidir. "blog.alanadiniz.com" gibi bir alt alan adının kendi robots.txt dosyası olmalıdır. WordPress kullanıyorsanız fiziksel dosya yoksa sistem sanal bir robots.txt üretir. Yoast SEO ve Rank Math gibi eklentiler bu dosyayı panelden düzenlemenizi sağlar.

Robots.txt ile noindex arasındaki fark nedir?

Robots.txt taramayı engeller, noindex ise dizine eklemeyi engeller. Bu ayrım en sık yapılan hatanın kaynağıdır. Disallow ile kapatılan bir sayfaya başka sitelerden link geliyorsa Google URL'yi içeriğini görmeden dizine ekleyebilir. Sayfa sonuçlarda açıklamasız bir satır olarak görünür.

Bir sayfanın arama sonuçlarında görünmemesi isteniyorsa sayfanın taranmasına izin verilir ve sayfaya noindex etiketi eklenir. İkisini birlikte kullanmak işe yaramaz. Disallow edilen sayfa taranamadığı için Google içindeki noindex etiketini hiç göremez. Google robots.txt içindeki noindex satırını da 2019'dan beri desteklemiyor. PDF gibi HTML olmayan dosyalarda noindex X-Robots-Tag HTTP başlığıyla verilir.

Robots.txt gizli içeriği de korumaz. Dosya herkese açıktır ve kimin hangi dizini sakladığını gösterir. Yönetim paneli ya da müşteri verisi gibi alanlar şifre ve sunucu tarafı erişim kontrolüyle korunmalıdır.

Tarama dosyasında en sık yapılan hatalar neler?

Tarama dosyasında en sık yapılan hata dizine girmemesi istenen sayfayı noindex yerine Disallow ile kapatmaktır. Denetimlerde karşılaştığımız robots.txt hatalarının çoğu site taşıma ve tema değişikliği sonrasında ortaya çıkar. En sık gördüğümüz beş hata şunlardır:

  • Test ortamındaki "Disallow: /" satırının canlı siteye taşınması. Sitenin tamamı taramaya kapanır.
  • CSS ve JavaScript dosyalarının engellenmesi. Google sayfayı düzgün işleyemez ve mobil uyumu yanlış değerlendirebilir.
  • Dizine girmemesi istenen sayfaların Disallow ile kapatılması. Noindex yerine robots.txt kullanılmış olur.
  • Sitemap satırında eski http adresinin ya da artık var olmayan bir site haritasının bırakılması.
  • Crawl-delay satırına güvenilmesi. Googlebot bu direktifi dikkate almaz, tarama hızını kendi ayarlar.

Dosyanın erişilebilir olması da önemlidir. Robots.txt adresi 5xx sunucu hatası verirse Google bir süre siteyi hiç taramayabilir. 404 dönmesi ise "hiçbir kısıtlama yok" olarak yorumlanır.

Kuralların doğru çalıştığı nasıl test edilir?

Robots.txt kurallarının doğru çalıştığı Google Search Console'daki robots.txt raporuyla test edilir. Eski "robots.txt Test Aracı" 2023'ün sonunda kaldırıldı. Yeni rapor Ayarlar bölümünde yer alır. Rapor Google'ın sitenizde bulduğu robots.txt dosyalarını, son tarama zamanını ve varsa ayrıştırma hatalarını listeler.

Belirli bir URL'nin engellenip engellenmediğini görmek için URL denetleme aracı kullanılır. Araç, sayfanın robots.txt tarafından engellendiğini açıkça belirtir. Toplu kontrol için sitenizi bir tarama aracıyla robots.txt kurallarına uyarak taramak ve engellenen URL listesini incelemek de işe yarar.

Robots.txt değişiklikleri küçük görünür ama tek satırlık bir hata tüm sitenin trafiğini etkileyebilir. Bu yüzden her tema ya da altyapı değişikliğinden sonra dosya yeniden kontrol edilmelidir. Tarama yapınızı gözden geçirmek isterseniz rankZup SEO danışmanlığı kapsamında robots.txt, site haritası ve dizine ekleme durumunu birlikte inceleyebiliriz.

SSS

Sık sorulan sorular

Robots.txt dosyası olmazsa ne olur?

Robots.txt dosyası yoksa ve adres 404 dönüyorsa arama motorları sitenin tamamını tarayabileceğini varsayar. Dosya zorunlu değildir. Küçük sitelerde bu çoğu zaman sorun yaratmaz, ama site haritasının yerini bildirmek için basit bir dosya eklemek iyi bir alışkanlıktır.

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

Robots.txt değişikliği genellikle 24 saat içinde etkili olur, çünkü Google dosyayı 24 saate kadar önbellekte tutar. Değişiklik bu süre içinde okunur ve tarama davranışına yansır. Acil durumlarda Search Console'daki robots.txt raporundan yeniden tarama isteği gönderilebilir.

Robots.txt ile bir sayfayı Google'dan nasıl kaldırırım?

Robots.txt sayfayı dizinden kaldırmaz. Sayfaya noindex etiketi ekleyin ya da sayfayı tamamen silip 404 veya 410 döndürün. Acil gizleme gerekiyorsa Search Console'daki Kaldırmalar aracı sayfayı yaklaşık altı ay süreyle sonuçlardan geçici olarak gizler.

Görselleri Google Görseller'den robots.txt ile engelleyebilir miyim?

Evet. Görsel taraması robots.txt ile engellenebilir. "User-agent: Googlebot-Image" grubu altına görsel dizinini Disallow olarak eklemek, o dizindeki görsellerin Google Görseller'de taranmasını durdurur. Normal sayfa sonuçları bu kuraldan etkilenmez.

Yapay zeka botlarını robots.txt ile engellemeli miyim?

Yapay zeka botlarını engellemek teknik bir zorunluluk değil, bir iş kararıdır. GPTBot gibi eğitim botlarını engellemek içeriğinizin model eğitiminde kullanılmasını sınırlar. Yapay zeka arama ürünlerinde ise kaynak olarak görünmek istiyorsanız bu ürünlerin tarayıcılarını açık bırakmanız gerekir. Hangi botun hangi amaçla tarama yaptığını sağlayıcının dokümantasyonundan kontrol edin.

WhatsApp
Telefon