Robots.txt Nedir, Nasıl Kullanılır?
Robots.txt, arama motoru botlarının web sitenizde hangi sayfaları veya dizinleri tarayıp tarayamayacağını belirten standart bir metin dosyasıdır.

İÇİNDEKİLER
%0 okundu
- Robots.txt Nedir?
- Robots.txt Dosyası Ne İşe Yarar ve Neden Önemlidir?
- Tarama (Crawling) ve Dizine Ekleme (Indexing) Arasındaki Kritik Fark
- Temel Robots.txt Komutları (Söz Dizimi ve Kurallar)
- Adım Adım Robots.txt Dosyası Nasıl Oluşturulur?
- Sık Kullanılan Robots.txt Senaryoları ve Örnekleri
- Robots.txt Hatalarından Kaçınma: Kurumsal Uyarılar ve Riskler
- Google Search Console ile Robots.txt Doğrulama ve Test İşlemleri
Robots.txt, arama motoru botlarının web sitenizde hangi sayfaları veya dizinleri tarayıp tarayamayacağını belirten standart bir metin dosyasıdır. Web sitelerinin taranma davranışlarını optimize etmek, sunucu kaynaklarını korumak ve önemsiz sayfaların arama motoru örümcekleri (spiders) tarafından gereksiz yere taranmasını engellemek amacıyla kullanılan bu dosya, teknik SEO mimarisinin en kritik yapı taşlarından biridir. Doğru bir yapılandırma, web sitenizin indekslenme kalitesini artırırken, hatalı kullanımlar tüm sitenizin arama sonuçlarından silinmesi gibi ciddi kayıplara yol açabilir. Bu rehberde, robots.txt dosyasının işlevlerini, söz dizimi kurallarını, stratejik önemini ve teknik doğrulama adımlarını ele alacağız.
Robots.txt Nedir?

Robots.txt Dosyasının Tanımı ve Amacı
Robots.txt, en yalın tanımıyla bir web sitesinin arama motoru örümceklerine (spiders) sunduğu bir "giriş ve tarama kılavuzu" niteliğindedir. İnternet dünyasında Robots Exclusion Protocol (Robots Engelleme Protokolü - REP) standartlarına dayanan bu dosya, düz metin (.txt) formatında oluşturulur ve sitenin kök dizininde barındırılır. Amacı, Googlebot, Bingbot veya Yandex bot gibi otomatik tarayıcıların web sunucusuna erişimini koordine etmek ve sitenin hangi bölgelerini tarayacaklarını onlara bildirmektir.
Bu protokolün temeli 1994 yılına kadar uzanmaktadır ve web yöneticilerinin sunucu trafiğini kontrol altında tutabilmesi amacıyla geliştirilmiştir. Robots.txt, bir güvenlik duvarı veya kesin bir erişim kısıtlama aracı değildir. Bunun yerine, botların takip etmesi beklenen, iyi niyet esasına dayalı bir kurallar dizisidir. Tarayıcı botlar web sitenize geldiğinde ilk olarak bu dosyayı arar ve talimatları okuyarak tarama işlemlerini bu doğrultuda şekillendirir.
Kurumsal web projelerinde ve ölçeklenebilir e-ticaret sitelerinde, robots.txt dosyasının varlığı ve doğru yapılandırılması teknik SEO operasyonlarının ilk adımını oluşturur. Dosyanın eksikliği durumunda arama motorları sitenin tamamını herhangi bir sınırlama olmaksızın taramaya çalışır. Bu durum, hem sunucu üzerinde gereksiz bir trafik yükü oluşturur hem de taranması SEO açısından fayda sağlamayan teknik dosyaların taranmasına neden olur.
Web Standartlarındaki Yeri ve Önemi
Uluslararası İnternet Standartları Grubu (IETF) tarafından 2022 yılında resmi bir standart (RFC 9309) olarak kabul edilen Robots Exclusion Protocol, modern web mimarisinin vazgeçilmez bir parçasıdır. Bu standart, arama motoru örümceklerinin bir web sitesindeki taranabilir kaynakları nasıl yorumlaması gerektiğini yasal ve teknik bir çerçeveye oturtur. Robots.txt dosyasının bu standartlardaki yeri, sitenin arama motoru botları gözündeki kurumsal itibarını ve teknik olgunluğunu doğrudan temsil eder.
Bir web sunucusu, arama motoru botlarından gelen istekleri işlerken ciddi miktarda CPU, RAM ve bant genişliği tüketir. Özellikle binlerce dinamik URL yapısına, filtreleme seçeneklerine ve arama sayfalarına sahip büyük ölçekli sitelerde arama motoru örümceklerinin kontrolsüzce dolaşması sunucu performansını felç edebilir. Robots.txt dosyası, bu noktada web standartlarının sunduğu en meşru ve evrensel yöntem olarak devreye girer.
Arama motorları, bir sitenin kalitesini ve teknik sağlığını değerlendirirken robots.txt dosyasının standartlara uygunluğunu da denetler. Dosyanın söz dizimi (syntax) hataları içermesi, botların kafasının karışmasına ve sitenin taranmasında ciddi aksaklıklara yol açabilir. Bu nedenle standartlara tam uyum sağlamak, teknik SEO mimarları için birincil önceliktir.
Arama Motoru Botlarıyla İletişim Aracı
Robots.txt dosyası, web siteniz ile küresel arama motorları arasında kurulan doğrudan bir API benzeri iletişim köprüsü işlevi görür. Arama motorlarının algoritmaları, web sitenizin içeriğini analiz etmek ve dizine eklemek için sürekli olarak otomatik yazılımlar kullanır. Bu yazılımlara yön vermek, sitenizin hangi sayfalarının SERP (Search Engine Result Page - Arama Motoru Sonuç Sayfası) üzerinde nasıl temsil edileceğini doğrudan etkiler.
Bu iletişim süreci, botun sitenizin alan adına istek göndermesiyle başlar. Örneğin, Googlebot sitenize ulaştığında ilk olarak https://siteniz.com/robots.txt adresini talep eder. Eğer sunucu bu isteğe başarılı bir HTTP 200 durum kodu ile yanıt verirse, bot dosya içeriğindeki komutları satır satır okur ve hafızasına kaydeder. Sunucunun HTTP 404 (Bulunamadı) durum kodu döndürmesi durumunda ise bot, sitenizde hiçbir tarama kısıtlamasının olmadığını varsayarak tüm sayfaları taramaya başlar.
Ancak sunucunun HTTP 5xx (Sunucu Hatası) gibi hatalar döndürmesi durumunda, Googlebot gibi hassas botlar sitenin taranmasını tamamen durdurabilir. Bunun nedeni, botun "Sitede bir engelleme kuralı olabilir ancak sunucu hatası nedeniyle bunu okuyamıyorum, bu yüzden sitenin güvenliğini tehlikeye atmamak adına taramayı ertelemeliyim" şeklinde refleks göstermesidir. Bu durum, robots.txt dosyasının iletişimdeki kritik rolünü net bir şekilde ortaya koymaktadır.
Robots.txt Dosyası Ne İşe Yarar ve Neden Önemlidir?

