Robots.txt Nedir? Nasıl Oluşturulur? Kapsamlı Rehber

Google, Bing, Yandex gibi büyük arama motorları bu dosyayı destekler ve tarama işlemi, bu dosyada tanımlanan kurallar doğrultusunda gerçekleştirilir. Yani robots.txt dosyasında yer alan komutlar tamamen tavsiye niteliğinde ve isteğe bağlıdır.

11 dakika okuma

robots.txt, küçük bir komut setine sahip olan ve arama motorlarına yol gösteren bir dosyadır. Bu komutlar, sitenize olan erişimi bölüm bazında ve belirli user-agent'lara göre yönetmek için kullanılabilir. Arama motoru robotlarını yönetmenin en kolay ve etkin yöntemlerinden birisidir.

Birçok arama motoru genellikle siteyi taramadan önce bu dosyayı okur ve burada yer alan komutlar doğrultusunda tarama işlemini gerçekleştirir. Bu noktada bilmemiz gereken, tüm web tarayıcılarının (crawler) robots.txt dosyasında yer alan komutlara uymak zorunda olmadığıdır. Google, Bing, Yandex gibi büyük arama motorları bu dosyayı destekler ve tarama işlemini bu dosyada tanımlanan kurallar doğrultusunda gerçekleştirir. Ancak robots.txt dosyasında yer alan komutlar tavsiye niteliğindedir ve kötü niyetli botlar bu kurallara uymayabilir. Yani sitenize bir robots.txt dosyası koymanız, mahremiyetinizi garanti altına almaz.

robots.txt, 2022 yılında RFC 9309 ile resmi bir internet standardı haline gelmiştir.

Robots.txt Ne Yapar, Ne Yapmaz?

robots.txt dosyası, arama motoru botlarının sitenizdeki hangi sayfa ve dizinleri tarayabileceğini belirler. Bu sayede gereksiz sayfaların taranmasını önleyerek tarama bütçenizi önemli sayfalara yönlendirebilirsiniz.

Ancak robots.txt taramayı engeller, dizine eklenmeyi engellemez. robots.txt ile engellenen bir sayfa, başka sayfalardan link alıyorsa içeriği taranmadan da arama sonuçlarında görünebilir. Bir sayfanın arama sonuçlarında görünmesini engellemek istiyorsanız noindex etiketi kullanmalı ve sayfayı robots.txt ile engellememelisiniz. Bu konunun detaylarını "Google Nasıl Çalışır? Tarama, İndeksleme ve Sıralama" yazımızda bulabilirsiniz.

Buradaki kritik noktalardan bir diğeri, sitenize ait yönetim paneli, özel dizinleriniz gibi gizli kalmasını istediğiniz yolları (path) bu dosyaya yazmamanız gerektiğidir. robots.txt dosyasını herkes görüntüleyebildiği için, bu tür hassas içeriklerinizin yolunu davetsiz misafirlere açık etmemeniz gerekiyor. Bu tür sayfa veya dizinleri korumak için şifre veya IP bazlı erişim gibi yöntemleri kullanmanız önerilir.

Robots.txt Nasıl Oluşturulur?

Öncelikle dosyanın adı "robots.txt" olmalıdır, tamamen küçük harfle. robots.txt dosyanız sitenizin sadece kök dizinine yerleştirilmeli ve UTF-8 karakter kodlamasına sahip olmalıdır.

Doğru: https://www.ornek.com/robots.txt

Yanlış: https://www.ornek.com/dosyalar/robots.txt

Ayrıca robots.txt dosyası yalnızca bulunduğu protokol ve alan adı için geçerlidir. Yani https://www.ornek.com/robots.txt dosyası, http://www.ornek.com veya https://blog.ornek.com için geçerli değildir. Her alt alan adının kendi robots.txt dosyası olmalıdır. Sitenizde SSL sertifikası kullanıyorsanız dosyanın HTTPS sürümünde erişilebilir olduğundan emin olun.

