- Onur Ertem
- Güncellendi:
Robots.txt, bir sitenin kök dizininde duran ve arama motoru tarayıcılarına sitenin hangi adreslerine erişebileceklerini bildiren düz metin dosyasıdır. Robots.txt dosyası taramayı yönetir, dizine eklemeyi değil: bir sayfayı Google sonuçlarından tamamen çıkarmak için doğru araç noindex ya da şifre korumasıdır.
Bu rehber tanımı Google Search Central belgelerine dayandırıyor ve ardından pratik tarafa geçiyor: dosyanın söz dizimi, kuralların nasıl eşleştiği, engelleme ile noindex arasındaki fark, sık kullanılan örnekler, WordPress’te düzenleme, Search Console ile test ve son dönemde çok sorulan konu olan GPTBot, OAI-SearchBot ve Google-Extended gibi yapay zeka botlarının yönetimi.
Robots.txt Dosyası Ne İşe Yarar?
Bu dosya, esas olarak tarayıcı trafiğini yönetmek ve sitenin önemsiz ya da birbirine çok benzeyen bölümlerinin taranmasını önlemek için kullanılır. Google’ın konuya giriş belgesi, bu dosyanın web sayfalarını Google’ın dışında tutmaya yarayan bir mekanizma olmadığını ayrıca vurgular.
Robots.txt nedir sorusunun cevabı, dosyanın neyi etkilediğiyle tamamlanır ve bu etki içerik türüne göre değişir. Web sayfalarında tarama yükünü azaltmak ya da filtre ve arama sonucu sayfaları gibi sonsuz sayıda adres üreten bölümleri taramadan çıkarmak için kullanılır. Görsel, video ve ses dosyalarında ise bu dosyaların Google arama sonuçlarında görünmesini engelleyebilir. Stil ve komut dosyası gibi kaynaklar da engellenebilir, ancak sayfanın doğru görüntülenmesi bu kaynaklara bağlıysa engellemek Google’ın sayfayı anlamasını zorlaştırır.
Dosya bir güvenlik aracı da değildir. Kurallar tarayıcıyı zorlamaz; Googlebot ve diğer güvenilir tarayıcılar uyar, kötü niyetli botlar uymayabilir. Üstelik dosya herkese açıktır; gizli kalması gereken bir klasörün adını buraya yazmak, onu herkese duyurmak anlamına gelir.
Robots.txt Nasıl Yazılır? Temel Söz Dizimi
Dosya bir veya daha fazla kural grubundan oluşur; her grup bir user-agent satırıyla başlar ve o tarayıcının erişebileceği ya da erişemeyeceği yolları satır satır listeler. Dosya UTF-8 kodlamalı düz metin olmalı, robots.txt adını taşımalı ve geçerli olacağı ana makinenin kök dizininde yayınlanmalıdır; örneğin https://www.example.com/robots.txt. Alt klasöre konan bir kopya dikkate alınmaz.
Google’ın desteklediği alanlar şunlardır:
- user-agent: kuralın hangi tarayıcı için geçerli olduğu. Yıldız (*) tüm tarayıcılarla eşleşir, ancak Google’ın AdsBot tarayıcıları bunun dışındadır ve adıyla ayrıca belirtilmelidir.
- disallow: taranmaması istenen yol; / ile başlar, bir klasörü gösteriyorsa / ile biter.
- allow: engellenmiş bir klasörün içindeki belirli bir alt yolun taranmasına izin verir.
- sitemap: site haritasının tam adresi; isteğe bağlıdır ve dosyada birden fazla kez kullanılabilir.
Crawl-delay gibi başka alanlar Google tarafından desteklenmez. Aşağıda iki gruptan oluşan basit bir dosya görülüyor: ilk grup tüm tarayıcılara yönetim paneli klasörünü kapatıyor, ikinci satır site haritasının yerini bildiriyor.
User-agent: *
Disallow: /yonetim/
Sitemap: https://www.example.com/sitemap.xml
Robots.txt Kuralları Nasıl Eşleşir?
Bir tarayıcı dosyada kendisiyle eşleşen en ayrıntılı user-agent grubunu seçer ve diğer grupları yok sayar; grup içinde ise yol uzunluğuna göre en ayrıntılı kural uygulanır. Google’ın robots.txt spesifikasyonunu nasıl yorumladığını anlatan belgeye göre, eşit ayrıntıda çakışan allow ve disallow kurallarında daha az kısıtlayıcı olan allow uygulanır.
Bu kuralın pratik bir sonucu vardır: Googlebot için ayrı bir grup yazıldığında, Googlebot artık yıldızlı genel grubu okumaz. Genel gruba eklenen bir engelin Googlebot’u da kapsaması isteniyorsa kuralın Googlebot grubuna da yazılması gerekir. Yollar büyük-küçük harfe duyarlıdır; /Urun/ ile /urun/ farklı yollardır. Yolda yıldız (*) herhangi bir karakter dizisini, dolar işareti ($) ise adresin sonunu ifade eder.
Dosyanın kendisiyle ilgili sınırlar da bilinmelidir. Google bu dosya için 500 KiB boyut sınırı uygular ve bu sınırı aşan kısmı yok sayar; dosyanın içeriğini genellikle 24 saate kadar önbellekte tutar. Dosya 404 gibi bir 4xx hatası döndürüyorsa (429 hariç) Google herhangi bir tarama kısıtlaması olmadığını varsayar; sunucu hatası (5xx) döndürüyorsa önce taramayı durdurur, sonra bir süre son geçerli sürümü kullanır. Yani sunucu hatası veren bir dosya, hiç olmayan bir dosyadan daha fazla sorun çıkarabilir.
Sayfa İçeriği
Engellemek Dizinden Çıkarmak Değildir: Noindex Farkı
Tarama kuralıyla engellenen bir sayfa Google tarafından taranmaz, ama başka sitelerden bağlantı alıyorsa adresi yine dizine eklenebilir ve arama sonuçlarında açıklamasız biçimde görünebilir. Sayfanın sonuçlarda hiç görünmemesi isteniyorsa kullanılacak araç noindex kuralıdır.
Burada sık yapılan bir hata vardır: bir sayfaya hem noindex eklenip hem de tarama kuralıyla kapatılması. Google’ın noindex ile dizine eklemeyi engelleme belgesine göre noindex’in işe yaraması için sayfanın robots.txt ile engellenmemiş ve tarayıcı tarafından erişilebilir olması gerekir; aksi hâlde Googlebot etiketi hiç göremez. Ayrıca noindex kuralının robots.txt içine yazılması Google tarafından desteklenmez.
| Yöntem | Ne yapar? | Ne zaman kullanılır? |
|---|---|---|
| Robots.txt disallow | Taramayı engeller; adres bağlantılar yoluyla sonuçlarda kalabilir | Filtre, dahili arama, sonsuz takvim gibi tarama yükü yaratan bölümler |
| noindex (meta etiket veya X-Robots-Tag) | Sayfa tarandığında dizinden çıkarılır | Teşekkür sayfası, ince etiket arşivleri gibi taranabilir ama sonuçlarda istenmeyen sayfalar |
| Şifre koruması | İçeriğe erişimi tamamen kapatır | Test ortamı, müşteri paneli, gizli belgeler |
| Sayfayı kaldırma (404/410) | İçerik artık yoktur; zamanla dizinden düşer | Kalıcı olarak yayından kalkan içerik |
PDF ve görsel gibi HTML olmayan dosyalarda meta etiket kullanılamadığı için noindex, sunucunun gönderdiği X-Robots-Tag yanıt başlığıyla verilir.
Sık Kullanılan Robots.txt Örnekleri
Çoğu kurumsal site için doğru tarama dosyası kısadır: yönetim alanını kapatan bir iki satır ve site haritası bildirimi. Aşağıdaki örnekler genel kalıplardır; her sitenin yol yapısı farklı olduğu için birebir kopyalanmadan önce kendi adresleriyle karşılaştırılmalıdır.
Tüm sitenin taranmasına izin veren en sade dosya, boş bir disallow satırıyla yazılır; dosya hiç olmadığında da varsayılan davranış budur:
User-agent: *
Disallow:
Parametreli filtre adreslerini ve dahili arama sonuçlarını taramadan çıkarmak için joker karakter kullanılabilir. Bu örnekte ?siralama= içeren adresler ve /ara/ klasörü kapatılıyor:
User-agent: *
Disallow: /*?siralama=
Disallow: /ara/
Belirli bir tarayıcıyı tamamen kapatmak için o tarayıcının adıyla ayrı bir grup yazılır. Tüm siteyi tüm tarayıcılara kapatan “Disallow: /” satırı ise yalnızca yayına çıkmamış test ortamlarında anlamlıdır ve canlı sitede unutulduğunda sitenin arama görünürlüğünü ciddi biçimde etkiler.
Tarama Kurallarını Birlikte İnceleyelim
Alan adı WhatsApp’tan paylaşıldığında, mevcut kuralların önemli sayfaları yanlışlıkla kapatıp kapatmadığı, noindex ile çakışma bulunup bulunmadığı ve yapay zeka botları için hangi tercihin uygun olacağı ücretsiz ön değerlendirmede birlikte netleşir.
WordPress’te Robots.txt Nasıl Düzenlenir?
WordPress, kök dizinde fiziksel bir robots.txt dosyası yoksa ziyaretçiye sanal bir robots.txt üretir; bu dosya varsayılan olarak yönetim klasörünü (/wp-admin/) kapatır ve admin-ajax.php dosyasına izin verir. WordPress 5.5 ile gelen yerleşik site haritası da bu sanal dosyaya eklenir.
Düzenleme için üç yol vardır:
- SEO eklentisinin dosya düzenleyicisi: yaygın SEO eklentilerinin çoğu, sanal dosyanın içeriğini panelden düzenlemeye izin verir. En az riskli yöntem genellikle budur.
- Fiziksel dosya: FTP veya barındırma paneli üzerinden kök dizine gerçek bir dosya yüklenir. Fiziksel dosya varsa sunucu onu gösterir ve WordPress’in sanal dosyası devreden çıkar; sonradan eklenti ile yapılan değişikliklerin görünmemesinin sık nedeni budur.
- Kod ile filtre: geliştiriciler robots_txt filtresiyle sanal dosyanın içeriğini tema ya da eklenti kodundan değiştirebilir.
Ayarlar > Okuma bölümündeki arama motoru görünürlüğü kutusu ise ayrı bir konudur. WordPress 5.3’ten bu yana bu kutu işaretlendiğinde dosyaya “Disallow: /” yazılmaz; bunun yerine sayfalara noindex içeren robots meta etiketi ekler. Test ortamında işaretlenip canlıya geçişte kaldırılması unutulan bu kutu, yeni açılan sitelerin aramada görünmemesinin en bilinen sebeplerindendir. Bu tür ayar kaynaklı sorunlar WordPress problem çözme kapsamında hızla tespit edilebilir.
Yapay Zeka Botları Robots.txt ile Nasıl Yönetilir?
Yapay zeka şirketlerinin tarayıcıları da bu dosyadaki kurallara bakar ve her biri kendi user-agent adıyla ayrı ayrı yönetilebilir. Önemli olan, her botun ne işe yaradığını bilerek karar vermektir; çünkü bazıları yapay zeka arama sonuçlarında görünmeyi, bazıları ise model eğitimini ilgilendirir.
| Robots.txt adı | Kime ait, ne için? | Engellenirse |
|---|---|---|
| OAI-SearchBot | OpenAI; ChatGPT’nin arama özelliklerinde siteleri göstermek için | Site ChatGPT arama cevaplarında gösterilmez, gezinme bağlantısı olarak görünebilir |
| GPTBot | OpenAI; yapay zeka modellerini eğitmek amacıyla yapılan tarama | İçeriğin model eğitiminde kullanılmaması istendiği belirtilmiş olur |
| Google-Extended | Google; ayrı bir tarayıcı değil, kurallarda kullanılan bir ürün jetonu | İçerik gelecek Gemini modellerinin eğitimi ve Gemini’deki temellendirme için kullanılmaz; Google Arama’ya dahil olmayı ve sıralamayı etkilemez |
OpenAI’ın tarayıcılar ve kullanıcı aracıları sayfasına göre iki ayar ayrı ayrı çalışır; arama botuna açık, eğitim botuna kapalı bir yapılandırma mümkündür. Aynı sayfa, kural değişikliğinin ChatGPT arama sonuçlarına yansımasının yaklaşık bir gün sürebileceğini belirtir. Kullanıcının ChatGPT’de verdiği bir komutla sayfayı ziyaret eden ChatGPT-User ise otomatik tarama yapmaz ve kullanıcı başlatmalı istek olduğu için tarama kuralları bu ziyaretlere uygulanmayabilir.
Google-Extended ise Googlebot’un yerine geçmez. Google’ın ortak tarayıcılar belgesine göre bu jeton, içeriğin gelecek nesil Gemini modellerinin eğitiminde ve Gemini uygulamalarında temellendirme için kullanılıp kullanılmayacağını yönetir; Google Arama’ya dahil edilmeyi etkilemez ve sıralama sinyali olarak kullanılmaz. Google-Extended’i engellemek, sitenin Google’ın arama içindeki yapay zeka özelliklerinden çıkarılması anlamına da gelmez; Google’ın yapay zeka özellikleri belgesine göre bunlar Arama’nın parçasıdır; erişim Googlebot kurallarıyla, gösterilen bilgi ise nosnippet, max-snippet ve noindex gibi denetimlerle sınırlandırılır.
Yapay Zeka Botları İçin Karar Nasıl Verilir?
Karar, sitenin yapay zeka yanıtlarında kaynak olarak görünmek isteyip istemediğine ve içeriğin model eğitiminde kullanılmasına bakışa göre verilir; tek doğru ayar yoktur. Hizmet satan ve bulunmak isteyen bir işletme için arama amaçlı botlara izin vermek genellikle mantıklıdır. Özgün içeriği ana ürünü olan bir yayıncı ise eğitim amaçlı botları kapatmayı tercih edebilir.
Örneğin ChatGPT aramasında görünmek isteyip içeriğin OpenAI model eğitiminde kullanılmasını istemeyen bir site, şu kuralları ekleyebilir:
# Model eğitimi amaçlı tarama kapalı
User-agent: GPTBot
Disallow: /
# ChatGPT araması için tarama açık
User-agent: OAI-SearchBot
Disallow:
Bu tercihlerin arama görünürlüğüyle nasıl bir arada yönetileceği, sitenin genel tarama ve dizin durumundan bağımsız düşünülmemelidir. Tarama kuralları, site haritası, noindex ve yönlendirmelerin birlikte denetlenmesi teknik SEO hizmetleri kapsamındadır.
Robots.txt Nasıl Test Edilir?
Dosya iki yoldan test edilir: tarayıcıda site.com/robots.txt adresi açılarak dosyanın gerçekten yayında olduğu ve doğru içeriği gösterdiği görülür, ardından Google Search Console’daki robots.txt raporu ile Google’ın dosyayı nasıl okuduğu kontrol edilir. Rapor, Google’ın bulduğu dosyaları, en son ne zaman tarandıklarını ve ayrıştırma sırasında karşılaşılan uyarı ya da hataları gösterir.
Önemli bir kural değişikliğinden sonra, örneğin yanlışlıkla engellenmiş sayfaların engeli kaldırıldığında, rapordan dosyanın yeniden taranması istenebilir. Tek bir sayfanın engellenip engellenmediğini görmek için URL Denetleme aracı kullanılır; sayfa tarama kuralıyla engellenmişse araç bunu belirtir. Rapor alan düzeyindeki mülklerde ve yol içermeyen URL öneki mülklerinde kullanılabilir.
Robots.txt Dosyasında Sık Yapılan Hatalar
Bu dosyadaki hataların çoğu tek bir satırdan kaynaklanır ama etkisi sitenin tamamına yayılabilir. En sık karşılaşılanlar şunlardır:
- Test ortamındaki “Disallow: /” satırının canlıya taşınması.
- Dizinden çıkarılması istenen sayfaların robots.txt ile engellenmesi; bu durumda noindex görülmez ve adres sonuçlarda kalabilir.
- CSS ve JavaScript klasörlerinin engellenmesi; Google sayfayı doğru görüntüleyemez.
- Ürün görsellerinin bulunduğu klasörün kapatılması; görseller Google Görseller’de ve alışveriş listelemelerinde kullanılamaz.
- Googlebot için ayrı grup yazılıp genel gruptaki kuralların orada tekrarlanmaması.
- Gizli kalması gereken klasör adlarının dosyaya yazılması.
- Site haritası satırında göreli adres kullanılması; adres tam ve mutlak olmalıdır.
Bu kontroller yeni bir site kurulurken yayına çıkış listesine eklendiğinde çoğu hata hiç yaşanmaz. Tarama ve dizin ayarlarının baştan doğru kurulduğu bir yapı SEO uyumlu web tasarım anlayışının parçasıdır; yayındaki sitelerde ise bu ayarların güncellemelerden sonra bozulmadığını görmek WordPress bakım rutininin bir adımı olabilir.
Tarama Ayarlarını Birlikte Netleştirelim
Tarama dosyası, noindex ve site haritası birbirine bağlı ayarlardır; birinde yapılan değişiklik diğerlerini etkileyebilir. Sitenin hangi bölümlerinin taranması, hangilerinin dizinde kalması gerektiğini ve yapay zeka botları için hangi tercihin işletmenin hedefiyle uyuştuğunu birlikte belirleyelim.
Sıkça Sorulan Sorular
Robots.txt dosyası olmazsa ne olur?
Robots.txt dosyası yoksa tarayıcılar sitenin tamamını tarayabileceğini varsayar; bu bir hata sayılmaz. Önemli olan, dosya yoksa sunucunun doğru bir 404 yanıtı vermesi ve sunucu hatası döndürmemesidir.
Disallow kuralı bir sayfayı Google sonuçlarından siler mi?
Hayır; disallow taramayı engeller, dizinden çıkarmayı garanti etmez. Sayfanın sonuçlardan çıkması için noindex kullanılmalı ve sayfanın taranabilir bırakılması gerekir.
Robots.txt değişikliği ne zaman etkili olur?
Google robots.txt içeriğini genellikle 24 saate kadar önbellekte tutar, bu yüzden değişiklik hemen yansımayabilir. Search Console’daki robots.txt raporundan yeniden tarama istenebilir.
WordPress'te robots.txt dosyası nerede?
Kök dizinde fiziksel bir dosya yoksa WordPress sanal bir robots.txt üretir ve site.com/robots.txt adresinde gösterir. Bu içerik SEO eklentisinin düzenleyicisinden ya da kök dizine yüklenen fiziksel bir dosyayla değiştirilebilir.
GPTBot'u engellemek ChatGPT aramasında görünmeyi etkiler mi?
OpenAI’ın belgelerine göre GPTBot ve OAI-SearchBot ayarları birbirinden bağımsızdır. GPTBot engellenip OAI-SearchBot’a izin verildiğinde site ChatGPT arama sonuçlarında görünmeye devam edebilir.
Google-Extended engellenirse Google sıralaması düşer mi?
Hayır; Google, Google-Extended’in bir sitenin Google Arama’ya dahil edilmesini etkilemediğini ve sıralama sinyali olarak kullanılmadığını belirtir. Bu jeton, içeriğin Gemini modellerinin eğitimi ve Gemini’deki temellendirme için kullanımını yönetir.
Robots.txt dosyasına crawl-delay yazılmalı mı?
Google crawl-delay alanını desteklemez, bu yüzden Googlebot üzerinde etkisi yoktur. Bazı başka arama motorları bu alanı farklı yorumlayabilir; tarama yükü sorunu yaşanıyorsa Google tarafında başka yöntemler değerlendirilir.
Bizi Arayın
Detaylı bilgi için bizi arayın.
Sizi, Biz Arayalım!
Numaranızı paylaşın sizi, biz arayalım!
Diğer Hizmetlerimiz
- › Kurumsal Web Tasarım
- › E-Ticaret Sitesi Yapımı
- › SEO Optimizasyonu
- › WordPress Site Yapımı
- › Google Reklam Yönetimi
- › WordPress Hızlandırma
Hizmet Bölgeleri
- › Sakarya Web Tasarım
- › Tekirdağ Web Tasarım
- › Bursa Web Tasarım
- › Beşiktaş Web Tasarım
- › Şişli Web Tasarım
- › Tuzla Web Tasarım
- › Ümraniye Web Tasarım
- › Kadıköy Web Tasarım
- › İstanbul Web Tasarım
- › Ankara Web Tasarım
- › Ataşehir Web Tasarım
- › Üsküdar Web Tasarım
- › Kartal Web Tasarım
- › Maltepe Web Tasarım
- › Pendik Web Tasarım
- › Kocaeli Web Tasarım
- › İzmir Web Tasarım
- › Antalya Web Tasarım