Tarama Bütçesi (Crawl Budget) Optimizasyonu
Büyük ve orta ölçekli web siteleri için tarama bütçesi (crawl budget) yönetimi, SEO başarısının anahtarlarından biridir. Tarama bütçesi, arama motorlarının belirli bir süre zarfında web sitenizde tarayacağı toplam sayfa sayısını ifade eder. Arama motorları her web sitesine sonsuz kaynak ayıramaz; bu nedenle her sitenin otoritesine, hızına ve güncelliğine göre bir bütçe tanımlar.
Robots.txt dosyası, bu değerli bütçenin boş yere harcanmasını önler. Örneğin bir e-ticaret siteniz olduğunu ve bu sitede kullanıcıların ürünleri fiyata, renge veya bedene göre filtreleyebildiğini varsayalım. Bu filtreler milyonlarca benzersiz ancak birbirinin kopyası olan URL parametreleri üretir. Googlebot bu parametreli sayfaları taramaya başladığında tarama bütçenizi tüketir ve asıl dizine eklenmesini istediğiniz yeni veya güncel ürün sayfalarınıza sıra gelmeyebilir.
Robots.txt dosyasında bu dinamik URL parametrelerini veya filtre dizinlerini engelleyerek, arama motoru örümceklerini doğrudan dönüşüm getiren ana kategori ve ürün sayfalarınıza yönlendirebilirsiniz. Bu sayede tarama bütçeniz %100 verimlilikle kullanılmış olur ve sitenizin organik performansında gözle görülür bir artış sağlanır.
Sunucu Yükünün Yönetilmesi
Web sitenizin barındığı sunucu (server), her saniye sınırlı sayıda eşzamanlı kullanıcı isteğine yanıt verebilecek şekilde yapılandırılmıştır. Gerçek kullanıcı trafiğinin yanı sıra arama motorlarının, fiyat karşılaştırma sitelerinin ve yapay zeka modellerinin botları da sitenize sürekli istek gönderir. Eğer bu botların tarama sıklığı kontrol altına alınmazsa, sunucu kaynakları (özellikle CPU ve RAM) tükenebilir ve site gerçek kullanıcılara hizmet veremez hale gelerek yavaşlayabilir veya tamamen çökebilir.
Özellikle kısıtlı kaynaklara sahip paylaşımlı hosting (shared hosting) paketlerinde veya optimize edilmemiş sanal sunucularda (VPS) kontrolsüz bot trafiği büyük bir risk oluşturur. Robots.txt, sunucuya gereksiz yük getiren botların belirli alanlara erişmesini engelleyerek sunucu bant genişliğini ve donanım kaynaklarını korur.
Bununla birlikte, bazı arama motorları için geçerli olan tarama gecikmesi (crawl-delay) komutu sayesinde botların iki istek arasında ne kadar bekleyeceğini belirleyerek sunucu üzerindeki anlık yük dalgalanmalarının önüne geçebilirsiniz. Bu sayede hem kullanıcı deneyimi kesintiye uğramaz hem de sunucu maliyetlerinizi optimize etmiş olursunuz.
Önemsiz veya Hassas Dizinlerin Gizlenmesi
Her web sitesinde arama sonuçlarında görünmesi hem anlamsız hem de güvenlik açısından sakıncalı olabilecek belirli arka plan dizinleri bulunur. Yönetici panelleri, sepet sayfaları, ödeme ekranları, kullanıcı profil sayfaları, PDF fatura çıktıları, dahili arama sonuç sayfaları ve geçici sistem dosyaları bu duruma örnek olarak gösterilebilir.
Robots.txt dosyası ile bu tür önemsiz veya hassas dizinlerin taranmasını engelleyebilirsiniz. Örneğin bir WordPress sitesinde @@CODE0@@ dizinini, bir e-ticaret sitesinde ise @@CODE1@@ veya /cart/ yollarını engellemek standart bir uygulamadır. Bu sayede arama motoru örümceklerinin sitenizin yönetim paneliyle veya kullanıcıların kişisel verilerinin işlendiği alanlarla etkileşime girmesini engellemiş olursunuz.
Ancak burada kritik bir siber güvenlik uyarısı yapmak gerekir: Robots.txt dosyası kamunun erişimine açık bir dosyadır. Yani tarayıcısına domain.com/robots.txt yazan herhangi bir kullanıcı bu dosyayı görebilir. Dolayısıyla, gerçekten gizli tutulması gereken gizli klasör yollarını veya sistem açıklarını ifşa etmemek için robots.txt dosyasına eklememelisiniz. Bu tür hassas dizinlerin güvenliği robots.txt ile değil, doğrudan sunucu düzeyinde şifreleme, IP kısıtlaması veya kullanıcı yetkilendirme sistemleri ile sağlanmalıdır.
Tarama (Crawling) ve Dizine Ekleme (Indexing) Arasındaki Kritik Fark
Robots.txt Kurallarının Tarama Üzerindeki Etkisi
Teknik SEO alanında en sık yapılan hatalardan biri, tarama (crawling) kavramı ile dizine ekleme (indexing) kavramlarının birbirine karıştırılmasıdır. Robots.txt dosyası, yalnızca ve yalnızca tarama işlemini denetler. Bir sayfayı robots.txt dosyasında Disallow komutu ile engellediğinizde, arama motoru botlarına "Bu sayfanın kodlarını okuma, bu linki takip etme ve bu sayfayı analiz etme" demiş olursunuz.
Ancak bu durum, arama motorunun o sayfayı dizine eklemeyeceği anlamına gelmez. Eğer engellediğiniz bir sayfaya sitenizin içinden veya dışındaki başka bir web sitesinden güçlü bir link (backlink) verildiyse, Google bu sayfayı keşfedebilir ve içeriğini okuyamadığı halde "İçerik robots.txt tarafından engellendiği için bu sayfa hakkında bilgi bulunmuyor" açıklamasıyla arama sonuçlarında listeleyebilir.
Bu durum, marka imajı ve kullanıcı deneyimi açısından oldukça kötü bir SERP görüntüsüne neden olur. Kullanıcılar arama motorlarında sitenize ait anlamsız, başlığı ve açıklaması olmayan boş sayfalarla karşılaşırlar. Dolayısıyla, robots.txt dosyasının işlev sınırlarını çok iyi kavramak ve sayfaları arama sonuçlarından tamamen kaldırmak için tek başına bu dosyaya güvenmemek gerekir.
Noindex Etiketi ile İndeksleme Yönetimi
Bir web sayfasının arama motoru sonuçlarında (SERP) kesinlikle listelenmesini istemiyorsanız, kullanmanız gereken yöntem robots.txt engellemesi değil, HTML kodunun @@CODE0@@ bölümüne yerleştirilecek olan @@CODE1@@ (meta robots noindex) veya HTTP yanıt başlığındaki X-Robots-Tag: noindex talimatıdır.
Bu mekanizmanın çalışabilmesi için arama motoru botunun sayfayı tarayabilmesi gerekir. Süreç şu şekilde işler:
Bot sayfaya gelir (robots.txt engeli olmamalıdır).
Sayfa içeriğini ve HTML kodlarını tarar (crawling).
Kodların arasındaki
<meta name="robots" content="noindex">ifadesini görür.Bu talimat doğrultusunda sayfayı indeksine eklemez veya daha önce eklediyse dizinden kaldırır (indexing engellenir).
Eğer siz bir sayfayı hem robots.txt üzerinden engeller hem de sayfaya @@CODE0@@ etiketi eklerseniz, ciddi bir çelişki yaratırsınız. Bot, robots.txt engelinden dolayı sayfayı tarayamayacağı için sayfanın içindeki @@CODE1@@ etiketini asla okuyamaz. Sonuç olarak, sayfa arama motorunun dizininde kalmaya devam eder. Bu nedenle, dizinden kaldırmak istediğiniz sayfaların robots.txt dosyasında taranabilir (Allowed) durumda olduğundan emin olmalısınız.
Crawl-Delay ve Yapısal Tarama Problemleri
Eski arama motoru standartlarında sıkça kullanılan @@CODE0@@ komutu, arama motoru örümceklerinin sunucuya aşırı yüklenmesini önlemek amacıyla iki sayfa taraması arasında saniye cinsinden bir duraklama süresi tanımlar. Örneğin @@CODE1@@ komutu, botun her istek arasında 5 saniye beklemesini söyler.
Ancak modern arama motoru mimarisinde bu komutun geçerliliği büyük oranda azalmıştır. Dünyanın en büyük arama motoru olan Google, robots.txt dosyasındaki @@CODE0@@ komutunu tamamen görmezden gelir. Googlebot'un tarama hızını kontrol etmek için Google Search Console üzerindeki özel tarama hızı ayarları veya sunucu tarafındaki hız sınırlama (rate limiting) mekanizmaları kullanılmalıdır. Öte yandan Bingbot ve Yandex bot, @@CODE1@@ komutunu hala desteklemekte ve uygulamaktadır.
Bu komutun yanlış yapılandırılması, özellikle binlerce sayfaya sahip dinamik sitelerde tarama bütçesinin yapay olarak tıkanmasına ve yeni içeriklerin günlerce arama motorları tarafından keşfedilememesine yol açabilir. Yapısal tarama problemlerini çözmek için sunucu yanıt sürelerini (Time to First Byte - TTFB) iyileştirmek ve sunucu altyapısını güçlendirmek, sunucuya bot engeli koymaktan her zaman daha sağlıklı bir mühendislik yaklaşımıdır.
Temel Robots.txt Komutları (Söz Dizimi ve Kurallar)
User-agent (Bot Tanımlama)
@@CODE0@@ komutu, robots.txt dosyasında yazılan kuralların hangi arama motoru botu veya tarayıcı yazılımı için geçerli olduğunu belirten başlangıç satırıdır. Her kural grubu mutlaka bir @@CODE1@@ bildirimi ile başlamalıdır.
Eğer yazdığınız kuralların istisnasız tüm arama motoru botları için geçerli olmasını istiyorsanız, genelleyici bir karakter olan yıldız işareti (*) kullanırsınız. Bu kullanım user-agent asterisk olarak adlandırılır:
User-agent: *Eğer sadece belirli bir botu hedeflemek istiyorsanız, o botun resmi teknik adını belirtmeniz gerekir. Örneğin, sadece Google'ın ana tarayıcısını hedeflemek için:
User-agent: GooglebotReklam hedeflemesi yapan botlar (Google Ads Bot), görsel tarayıcılar veya yapay zeka veri toplama botları (GPTBot, ClaudeBot vb.) için ayrı ayrı User-agent blokları açarak her birine siteniz üzerinde farklı yetki ve kısıtlamalar tanımlayabilirsiniz.
Disallow (Erişim Engelleme)
Disallow komutu, belirtilen User-agent'ın web sitenizde hangi dizinlere, dosyalara veya URL kalıplarına erişemeyeceğini belirten temel engelleme kuralıdır. Bu komut, arama motoru botlarının erişmesini istemediğiniz yolları tanımlamak için kullanılır.
Örneğin, sitenizin yönetim panelini tüm botlara kapatmak istiyorsanız şu komutu yazarsınız:
User-agent: *
Disallow: /admin/Burada dikkat edilmesi gereken husus, eğik çizgi (/) işaretinin kullanımıdır. Eğik çizgi, sitenizin kök dizininden (root directory) itibaren başlayan yolu temsil eder. Eğer sadece Disallow: / yazarsanız, bu sitenizin tamamını tüm botların taramasına kapatmak anlamına gelir ve sitenizin organik trafiğini sıfırlayabilir.
@@CODE0@@ komutu büyük/küçük harfe duyarlıdır (case-sensitive). Yani @@CODE1@@ ile /admin/ yolları farklı değerlendirilir. Bu nedenle kuralları tanımlarken sitenizin tam URL yapısına sadık kalmanız gerekir.
Allow (Erişim İzni Verme)
@@CODE0@@ komutu, genellikle bir @@CODE1@@ engellemesinin içinde yer alan belirli bir alt klasöre veya dosyaya tarama izni vermek (istisna tanımlamak) için kullanılır. Googlebot ve modern arama motorları, bir URL ile eşleşen @@CODE2@@ ve @@CODE3@@ kuralları arasında en spesifik (karakter uzunluğu en fazla olan) kuralı geçerli kabul eder.
Örneğin, tüm görsel klasörünüzü botlara kapatıp, sadece logonuzun taranmasını istiyorsanız şu şekilde bir yapı kurabilirsiniz:
User-agent: *
Disallow: /images/
Allow: /images/logo.pngBu örnekte, bot @@CODE0@@ klasörünün altındaki hiçbir dosyayı taramazken, @@CODE1@@ dosyasına ulaştığında Allow kuralı daha spesifik olduğu için bu görseli başarıyla tarayacaktır. Bu yöntem, tarama bütçesini korurken kritik marka varlıklarının arama motoru dizinlerinde kalmasını sağlamak için son derece etkilidir.
Sitemap (Site Haritası Bildirimi)
@@CODE0@@ komutu, arama motoru botlarına web sitenizin haritasının (sitemap.xml) nerede olduğunu bildiren bağımsız bir talimattır. Bu komut, herhangi bir @@CODE1@@ bloğunun içinde yer almak zorunda değildir; genellikle dosyanın en üstüne veya en altına eklenir.
Site haritanızın tam URL'sini robots.txt dosyasında belirtmek, botların sitenizdeki yeni sayfaları, güncellemeleri ve site yapısını çok daha hızlı keşfetmesine yardımcı olur:
Sitemap: https://www.siteniz.com/sitemap.xmlBirden fazla site haritanız varsa (örneğin ürünler, kategoriler, blog yazıları için ayrı XML dosyalarınız varsa ve bunlar bir dizin haritasında toplanıyorsa), sadece ana site haritası dizin (sitemap index) URL'sini eklemeniz yeterlidir. robots.txt içinde sitemap belirtmek, arama motorlarının sitenizi tarama verimliliğini artıran evrensel bir SEO en iyi uygulamasıdır (best practice).
Crawl-delay (Tarama Gecikmesi)
Daha önce de değinildiği üzere, Crawl-delay komutu özellikle sunucu kaynakları kısıtlı olan web sitelerinde botların istek sıklığını azaltmak için kullanılır. Değer saniye cinsinden belirtilir:
User-agent: Bingbot
Crawl-delay: 10Bu kural, Bingbot'un sitenizden bir sayfa indirdikten sonra diğer sayfaya geçmeden önce 10 saniye beklemesini ister. Ancak Googlebot bu komutu desteklemediği için, Google'ın sunucunuza getirdiği yükü hafifletmek adına bu komuta güvenemezsiniz. Google için tarama hızını kontrol altında tutmanın en güvenli yolu, sunucu yanıt kodlarını optimize etmek ve gerekirse sunucu tarafında IP bazlı istek sınırlaması uygulamaktır.
Adım Adım Robots.txt Dosyası Nasıl Oluşturulur?