Google, robots.txt dosyasının yalnızca ilk 500 KB'ını (kibibayt) okur. Bu sınırın üzerindeki kurallar dikkate alınmaz. Ayrıca Google, robots.txt dosyasını genellikle 24 saate kadar önbellekte tutar. Bu yüzden yaptığınız değişikliklerin etkili olması biraz zaman alabilir.

Robots.txt Komutları

User-agent

User-agent, robots.txt dosyasında yazılan kuralın hangi tarayıcıya uygulanacağını belirten satırdır. Her kural grubu bir User-agent satırıyla başlar.

Google'ın ana tarayıcısı Googlebot'tur. Bunun yanında görseller için Googlebot-Image, haberler için Googlebot-News, videolar için Googlebot-Video gibi farklı tarayıcıları da bulunur. Google'ın tüm tarayıcılarını ve ne işe yaradıklarını "Google Tarayıcıları: Googlebot, GoogleOther ve Google-InspectionTool" yazımızda detaylı olarak bulabilirsiniz.

Aşağıda da Yandex'in kullandığı User-agent listesi yer alıyor:

  • YandexBot: Temel indeksleme robotu
  • YandexImages: Yandex Görsel indeksleyicisi
  • YandexMedia: Multimedya verilerini indeksleyen robot
  • YaDirectFetcher: Yandex Direct robotu, Direct servisinde kayıtlı sitelerin incelenmesi
  • YandexNews: Yandex Haberler robotu
  • YandexPagechecker: Mikro etiket doğrulayıcısı
  • YandexMetrika: Yandex Metrica robotu
  • YandexMarket: Yandex Market robotu

User-agent bağımsız, tüm tarayıcılara genel bir kural yazmak isterseniz, istemci adı belirlenen alana "*" (yıldız) karakterini koymanız yeterlidir.

Burada dikkat edilmesi gereken önemli bir nokta var: Google, kendisi için yazılmış en özel kural grubunu uygular ve diğer grupları dikkate almaz. Örneğin:

User-agent: *
Disallow: /ozel/

User-agent: Googlebot
Disallow: /test/

Bu dosyada Googlebot yalnızca kendi grubundaki kurala uyar. Yani /test/ dizinini taramaz, ancak /ozel/ dizinini tarayabilir. Googlebot'un /ozel/ dizinine de erişmemesini istiyorsanız, bu kuralı Googlebot grubuna da eklemeniz gerekir.

Disallow

Disallow, belli bir URL'ye veya dizine erişilmemesini bildiren komuttur.

"Googlebot" User-agent'ına sahip bir tarayıcının "seo" isimli klasöre erişmesini istemediğimizi anlatan bir komut yazalım:

User-agent: Googlebot
Disallow: /seo/

Aynı kuralı tüm tarayıcılar için yazmak istersek:

User-agent: *
Disallow: /seo/

Bir sayfayı engellemek istersek komut şu şekilde olur:

User-agent: Googlebot
Disallow: /bu-bir-sayfadir.html

Bir görseli engellemek istersek de komut şu şekilde olur:

User-agent: Googlebot-Image
Disallow: /kopek.jpg

Disallow satırını boş bırakırsanız, tarayıcının sitenin tamamına erişebileceğini belirtmiş olursunuz. URL yollarının büyük-küçük harfe duyarlı olduğunu da unutmayın: /SEO/ ile /seo/ farklı yollar olarak değerlendirilir.

Allow

Allow, Disallow ile engellenmiş bir dizinin içindeki belirli bir sayfaya veya alt dizine erişim izni vermek için kullanılır. Örneğin WordPress sitelerinde varsayılan olarak şu kurallar kullanılır:

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

Bu kurallarla /wp-admin/ dizininin tamamı engellenirken, sitenin düzgün çalışması için gerekli olan admin-ajax.php dosyasına erişim izni verilir. Google, Allow ve Disallow kuralları çakıştığında en uzun, yani en özel kuralı uygular. Kurallar eşit uzunluktaysa daha az kısıtlayıcı olan Allow kuralı geçerli olur.

Sitemap

Sitenizde XML formatında site haritası kullanıyorsanız ve robotun bunu bilmesini istiyorsanız, dosya yolunu "Sitemap" yönergesi ile belirtebilirsiniz. Birden fazla "Sitemap:" satırı kullanabilirsiniz. Sitemap satırı herhangi bir User-agent grubuna bağlı değildir ve tam URL ile yazılmalıdır. Örneğin:

User-agent: *
Disallow: /kopek.jpg

Sitemap: https://www.ornek.com/dosyalar/sitemap_1.xml
Sitemap: https://www.ornek.com/dosyalar/sitemap_2.xml

Crawl-delay

Sunucuda aşırı yük varsa ve indirme isteklerini işlemeye yetişemiyorsa "Crawl-delay" yönergesi kullanılır. Bu yönerge, bir sayfayı indirme işleminin bitmesi ile sonraki sayfayı indirmeye başlama arasında geçmesi gereken en az süreyi (saniye olarak) arama robotuna belirtmeyi sağlar.

User-agent: *
Disallow: /search
Crawl-delay: 4.5

Bu yönergeyi Bing destekler, ancak Google desteklemez. Yandex de 2018'den beri bu yönergeyi dikkate almıyor, tarama hızı Yandex Webmaster paneli üzerinden ayarlanıyor.

Clean-param

(Sadece Yandex kullanıyor.) Sitenizin sayfa adresleri, içeriklerini etkilemeyen dinamik parametreler (örneğin oturum, kullanıcı, başvuran vb. tanımlayıcılar) içeriyorsa, bunlar "Clean-param" yönergesinin yardımıyla açıklanabilir.

Bir URL veya path içerisinde, içeriği etkilemeyen bir veya birden fazla parametre Clean-param içerisinde & karakteri ile birleştirilerek gereksiz yere taranmaları önlenebilir. Örneğin:

Clean-param: sid&sort /blog/*.php

Yukarıdaki komut, sitenin /blog/ dizini içinde ve .php ile biten URL'lerde "sid" ve "sort" parametresi geçen URL'lerin sık taranmasına gerek olmadığını belirtir.

Yorum ve Notlar

Dosya içerisine kendiniz, yöneticiniz veya herhangi bir sebepten dolayı notlar yazabilirsiniz. Not oluşturmak için satır başına # karakteri eklemeniz yeterlidir. Örneğin:

# Köpek resmini erişime kapatıyorum.
# x.x.xxxx tarihinde geri açılacak.
User-agent: Googlebot-Image
Disallow: /kopek.jpg

Şablon (Kalıp Eşleme) Kuralları

Tanımlı olan 2 karakteri kullanarak basit düzeyde kalıplar hazırlayabilir ve kompleks durumlar için şablonlu komutlar oluşturabilirsiniz.

  • * : Yıldız karakteri herhangi bir karakter dizisi, yani herhangi bir şey anlamına gelir.
  • $ : Dolar işareti bir URL'nin sonunu belirtir.

Dosya tiplerini engellemek için (bu kod ile .gif dosyalarını taramasın diyoruz):

User-agent: Googlebot
Disallow: /*.gif$

.xls ile biten tüm URL'leri engellemek için (dosya adı ne olursa olsun, uzantısı .xls olanlar engellenir):

User-agent: Googlebot
Disallow: /*.xls$

Parametreli (dinamik) web sayfalarını engellemek için:

User-agent: Googlebot
Disallow: /*?

Eğer bu kuralı Googlebot için değil tüm tarayıcılar için yazmak istersek:

User-agent: *
Disallow: /*?

Örnek Robots.txt Dosyaları

Tüm tarayıcıların sitenin tamamını taramasına izin vermek:

User-agent: *
Disallow:

Tüm tarayıcıların sitenin tamamını taramasını engellemek:

User-agent: *
Disallow: /

Bu kural genellikle test (staging) ortamlarında kullanılır. Test ortamındaki robots.txt dosyasının yanlışlıkla canlı siteye taşınması, sitenin tamamen taranamaz hale gelmesine yol açabilir.

Tipik bir WordPress robots.txt dosyası:

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

Sitemap: https://www.ornek.com/wp-sitemap.xml

Yapay zeka botlarını engellemek:

İçeriklerinizin yapay zeka modellerinin eğitiminde kullanılmasını istemiyorsanız, ilgili botları robots.txt ile engelleyebilirsiniz:

User-agent: Google-Extended
Disallow: /

User-agent: GPTBot
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

Google-Extended'ı engellemek, sitenizin Google Arama'daki görünürlüğünü etkilemez.

Robots.txt Nasıl Test Edilir?

Google Search Console'daki eski robots.txt test aracı 2023 yılında kaldırıldı. Bunun yerine Search Console'un Ayarlar bölümünde yer alan robots.txt raporunu kullanabilirsiniz. Bu rapor, Google'ın sitenizde bulduğu robots.txt dosyalarını, son tarama zamanını ve varsa hataları gösterir. Belirli bir URL'nin robots.txt ile engellenip engellenmediğini görmek için de URL Denetleme aracını kullanabilirsiniz.

robots.txt dosyasına erişilemediğinde Google'ın davranışını da bilmekte fayda var: Dosya 404 gibi bir hata veriyorsa Google sitede hiçbir kısıtlama olmadığını varsayar. Ancak dosya 5xx sunucu hatası veriyorsa Google siteyi taramayı geçici olarak durdurabilir.

Robots.txt Yaparken Sık Yapılan Hatalar

  • robots.txt ile engellenen sayfaya noindex eklemek: Google sayfayı tarayamadığı için noindex etiketini göremez. Bir sayfanın dizinden çıkmasını istiyorsanız, önce noindex ekleyin ve sayfayı taranabilir bırakın.
  • CSS ve JavaScript dosyalarını engellemek: Google sayfaları render ederken bu dosyalara ihtiyaç duyar. Engellendiklerinde Google sayfanızı doğru göremeyebilir.
  • Test ortamındaki "Disallow: /" kuralını canlıya taşımak: Sitenin tamamının taranamaz hale gelmesine yol açar.
  • Hassas dizinleri robots.txt'te listelemek: Dosya herkese açık olduğu için bu yolları davetsiz misafirlere göstermiş olursunuz.
  • Büyük-küçük harf hatası: URL yolları harfe duyarlıdır, /Blog/ ile /blog/ farklı kurallardır.

Robots.txt, Robots Meta Etiketi ve X-Robots-Tag Farkı

robots.txt taramayı kontrol ederken, robots meta etiketi ve X-Robots-Tag HTTP başlığı dizine eklemeyi kontrol eder. Sayfa düzeyinde noindex, nofollow gibi kurallar bu iki yöntemle verilir. Meta etiketi HTML sayfalarında <head> bölümüne eklenir. X-Robots-Tag ise HTTP başlığında gönderildiği için PDF, görsel gibi HTML olmayan dosyalarda da kullanılabilir.

indexifembedded Etiketi

"indexifembedded" etiketiyle, içerik sayfanız noindex etiketine sahip olsa bile, içeriğiniz iframe'ler ve benzer HTML etiketleri aracılığıyla başka sayfalara yerleştirildiğinde yine de dizine eklenmesini istediğinizi Google'a söyleyebiliyorsunuz. Google'ın 2022'de duyurduğu bu etiket, başta widget servisleri olan haber siteleri ve görsel medya yayıncıları gibi sitelerin ihtiyaçlarını çözmeyi amaçlıyor.

"indexifembedded" etiketi özellikle medya yayıncılarını etkileyen yaygın bir sorunu ele alıyor. Yayıncılar, içeriklerinin üçüncü taraf sitelere yerleştirildiğinde dizine eklenmesini isteyebilir, ancak bu içeriğin kendi sitelerindeki karşılığının dizine eklenmesini istemeyebilirler. Medya sayfalarının dizine eklenmesini istemedikleri için bu tür sayfalarda "noindex" etiketi kullanılıyor. Ancak "noindex" etiketi, içeriğin diğer sayfalara gömüldüğünde de dizine eklenmesini engelliyor.

"indexifembedded" etiketi noindex ile birlikte kullanılır ve yalnızca noindex içeren sayfa bir iframe veya benzer bir HTML etiketi aracılığıyla başka bir sayfaya yerleştirildiğinde çalışır.

Örneğin benimsitem.com/havadurumu?city=34 hem "noindex" hem de "indexifembedded" etiketine sahipse, Google dizine ekleme sırasında bu sayfadaki içeriği, onu iframe ile yerleştiren baskabirsite.com/hava-durumu.html sayfasının bir parçası olarak dizine ekleyebilir.

İçeriğinizin yalnızca diğer sayfalara yerleştirildiğinde dizine eklenmesini sağlamak için "indexifembedded" etiketini noindex etiketiyle birlikte eklediğinizden emin olun. Örneğin:

<meta name="googlebot" content="noindex" />
<meta name="googlebot" content="indexifembedded" />
<!-- VEYA -->
<meta name="googlebot" content="noindex,indexifembedded" />

Alternatif olarak etiketi HTTP başlığında da belirtebilirsiniz:

X-Robots-Tag: googlebot:noindex
X-Robots-Tag: googlebot:indexifembedded

VEYA

X-Robots-Tag: googlebot:noindex,indexifembedded

"indexifembedded" etiketini şu anda yalnızca Google desteklemektedir.


Sık Sorulan Sorular

Robots.txt, arama motoru botlarının sitenizdeki hangi sayfa ve dizinleri tarayabileceğini belirleyen küçük bir metin dosyasıdır. Google, Bing ve Yandex gibi büyük arama motorları bu dosyadaki kurallara uyar. Ancak kurallar tavsiye niteliğindedir ve kötü niyetli botlar bunlara uymayabilir.

Hayır. Robots.txt taramayı engeller, dizine eklenmeyi engellemez. Engellenen bir sayfa başka sayfalardan link alıyorsa içeriği taranmadan da arama sonuçlarında görünebilir. Bir sayfanın arama sonuçlarında görünmesini istemiyorsanız noindex etiketi kullanmalı ve sayfayı robots.txt ile engellememelisiniz.

Robots.txt dosyası sitenizin kök dizinine yüklenmelidir; örneğin https://www.ornek.com/robots.txt. Dosya adı tamamen küçük harfle yazılmalı ve UTF-8 karakter kodlamasına sahip olmalıdır. Her alt alan adının kendi robots.txt dosyası olmalıdır.

Disallow, belirli bir URL’ye veya dizine erişilmemesini bildirir. Allow ise Disallow ile engellenmiş bir dizinin içindeki belirli bir sayfaya erişim izni vermek için kullanılır. Kurallar çakıştığında Google en uzun, yani en özel kuralı uygular.

Evet. Google-Extended, GPTBot, CCBot ve ClaudeBot gibi yapay zeka botlarını robots.txt dosyasına ayrı User-agent grupları ekleyerek engelleyebilirsiniz. Google-Extended’ı engellemek, sitenizin Google Arama’daki görünürlüğünü etkilemez.


Paylaş:

0 Yorum


Yorum yaz

Diğer Yazılar

Yapay Zeka Çöplüğüne (AI Slop) Karşı Yeni Bir Savunma Hattı: LoRA Destekli Çok Modlu Savunma Sistemi

Yapay Zeka Çöplüğüne (AI Slop) Karşı Yeni Bir Savunma Hattı: LoRA Destekli Çok Modlu Savunma Sistemi

İnternet ekosistemi ve özellikle çevrimiçi video platformları (OVP), son yıllarda benzeri görülmemiş ve katlanarak artan bir tehdit ile karşı karşıya. Kötü niyetli aktörlerin organize bir şekilde hareket ederek Üretken Yapay Zeka (Generative AI) araçlarını kötüye kullanması, platformların "Yapay Zeka Çöplüğü" veya "AI Slop" olarak adlandırılan kalitesiz, manipülatif ve spam içeriklerle dolup taşmasına neden oluyor.

Microsoft Advertising UTM Auto-Tagging Güncellemesi

Microsoft Advertising UTM Auto-Tagging Güncellemesi

Microsoft Advertising, 2 Eylül 2026 itibarıyla UTM auto-tagging sisteminde önemli bir güncellemeye gidiyor. Bu değişiklik, Microsoft Advertising trafiğinin Google Analytics 4 ve benzeri üçüncü taraf analiz platformlarında daha doğru sınıflandırılmasını hedefliyor.

Google Benim İşletmem ile Markanızı Daha Fazla Görünür Kılın ve Yönetin

Google Benim İşletmem ile Markanızı Daha Fazla Görünür Kılın ve Yönetin

Günümüzde fiziksel bir mağazası olan ya da belirli bir bölgede hizmet veren işletmeler için dijitalde görünür olmak artık bir lüks değil, zorunluluk haline geldi. Kullanıcılar yakınlarındaki işletmeleri keşfetmek için pusula yerine Google Arama ve Google Haritalar’ı kullanıyor. “Kadıköy kahve”, “Çekmeköy kahvaltı”, “Eskişehir çiçekçi” gibi sorguların büyük bölümü yerel sonuçlar üzerinden müşteriye dönüşüyor. Bu nedenle, işletme profilinizi doğru yapılandırdığınızda potansiyel müşterilerin sizi tercih etme ihtimali ciddi oranda artar.

A4 Ebatında Etiketlerle İade Problemi Önleniyor: Çin’in Moda E-Ticaretinde Yeni Strateji

A4 Ebatında Etiketlerle İade Problemi Önleniyor: Çin’in Moda E-Ticaretinde Yeni Strateji

Çin'de online moda alışverişinde iade oranları çok yükseldiği için markalar kötü niyetli kullan-iade davranışını engellemek adına A4 boyutunda büyük ve gizlenmesi zor etiketler kullanmaya başladı. Bu yöntem hem maliyetleri düşürmek hem de ürünleri giyip fotoğraf çektikten sonra iade eden kullanıcıların önünü kesmek için hızla yayılıyor. Tartışmalar sürse de sektör bu uygulamanın iade kültürünü kökten değiştirecek yeni bir dönemin başlangıcı olabileceğini düşünüyor.

Yeni Sağlık Tanıtım Yönetmeliği Neler Getiriyor?

Yeni Sağlık Tanıtım Yönetmeliği Neler Getiriyor?

Sağlık alanında hizmet veren her kurum için tanıtım artık yalnızca pazarlama konusu değil. Aynı zamanda çok net çizilmiş hukuki sınırları olan bir alan. "Sağlık Hizmetlerinde Tanıtım ve Bilgilendirme Faaliyetleri Hakkında Yönetmelik" ile birlikte hekimlerin, özel sağlık tesislerinin ve uluslararası sağlık turizmi aracı kuruluşlarının dijitalde ve geleneksel mecralarda nasıl görünür olabileceği detaylı şekilde yeniden düzenlendi.

Dijitalin nabzını bizimle takip et

Dijital dünyayı şekillendiren seçilmiş içgörüler, haberler ve fikirlerden haberdar olmak için abone olun.