Standart Metin Editörleri ile Manuel Oluşturma
Robots.txt dosyası oluşturmak son derece basit bir işlemdir. İhtiyacınız olan tek şey, herhangi bir biçimlendirme kodu içermeyen düz bir metin editörüdür. Windows işletim sistemindeki Notepad (Not Defteri), macOS üzerindeki TextEdit (düz metin modunda) veya yazılımcıların sıklıkla tercih ettiği VS Code, Sublime Text gibi araçlar bu işlem için mükemmeldir.
Burada dikkat etmeniz gereken en kritik husus, Microsoft Word gibi zengin metin biçimlendirme (Rich Text) sunan kelime işlemcileri kullanmamaktır. Word gibi programlar dosyanın içine görünmez biçimlendirme karakterleri ekler. Bu karakterler, arama motoru botlarının dosyayı okurken hata yapmasına ve kuralları yanlış yorumlamasına yol açar.
Dosyanızı oluştururken her komutu ayrı bir satıra yazmalı, satırlar arasında gereksiz boşluklar bırakmamalı ve dosyayı kaydederken karakter kodlamasını mutlaka UTF-8 olarak seçmelisiniz. UTF-8 kodlaması, dosya içindeki karakterlerin tüm dünyadaki sunucular ve botlar tarafından doğru şekilde okunmasını garanti eder. Dosyanın adı ise tamamen küçük harflerle tam olarak @@CODE0@@ olmalıdır. @@CODE1@@ veya robots.TXT gibi büyük harf kullanımı sunucular tarafından tanınmayabilir.
Kök Dizine (Root Directory) Yükleme İşlemi
Oluşturduğunuz @@CODE0@@ dosyasının geçerli olabilmesi için sitenizin ana dizininde, yani kök dizininde (root directory) yer alması şarttır. Dosyanın alt klasörlerde (örneğin @@CODE1@@) barındırılması durumunda arama motoru botları bu dosyayı asla aramaz ve kurallarınızı uygulamaz.
Dosyayı kök dizine yüklemek için şu yöntemleri kullanabilirsiniz:
FTP İstemcisi Kullanarak: FileZilla, WinSCP veya Cyberduck gibi bir FTP istemcisi yardımıyla web sunucunuza bağlanın. Sitenizin ana dosyalarının bulunduğu klasöre gidin (bu klasör genellikle @@CODE0@@, @@CODE1@@, @@CODE2@@ veya sitenizin adını taşıyan bir klasördür). Bilgisayarınızda hazırladığınız @@CODE3@@ dosyasını doğrudan bu alana yükleyin.
cPanel veya Sunucu Yönetim Paneli ile: Sitenizin yönetim paneline (cPanel, Plesk, DirectAdmin vb.) giriş yapın. "Dosya Yöneticisi" (File Manager) aracını açın.
public_htmlklasörüne çift tıklayarak içine girin ve üst menüde yer alan "Yükle" (Upload) seçeneğini kullanarak dosyanızı sunucuya aktarın.
Yükleme tamamlandıktan sonra, tarayıcınızın adres çubuğuna https://www.siteniz.com/robots.txt yazarak dosyanın başarıyla yayına girdiğini ve tarayıcıda düz metin olarak görüntülendiğini doğrulayın.
WordPress ve Popüler CMS Altyapılarında Kullanım
Eğer siteniz WordPress, Shopify, Magento gibi hazır bir içerik yönetim sistemi (CMS) kullanıyorsa, robots.txt dosyasını manuel olarak yüklemek yerine bu sistemlerin sunduğu dinamik entegrasyon yöntemlerini tercih edebilirsiniz.
WordPress: WordPress varsayılan olarak sanal (virtual) bir robots.txt dosyası oluşturur. Fiziksel olarak FTP üzerinde dosya bulunmasa bile siteniz.com/robots.txt adresine gidildiğinde temel bir robots.txt içeriği gösterilir. Bu içeriği özelleştirmek için Yoast SEO, Rank Math veya All in One SEO gibi popüler eklentileri kullanabilirsiniz. Örneğin Rank Math SEO eklentisinde
Genel Ayarlar -> Robots.txt Düzenlemenüsüne giderek herhangi bir kod yazmadan veya sunucuya bağlanmadan dosyanızı kolayca güncelleyebilirsiniz.Shopify: Shopify, e-ticaret siteleri için optimize edilmiş standart bir robots.txt şablonu sunar. Çoğu işletme sahibi için bu şablon yeterlidir. Ancak özel kısıtlamalar veya izinler eklemek istiyorsanız, Shopify tema düzenleyicisi üzerinden
robots.txt.liquidşablon dosyasını düzenleyerek dinamik kurallar tanımlayabilirsiniz.Özel Yazılımlar: Kendi geliştirdiğiniz bir yazılım altyapısı kullanıyorsanız, robots.txt dosyasını statik bir dosya olarak kök dizinde tutabilir veya backend (PHP, Node.js, Python vb.) tarafında dinamik bir yönlendirme (route) tanımlayarak veritabanından yönetilebilir hale getirebilirsiniz.
Sık Kullanılan Robots.txt Senaryoları ve Örnekleri
Tüm Botlara Tam Erişim İzni Vermek
Eğer yeni kurulan, herhangi bir gizli veya dinamik URL parametresine sahip olmayan ve arama motorları tarafından tamamen taranıp dizine eklenmesini istediğiniz standart bir web siteniz varsa, tüm botlara sınırsız erişim izni veren en basit robots.txt senaryosunu uygulayabilirsiniz.
Bu senaryo için dosya içeriği şu şekilde olmalıdır:
User-agent: *
Disallow:
Sitemap: https://www.siteniz.com/sitemap.xmlBurada Disallow: komutunun karşısının boş bırakılması, "Hiçbir engelleme kuralı bulunmuyor, tüm siteyi tarayabilirsiniz" anlamına gelir. Sitenin taranmasında herhangi bir engel bulunmadığını doğrulamak için yeni açılan projelerde bu şablonun kullanılması oldukça yaygındır.
Özel Klasörlerin ve Dinamik URL Parametrelerinin Engellenmesi
Orta ve büyük ölçekli sitelerde, özellikle e-ticaret projelerinde sitenin performansı ve güvenliği için belirli klasörlerin ve parametrelerin engellenmesi gerekir. Sepet sayfaları, kullanıcı panelleri ve site içi arama parametreleri arama sonuçlarından uzak tutulmalıdır.
Aşağıdaki örnekte, bu tür kritik alanların nasıl engellendiğini görebilirsiniz:
User-agent: *
Disallow: /checkout/
Disallow: /cart/
Disallow: /search/
Disallow: /*?*
Disallow: /*&*
Sitemap: https://www.siteniz.com/sitemap.xmlBuradaki komutların detaylı açıklaması şu şekildedir:
@@CODE0@@ ve @@CODE1@@ sipariş adımlarını botların taramasına kapatır.
Disallow: /search/site içi arama sonuçlarının taranıp kopya içerik (duplicate content) üretmesini engeller.@@CODE0@@ ve @@CODE1@@ soru işareti veya ampersand içeren tüm dinamik URL parametrelerini engeller. Bu sayede filtreleme sayfalarının tarama bütçesini tüketmesinin önüne geçilir.
Staging Ortamını ve Hassas Verileri Gizleme Senaryoları
Yazılım geliştirme süreçlerinde, sitenin canlıya alınmadan önce test edildiği geliştirme (staging) veya test sunucuları bulunur. Bu sunucuların arama motorları tarafından taranması ve dizine eklenmesi, sitenizin canlı versiyonu ile birebir kopya içerik oluşturacağı için canlı sitenizin SEO performansını ciddi şekilde baltalar.
Staging sitenizi arama motoru örümceklerine tamamen kapatmak için şu komutu kullanmalısınız:
User-agent: *
Disallow: /Bu komut, kök dizinden itibaren tüm sitenin taranmasını yasaklar. Ancak bu komutun canlı (production) ortama yanlışlıkla taşınmaması için CI/CD (Sürekli Entegrasyon / Sürekli Dağıtım) süreçlerinde gerekli kontrollerin yapılması teknik bir zorunluluktur.
Belirli Botları Engelleme Senaryosu
Bazı durumlarda, web sitenizin içeriğinin genel arama motorları tarafından taranmasını isterken, verilerinizi izinsiz kazıyan (scraping) yapay zeka botlarının veya agresif analiz araçlarının sitenizi taramasını engellemek isteyebilirsiniz.
Örneğin Google ve Bing botlarına izin verirken, yapay zeka eğitim modelleri için veri toplayan GPTBot'u veya SEO analiz aracı olan AhrefsBot'u engellemek için şu yapıyı kurabilirsiniz:
User-agent: *
Allow: /
User-agent: GPTBot
Disallow: /
User-agent: AhrefsBot
Disallow: /Bu yapılandırmada, genel kurallar tüm botlara açık bırakılırken, alt kısımdaki spesifik bloklar sayesinde @@CODE0@@ ve @@CODE1@@ için tüm siteye erişim engellenmiş olur. robots.txt standartları gereği, botlar kendilerine en yakın ve en özel kuralı uygulamakla yükümlüdür.
Robots.txt Hatalarından Kaçınma: Kurumsal Uyarılar ve Riskler
CSS, JavaScript ve Görsel Dosyalarını Engellemek
Geçmiş yıllarda, arama motorlarının web sayfalarını yalnızca ham HTML olarak okuduğu dönemlerde, bant genişliğinden tasarruf etmek amacıyla CSS ve JavaScript dosyalarının barındığı klasörleri engellemek yaygın bir uygulamaydı. Ancak modern SEO standartlarında bu yaklaşım sitenize verebileceğiniz en büyük zararlardan biridir.
Günümüzde Googlebot, tıpkı gerçek bir kullanıcı gibi sayfayı render eder, yani tarayıcıda görsel olarak çalıştırır. Sayfanın mobil uyumluluğunu, hızını ve kullanıcı deneyimini ölçmek için CSS ve JavaScript dosyalarına doğrudan erişmek zorundadır.
Eğer @@CODE0@@ veya @@CODE1@@ gibi kritik kaynak klasörlerini robots.txt üzerinden engellerseniz, Googlebot sitenizin tasarımını kırık görecek ve sitenizin mobil uyumlu olmadığını varsayacaktır. Bu durum, arama motorlarındaki mobil sıralamalarınızda ani ve sert düşüşlere neden olur. Dolayısıyla tasarım ve sayfa işlevselliğini doğrudan etkileyen hiçbir teknik kaynağı engellememelisiniz.
Geliştirme (Staging) Ortamını Açık Unutmak
Yazılım geliştiriciler ve teknik ekipler, test süreçlerinde sitenin kopyasını oluştururken robots.txt dosyasına Disallow: / ekleyerek siteyi taramaya kapatır. Buraya kadar her şey doğrudur. Ancak en büyük SEO felaketleri, bu test kodlarının canlı sunucuya (production) taşınması (deploy edilmesi) sırasında yaşanır.
Eğer deploy süreçlerinizde otomatik kontroller yoksa, staging ortamındaki kısıtlayıcı robots.txt dosyası canlı sitenizin robots.txt dosyasının üzerine yazılabilir. Bu hata yapıldığında, canlı siteniz de bir anda arama motoru örümceklerine tamamen kapanır.
Googlebot bu değişikliği fark ettiği anda sitenizi taramayı durdurur ve birkaç gün içinde tüm sayfalarınız Google dizininden silinmeye başlar. Bu durum, telafisi son derece zor olan devasa bir organik trafik ve ciro kaybına yol açar. Bu riski önlemek için deploy süreçlerinde robots.txt dosyasının üzerine yazılmasını engelleyen güvenlik kuralları (güvenlik filtreleri) tanımlanmalıdır.
Çelişen Allow ve Disallow Komutları Kullanmak
Robots.txt dosyasında kuralları yazarken mantıksal çelişkiler yaratmak, arama motoru botlarının sitenizi yanlış taramasına veya hiç taramamasına neden olabilir. Özellikle karmaşık ve yüzlerce satırdan oluşan kurumsal robots.txt dosyalarında bu hatayla sıkça karşılaşılır.
Örneğin, aşağıdaki gibi çelişkili bir kural yazdığınızı varsayalım:
User-agent: *
Disallow: /blog/
Allow: /blog/seo-nedirİlk bakışta bu kural @@CODE0@@ klasörünü engelliyor ancak @@CODE1@@ sayfasına izin veriyor gibi görünebilir. Evet, Googlebot gibi modern tarayıcılar karakter uzunluğu daha fazla olan @@CODE2@@ kuralına öncelik verir ve bu sayfayı tarar. Ancak her arama motorunun veya sosyal medya botunun algoritması Google kadar gelişmiş değildir. Bazı botlar ilk gördüğü @@CODE3@@ kuralını uygulayarak blog altındaki her şeyi taramayı durdurabilir.
Ayrıca, aynı dizin için hem @@CODE0@@ hem de @@CODE1@@ gibi birbirini sıfırlayan kuralları aynı anda kullanmamaya özen göstermelisiniz. Kurallarınız her zaman net, sade ve çelişkiden uzak olmalıdır.
Yanlış Dizin Yolları ve Wildcard Kullanımı
Robots.txt dosyasında kullanılan özel karakterler (wildcards) olan yıldız işareti (*) ve dolar işareti ($), kuralları dinamik hale getirmek için çok güçlü araçlardır ancak yanlış kullanıldıklarında sitenizin taranmasını istemediğiniz alanlarını açık bırakabilir ya da tam aksine kritik alanları engelleyebilir.
**Yıldız İşareti (*) Kullanımı:** "Herhangi bir karakter dizisi" anlamına gelir. Örneğin @@CODE0@@ kuralı, @@CODE1@@, @@CODE2@@, @@CODE3@@ gibi @@CODE4@@ kelimesiyle başlayan tüm yolları engeller. Eğer amacınız sadece @@CODE5@@ sayfasını engellemekse, bu kural yanlışlıkla tüm ürün yapınızı taramaya kapatacaktır.
Dolar İşareti ($) Kullanımı: "URL'nin sonu" anlamına gelir. Örneğin sadece PDF uzantılı dosyaları engellemek istiyorsanız @@CODE0@@ yazmalısınız. Eğer sondaki dolar işaretini unutup @@CODE1@@ yazarsanız, içinde @@CODE2@@ geçen tüm dinamik URL parametrelerini (örneğin @@CODE3@@) de engellemiş olursunuz.
Google Search Console ile Robots.txt Doğrulama ve Test İşlemleri
Search Console Erişim ve Araç Kullanımı
Hazırladığınız robots.txt dosyasını sunucuya yükledikten sonra, bu dosyanın Google tarafından nasıl algılandığını kontrol etmek teknik SEO'nun en önemli adımıdır. Bunun için Google'ın ücretsiz web yöneticisi aracı olan Google Search Console (eski adıyla Google Webmaster Tools) kullanılmalıdır.
Search Console paneline giriş yaptıktan sonra, sol menüde yer alan "Ayarlar" (Settings) bölümüne gidin. Burada "Robots.txt" başlığı altında sitenizin robots.txt dosyasının Googlebot tarafından en son ne zaman başarıyla indirildiğini, boyutunu ve tespit edilen hataları görebilirsiniz.
Google, robots.txt dosyanızı genellikle günde birkaç kez tarar ve önbelleğe (cache) alır. Eğer dosyanızda acil bir değişiklik yaptıysanız ve Google'ın bu değişikliği hemen görmesini istiyorsanız, bu rapor üzerinden manuel olarak "Yeniden tara ve güncelle" isteğinde bulunarak Googlebot'u tetikleyebilirsiniz.
Robots.txt Test Aracını Kullanarak Hata Tespiti
Google, web yöneticilerinin yazdıkları kuralları canlıya almadan önce test edebilmeleri için klasik Search Console araçları arasında yer alan Robots.txt Test Aracı'nı sunmaktadır. Bu araç, yazdığınız kuralların spesifik URL'ler üzerinde nasıl bir etki yaratacağını simüle etmenize olanak tanır.
Aracı kullanırken şu adımları takip edebilirsiniz:
Google'ın "robots.txt test aracı" sayfasına gidin ve doğrulanmış mülkünüzü (web sitenizi) seçin.
Karşınıza gelen metin düzenleyici alanına, robots.txt dosyanızın içeriğini yapıştırın.
Alt kısımda yer alan URL test alanına, engellenip engellenmediğinden emin olmak istediğiniz kritik bir sayfa URL'sini girin (örneğin
https://siteniz.com/blog/makale-adi).Sağdaki "Test Et" butonuna tıklayın.
Eğer yazdığınız kurallar bu URL'yi engelliyorsa, araç ilgili satırı kırmızı renkle vurgulayacak ve durumunu "Engellendi" (Blocked) olarak gösterecektir. Eğer geçişe izin veriliyorsa yeşil renkli "İzin Verildi" (Allowed) uyarısı görünecektir. Bu simülasyon, özellikle karmaşık wildcard kuralları yazarken hata yapma riskinizi sıfıra indirir.
Engellenen Kaynakları Görüntüleme ve Düzeltme
Web sitenizde Googlebot tarafından taranmak istenen ancak robots.txt dosyanızdaki kurallar nedeniyle engellenen sayfaların listesini yine Google Search Console'un "Dizin Oluşturma" (Indexing) raporları altında bulabilirsiniz.
Search Console sol menüsünden "Sayfalar" (Pages) raporuna gidin. Sayfaların neden dizine eklenmediğini gösteren detay tablosunda "Robots.txt tarafından engellendi" (Blocked by robots.txt) uyarısını içeren bir satır göreceksiniz. Bu satıra tıkladığınızda, Google'ın taramak istediği ancak robots.txt engeline takılan tüm URL'lerin detaylı bir listesi karşınıza gelecektir.
Bu listeyi düzenli aralıklarla incelemek kurumsal siteler için hayati önem taşır. Eğer listede organik trafik çekmesini hedeflediğiniz önemli ürün veya blog sayfalarınızı görürseniz, robots.txt dosyanıza dönüp ilgili @@CODE0@@ kurallarını gevşetmeli veya daha spesifik @@CODE1@@ kuralları tanımlamalısınız. Hataları düzelttikten sonra Search Console üzerinden düzeltmeyi doğrulayarak Google'a sayfaları yeniden taraması için sinyal gönderebilirsiniz.
Sıkça Sorulan Sorular
Robots.txt dosyası kullanmak zorunlu mudur?
Robots.txt dosyası kullanmak teknik olarak zorunlu değildir ancak sitenizin tarama bütçesini yönetmek, sunucu kaynaklarını korumak ve önemsiz sayfaların taranmasını önlemek için kullanılması kritik bir SEO standardıdır.
Robots.txt dosyamı nerede bulabilirim?
Robots.txt dosyanız web sitenizin kök dizininde yer alır; tarayıcınızın adres satırına "siteniz.com/robots.txt" yazarak dosyanın yayında olup olmadığını kontrol edebilirsiniz.
Yanlış yapılandırılmış bir robots.txt sitesi SEO'yu nasıl etkiler?
Hatalı bir yapılandırma, tüm sitenizin arama motoru botlarına kapanmasına ve birkaç gün içinde tüm organik sıralamalarınızı kaybederek arama sonuçlarından silinmenize yol açabilir.
Robots.txt ile sayfalar arama sonuçlarından tamamen kalkar mı?
Hayır, robots.txt yalnızca taramayı engeller; eğer engellenen sayfaya başka sitelerden güçlü linkler verilmişse Google bu sayfayı içeriğini okuyamadığı halde dizine eklemeye devam edebilir.
Bir sayfayı Google arama sonuçlarından kesin olarak kaldırmak için ne yapılmalıdır?
Sayfayı arama sonuçlarından kesin olarak kaldırmak için sayfanın HTML kodlarına "noindex" etiketi eklenmeli ve sayfanın robots.txt dosyasında taranabilir durumda olduğundan emin olunmalıdır.
Robots.txt dosyasında büyük/küçük harf duyarlılığı var mıdır?
Evet, robots.txt dosyasındaki tüm komutlar ve dizin yolları büyük/küçük harfe karşı son derece duyarlıdır; örneğin "/Admin/" ile "/admin/" yolları farklı değerlendirilir.
Googlebot robots.txt içindeki Crawl-delay komutunu destekler mi?
Hayır, Googlebot robots.txt dosyasındaki "Crawl-delay" komutunu tamamen görmezden gelir; tarama hızını optimize etmek için sunucu yanıt sürelerini iyileştirmeniz gerekir.
robots.txt dosyasına eklenen sitemap.xml bağlantısı neden önemlidir?
Sitenizin site haritasını robots.txt içinde belirtmek, arama motoru örümceklerinin sitenizi taramaya başladıkları anda tüm URL yapınızı hızlıca keşfetmelerini ve indekslemelerini kolaylaştırır.