← Blog'a Dön
Robots.txt Nasıl Hazırlanır? Söz Dizimi, Kurallar ve Hatalar
Teknik SEO 32 dk okuma Yayın: Güncelleme:

Robots.txt Nasıl Hazırlanır? Söz Dizimi, Kurallar ve Hatalar

Robots.txt dosyası nasıl yazılır? Allow, Disallow, User-agent, Crawl-delay ve Sitemap direktifleri, yaygın hatalar ve farklı CMS için robots.txt örnekleri.

Bir web sitesinin arama motorlarıyla nasıl iletişim kurduğunu anlamak, teknik SEO çalışmalarının temel taşlarından birini oluşturur. Bu iletişimin en eski ve en doğrudan araçlarından biri robots.txt dosyasıdır. Doğru yapılandırılmış bir robots.txt, tarayıcı bütçenizi optimize eder, gereksiz sayfaların indekslenmesini engeller ve sitenizin arama motorlarında daha verimli taranmasını sağlar. Yanlış yapılandırılmış bir robots.txt ise kritik sayfaları görünmez kılabilir veya hassas içerikleri botlara açık bırakabilir.

Bu rehberde robots.txt dosyasının söz dizimini, direktiflerini, farklı CMS platformlarına özgü örneklerini, yaygın hataları ve dosyayı test etme yöntemlerini adım adım ele alacağız.


Pratik kısayol: Kurallarınızı elle yazmak yerine ücretsiz robots.txt oluşturucu aracımızla hazırlayıp indirebilirsiniz. Bu rehber, aracın ürettiği kuralların ne anlama geldiğini ve gelişmiş senaryoları anlatır.

Robots.txt Nedir?

Robots.txt, web sitenizin kök dizinine yerleştirilen, arama motoru botlarına hangi sayfaların taranıp taranmaması gerektiğini bildiren düz metin dosyasıdır. 1994 yılında Robots Exclusion Protocol (REP) standardıyla tanımlanan bu dosya, bugün hâlâ web’in temel tarayıcı yönetim mekanizması olarak kullanılmaktadır.

Dosya, https://siteniz.com/robots.txt adresinde bulunur. Bir arama motoru botu siteyi taramaya başlamadan önce bu adresi kontrol eder ve izin verilen veya yasaklanan yolları öğrenir. Yönlendirme olmadan doğrudan kök dizinde erişilebilir olması zorunludur; aksi takdirde botlar dosyanın var olmadığını varsayar ve tüm siteyi tarar.

Robots.txt’nin yasal bir engel olmadığını vurgulamak gerekir. Dosyaya uymak gönüllülük esasına dayanır; iyi niyetli arama motoru botları kurallara uyarken, kötü amaçlı tarayıcılar bu dosyayı tamamen görmezden gelebilir. Hassas veri içeren sayfalar için robots.txt yerine sunucu tarafı kimlik doğrulama kullanılmalıdır.

Bu noktayı somutlaştırmak gerekirse: robots.txt dosyanıza “Disallow: /gizli-belgeler/” yazmak, o dizini herkesten saklamaz — yalnızca iyi niyetli botlardan saklar. Kötü niyetli bir tarayıcı veya kişi, dosyanın herkese açık olması nedeniyle tam olarak hangi dizinleri gizlemeye çalıştığınızı görebilir ve doğrudan o adrese gidebilir. Bu yüzden robots.txt asla bir güvenlik önlemi olarak tasarlanmamalı; yalnızca tarama davranışını yönlendiren bir öneri mekanizması olarak değerlendirilmelidir.


Robots.txt Nasıl Çalışır?

Bir bot siteyi ziyaret ettiğinde ilk olarak https://siteniz.com/robots.txt adresine GET isteği gönderir. Sunucu bu isteğe 200 OK yanıtı döndürürse bot dosyayı okur ve içindeki kurallara göre hareket eder. Sunucu 404 Not Found yanıtı döndürürse bot siteye hiçbir kısıtlama uygulanmadığını varsayar. 500 Internal Server Error veya başka bir sunucu hatası alınırsa Google botları o siteyi geçici olarak taramayı erteleyebilir.

Dosya okunduğunda bot kendi User-agent dizesini dosyada arar. İlk eşleşen blok geçerli olur; birden fazla eşleşen blok varsa en spesifik olanı değil, dosyada ilk bulunan blok uygulanır. Bu davranış özellikle birden fazla bot için kural yazarken dikkat gerektiren bir noktadır.

Tarama süreci şu adımları izler:

  1. Bot, robots.txt adresini çeker ve önbelleğe alır (Google genellikle 24 saat önbellek tutar).
  2. Taranacak URL, Disallow ve Allow kurallarıyla karşılaştırılır.
  3. En uzun eşleşen kural öncelik kazanır.
  4. Çakışma durumunda Allow kuralı Disallow kuralından önce gelir.

Robots.txt Söz Dizimi

Robots.txt dosyası, belirli direktiflerden oluşan bloklar içerir. Her blok bir veya birden fazla User-agent satırıyla başlar, ardından Allow, Disallow, Crawl-delay ve Sitemap gibi direktifler gelir.

User-agent Direktifi

User-agent, kuralın hangi bot veya botlar için geçerli olduğunu belirtir.

User-agent: Googlebot
Disallow: /admin/

Tek bir asterisk * karakteri, dosyada açıkça tanımlanmamış tüm botları kapsar:

User-agent: *
Disallow: /gizli/

Birden fazla bota aynı kuralı uygulamak için art arda User-agent satırları yazılır:

User-agent: Googlebot
User-agent: Bingbot
Disallow: /test/

Disallow Direktifi

Disallow, botların erişmemesini istediğiniz yolu belirtir. Boş bırakılırsa botun o blokta belirtilen User-agent için hiçbir kısıtlama olmadığı anlaşılır.

# Tüm /admin/ dizinini engelle
Disallow: /admin/

# Belirli bir dosyayı engelle
Disallow: /gizli-sayfa.html

# Tüm siteyi engelle (dikkatli kullanın!)
Disallow: /

Allow Direktifi

Allow, Disallow kurallarının istisna olarak izin verdiği yolları tanımlar. Özellikle geniş bir Disallow kuralının içinden belirli sayfaları çıkarmak için kullanılır.

User-agent: Googlebot
Disallow: /urunler/
Allow: /urunler/ozel-kampanya/

Bu örnekte Googlebot /urunler/ altındaki tüm sayfaları atlayacak, ancak /urunler/ozel-kampanya/ sayfasını tarayacaktır.

Crawl-delay Direktifi

Crawl-delay, bot istekleri arasında beklemesi gereken minimum süreyi saniye cinsinden belirtir. Google bu direktifi resmi olarak desteklemez; ancak Bing, Yandex ve bazı diğer botlar bu kurala uyar.

User-agent: Bingbot
Crawl-delay: 10

Sunucunuz yoğun trafik altında zorlanıyorsa ve Google tarama hızını düşürmeniz gerekiyorsa bunu Google Search Console üzerinden ayarlamanız önerilir.

Sitemap Direktifi

Sitemap direktifi, XML site haritanızın URL’sini botlara bildirir. Dosyanın herhangi bir yerine, genellikle en alta yazılır.

Sitemap: https://siteniz.com/sitemap.xml
Sitemap: https://siteniz.com/sitemap-blog.xml

Birden fazla site haritası varsa her biri için ayrı bir Sitemap satırı eklenebilir.


Wildcard Kullanımı

Robots.txt, iki tür wildcard karakterini destekler: * ve $.

Yıldız İşareti (*)

* karakteri, sıfır veya daha fazla karakteri temsil eder. URL’nin herhangi bir bölümünde kullanılabilir.

# URL'de "?session=" geçen tüm sayfaları engelle
Disallow: /*?session=

# /api/ altındaki tüm .json dosyalarını engelle
Disallow: /api/*.json

Dolar İşareti ($)

$ karakteri, URL’nin sonunu temsil eder. Belirli bir uzantıyla biten tüm URL’leri hedeflemek için kullanılır.

# Tüm .pdf dosyalarını engelle
Disallow: /*.pdf$

# Tüm .xml dosyalarını engelle
Disallow: /*.xml$

Wildcard Kullanım Örnekleri

User-agent: *

# URL parametresi içeren tüm sayfaları engelle
Disallow: /*?*

# Print versiyonlarını engelle
Disallow: /*/print$

# Belirli kategorilerin etiket sayfalarını engelle
Disallow: /kategori/*/etiket/

Farklı Botlar İçin Kurallar

Her arama motoru ve hizmetin kendine özgü bir User-agent dizesi vardır. Aşağıdaki tablo en yaygın botları özetlemektedir:

Bot AdıUser-agent DizesiAmaç
Google AramaGooglebotWeb sayfalarını tarar
Google GörsellerGooglebot-ImageGörselleri tarar
Google HaberlerGooglebot-NewsHaber içeriklerini tarar
Google ReklamAdsBot-GoogleReklam açılış sayfalarını kontrol eder
BingBingbotMicrosoft arama motoru tarayıcısı
YandexYandexBotRus arama motoru tarayıcısı
DuckDuckGoDuckDuckBotGizlilik odaklı arama
FacebookfacebookexternalhitPaylaşım önizlemeleri için
Twitter/XTwitterbotTweet kartları için
LinkedInLinkedInBotPaylaşım önizlemeleri için

Google’ın Farklı Botlarını Hedefleme

Google, farklı görevler için farklı botlar kullanır. Örneğin PDF dosyalarını yalnızca Googlebot-Image’den gizlemek isterseniz:

User-agent: Googlebot-Image
Disallow: /*.pdf$

AdsBot-Google özellikle dikkat gerektiren bir bottur. User-agent: * kuralları AdsBot-Google’ı kapsamaz; bu botu engellemek istiyorsanız açıkça belirtmeniz gerekir:

User-agent: AdsBot-Google
Disallow: /sepet/
Disallow: /odeme/

Sosyal Medya Botlarını Yönetme

Sosyal medya platformları, paylaşılan URL’lerin önizlemesini oluşturmak için sitenizi tarar. Bu botların belirli dizinlere erişmesini engellemek isteyebilirsiniz:

User-agent: facebookexternalhit
Disallow: /uye/
Disallow: /profil/

User-agent: Twitterbot
Disallow: /uye/
Disallow: /profil/

Farklı CMS Platformları İçin Robots.txt Örnekleri

WordPress için Robots.txt

WordPress’te robots.txt dosyası kök dizinde yer alır. Yoast SEO veya Rank Math gibi eklentiler bu dosyayı otomatik yönetebilir; ancak manuel kontrolün avantajı daha fazla esneklik sağlamasıdır.

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /trackback/
Disallow: /xmlrpc.php
Disallow: /?s=
Disallow: /page/
Allow: /wp-content/uploads/

Sitemap: https://siteniz.com/sitemap.xml

Bu yapılandırmada dikkat edilmesi gereken birkaç nokta vardır. /wp-admin/admin-ajax.php yolu engellenirse bazı ön uç özellikleri çalışmayabilir; bu nedenle Allow ile açılmıştır. /?s= arama sonuç sayfalarını, /page/ ise sayfalama URL’lerini engeller; bu iki kural crawl bütçesi açısından önemlidir.

WooCommerce Ek Kuralları

WooCommerce kullanan bir WordPress sitesi için ek olarak:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /sepet/
Disallow: /odeme/
Disallow: /hesabim/
Disallow: /siparis-alindi/
Disallow: /?add-to-cart=
Disallow: /?removed_item=
Disallow: /wp-content/plugins/
Allow: /wp-content/uploads/

Sitemap: https://siteniz.com/sitemap.xml
Sitemap: https://siteniz.com/urun-sitemap.xml

Shopify için Robots.txt

Shopify, 2021 yılından itibaren robots.txt dosyasını özelleştirme imkânı sunmaktadır. Shopify’ın varsayılan robots.txt’si oldukça iyidir; ancak bazı durumlar özel düzenleme gerektirebilir.

Shopify’da robots.txt.liquid dosyasını düzenlemek için tema editörüne gidin. Temel Shopify robots.txt yapısı şöyle görünür:

User-agent: *
Disallow: /admin
Disallow: /cart
Disallow: /orders
Disallow: /checkouts/
Disallow: /checkout
Disallow: /4/
Disallow: /account
Disallow: /collections/*sort_by*
Disallow: /*/collections/*sort_by*
Disallow: /collections/*+*
Disallow: /collections/*%2B*
Disallow: /collections/*%2b*
Disallow: /*/collections/*+*
Disallow: /*/collections/*%2B*
Disallow: /*/collections/*%2b*
Disallow: /blogs/*+*
Disallow: /blogs/*%2B*
Disallow: /blogs/*%2b*
Disallow: /*/blogs/*+*
Disallow: /*/blogs/*%2B*
Disallow: /*/blogs/*%2b*
Disallow: /*?*oseid*
Disallow: /*preview_theme_id*
Disallow: /*preview_script_id*
Disallow: /policies/

Sitemap: https://siteniz.myshopify.com/sitemap.xml

Özel (Custom) Bir Site İçin Robots.txt

Çerçeve veya CMS bağımsız, özel geliştirilen bir site için robots.txt daha sade tutulabilir:

# Tüm botlar için genel kurallar
User-agent: *
Disallow: /admin/
Disallow: /api/
Disallow: /dahili/
Disallow: /gecici/
Disallow: /_next/
Allow: /_next/static/
Allow: /_next/image/
Disallow: /login
Disallow: /register
Disallow: /dashboard/

# Google'a özgü kurallar
User-agent: Googlebot
Allow: /

# Bing için tarama hızı sınırı
User-agent: Bingbot
Crawl-delay: 5

# Site haritaları
Sitemap: https://siteniz.com/sitemap.xml
Sitemap: https://siteniz.com/sitemap-urunler.xml

Next.js kullanan projeler için /_next/static/ ve /_next/image/ yollarına izin vermek önemlidir; aksi takdirde JavaScript ve CSS dosyaları, görseller gibi kaynaklar taranamaz.


Çok Dilli Siteler İçin Robots.txt

Subdirectory tabanlı çok dilli bir sitede genellikle tüm dil sürümlerinin taranmasına izin verilir:

User-agent: *
Disallow: /admin/
Disallow: /hesabim/
Disallow: /en/hesabim/
Disallow: /de/konto/

Sitemap: https://siteniz.com/sitemap.xml
Sitemap: https://siteniz.com/en/sitemap.xml
Sitemap: https://siteniz.com/de/sitemap.xml

Subdomain tabanlı yapılarda ise her subdomain kendi robots.txt dosyasına sahip olmalıdır.


Crawl Bütçesini Robots.txt ile Optimize Etme

Crawl bütçesi, Google’ın belirli bir süre içinde sitenizde tarayabileceği URL sayısıdır. Büyük ve karmaşık sitelerde crawl bütçesi kritik bir faktördür. Robots.txt, değersiz URL’leri engelleyerek bütçenin verimli kullanılmasını sağlar.

Crawl bütçesini tüketen yaygın URL türleri şunlardır:

  • Filtre ve sıralama parametreli URL’ler (?renk=mavi&beden=M)
  • Oturum kimliği içeren URL’ler (?sid=abc123)
  • Sayfalama URL’leri (/sayfa/2/, /sayfa/3/)
  • Arama sonuç sayfaları (/?s=arama+terimi)
  • Print sayfaları (/yazdir/ veya ?print=true)
  • Dahili arama sonuçları

Bu URL’leri engellemek için örnek bir yapılandırma:

User-agent: *

# Filtre parametrelerini engelle
Disallow: /*?filtre=
Disallow: /*?renk=
Disallow: /*?beden=
Disallow: /*?siralama=

# Oturum parametrelerini engelle
Disallow: /*?sessionid=
Disallow: /*?sid=
Disallow: /*?session_id=

# Print sayfalarını engelle
Disallow: /*/yazdir$
Disallow: /*?print=*

# Dahili arama sayfalarını engelle
Disallow: /arama/
Disallow: /?s=
Disallow: /?q=

Sitemap: https://siteniz.com/sitemap.xml

Yaygın Robots.txt Hataları ve Çözümleri

Hata 1: Tüm Siteyi Yanlışlıkla Engellemek

En kritik ve maalesef en sık karşılaşılan hata, tüm siteyi botlara kapatmaktır. Bu genellikle geliştirme ortamından üretim ortamına geçişte yapılandırmanın güncellenmemesinden kaynaklanır.

Hatalı yapılandırma:

User-agent: *
Disallow: /

Doğru yapılandırma:

User-agent: *
Disallow: /admin/
Disallow: /gizli/

Bu hatayı Google Search Console’un Coverage raporunda, sayfaların “Robots.txt tarafından engellendi” olarak işaretlendiğini görünce fark edebilirsiniz.

Hata 2: CSS ve JavaScript Dosyalarını Engellemek

Google, JavaScript ve CSS dosyalarını işleyerek sayfaları renderlar. Bu dosyalar engellenirse Google sayfanızı tam olarak göremez ve bu durum sıralamayı olumsuz etkiler.

Hatalı yapılandırma:

User-agent: *
Disallow: /static/
Disallow: /assets/
Disallow: /*.css$
Disallow: /*.js$

Doğru yapılandırma:

User-agent: *
Disallow: /static/gizli/
Allow: /static/css/
Allow: /static/js/

Hata 3: Büyük-Küçük Harf Duyarlılığını Görmezden Gelmek

Robots.txt yol eşleştirmesi büyük-küçük harf duyarlıdır. /Admin/ ve /admin/ farklı yollardır.

Hatalı yapılandırma (yalnızca birini engeller):

User-agent: *
Disallow: /Admin/

Doğru yapılandırma:

User-agent: *
Disallow: /admin/
Disallow: /Admin/

Hata 4: Noindex ile Robots.txt’yi Karıştırmak

Robots.txt bir sayfanın taranmasını engellerken, noindex meta etiketi sayfanın indekslenmesini engeller. Bu iki mekanizma birbirinin yerine geçemez.

Robots.txt ile engellenen bir sayfa, botlar tarafından taranmasa dahi başka sitelerden gelen bağlantılar aracılığıyla indekslenebilir. Bir sayfanın kesinlikle arama sonuçlarında görünmemesini istiyorsanız noindex meta etiketini veya X-Robots-Tag HTTP başlığını kullanmanız gerekir.

Hata 5: Sitemap URL’sini Robots.txt’ye Eklememek

Birçok site, robots.txt dosyasında Sitemap direktifini ihmal eder. Bu durum botların site haritasını keşfetmesini zorlaştırır.

Eksik yapılandırma:

User-agent: *
Disallow: /admin/

Eksiksiz yapılandırma:

User-agent: *
Disallow: /admin/

Sitemap: https://siteniz.com/sitemap.xml

Hata 6: Yorum Satırlarının Yanlış Kullanımı

Robots.txt’de yorum satırları # karakteriyle başlar. Satır ortasına eklenen yorumlar bazı botlar tarafından farklı yorumlanabilir.

Potansiyel sorunlu kullanım:

Disallow: /admin/ # Yönetici panelini engelle

Güvenli kullanım:

# Yönetici panelini engelle
Disallow: /admin/

Hata 7: Allow Direktifinin Yanlış Sıralanması

Allow ve Disallow kuralları arasında çakışma olduğunda en uzun eşleşen kural öncelik kazanır. Ancak uzunlukların eşit olduğu durumda Allow kazanır. Bu sıralama mantığını yanlış anlamak beklenmedik sonuçlara yol açabilir.

User-agent: *
Disallow: /urunler/
Allow: /urunler/ozel/

# Sonuç: /urunler/ozel/ izin verilir, diğer tüm /urunler/ yolları engellenir

Hata 8: Trailing Slash Tutarsızlığı

/dizin ve /dizin/ farklı şekillerde eşleşir. /dizin hem /dizin sayfasını hem de /dizin/ ile başlayan tüm yolları engeller. /dizin/ ise yalnızca o dizini ve altındakileri engeller.

# /dizin URL'sini ve /dizin/ ile başlayan her şeyi engeller
Disallow: /dizin

# Yalnızca /dizin/ dizinini ve içindekileri engeller
Disallow: /dizin/

Yapay Zeka Botları İçin Robots.txt Yapılandırması

2026 itibarıyla robots.txt dosyanızın yönetmesi gereken bot listesi yalnızca geleneksel arama motoru tarayıcılarından ibaret değil. ChatGPT, Claude, Perplexity ve Google Gemini gibi yapay zeka destekli araçların kendi web tarama botları var ve bu botların içeriğinize erişimini bilinçli biçimde yönetmek gerekiyor.

Bot AdıAit Olduğu SistemAmaç
GPTBotOpenAI / ChatGPTModel eğitimi ve içerik taraması
ChatGPT-UserChatGPT (canlı browsing)Kullanıcı sorgusu anında sayfa okuma
ClaudeBotAnthropic / ClaudeModel eğitimi ve içerik taraması
PerplexityBotPerplexity.aiAnswer engine kaynak taraması
Google-ExtendedGoogle Gemini / AI OverviewGemini ve AI Overview için içerik kullanımı
BytespiderByteDance / TikTokModel eğitimi taraması

Bu botları engellemek, markanızın yapay zeka destekli arama sonuçlarında ve sohbet motorlarında görünmesini de engeller. Eğer amacınız ChatGPT, Perplexity veya Gemini gibi araçlarda kaynak olarak gösterilmekse bu botlara açıkça izin vermeniz gerekir:

User-agent: GPTBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Google-Extended
Allow: /

Bazı yayıncılar, içeriklerinin yapay zeka model eğitiminde kullanılmasını istemediği için bu botları engelleme yolunu tercih ediyor. Bu tamamen stratejik bir tercih; ancak engelleme kararının, markanızın AI arama görünürlüğünden feragat etmek anlamına geldiğini bilerek verilmesi gerekiyor. Konuyu daha kapsamlı incelemek isteyenler AI crawler optimizasyonu ve llms.txt nedir yazılarımıza bakabilir.


Log Analizi ile Robots.txt Etkisini Doğrulama

Robots.txt dosyanızı yazdıktan sonra botların gerçekten kurallara uyup uymadığını doğrulamak, teorik yapılandırmayı pratikte test etmenin en güvenilir yoludur. Sunucu erişim loglarını inceleyerek şu soruların yanıtını bulabilirsiniz:

  • Engellediğiniz dizinlere bot istekleri hâlâ geliyor mu?
  • Googlebot, izin verdiğiniz kritik sayfalara düzenli olarak uğruyor mu?
  • Beklenmedik bir bot, sunucunuza aşırı yük mü bindiriyor?
  • Crawl bütçesi, önemsiz parametre URL’lerine mi harcanıyor?

Log analizi için GoAccess, Screaming Frog Log File Analyser veya özel script çözümleri kullanılabilir. Büyük ölçekli e-ticaret ve haber sitelerinde log analizi, robots.txt değişikliklerinin etkisini birkaç hafta içinde somut verilerle görmenizi sağlar. Bu konuda daha fazla bilgi için crawl budget nedir yazımıza göz atabilirsiniz.


Robots.txt Hazırlama Kontrol Listesi

Yeni bir robots.txt dosyası yayına almadan önce aşağıdaki kontrol listesini tamamlamanız, yaygın hataların büyük bölümünü önler:

  • Dosya https://siteniz.com/robots.txt adresinde doğrudan erişilebilir
  • User-agent: * bloğu yanlışlıkla Disallow: / içermiyor
  • CSS ve JavaScript dosyaları engellenmemiş
  • Sitemap direktifi eklenmiş ve URL doğru
  • Trailing slash kullanımı tutarlı ve amaca uygun
  • AdsBot-Google gibi özel botlar ayrı ele alınmış (gerekiyorsa)
  • Yapay zeka botları (GPTBot, ClaudeBot, PerplexityBot) için bilinçli bir karar verilmiş
  • noindex gerektiren sayfalar robots.txt yerine meta etiketle işaretlenmiş
  • Dosya Google Search Console robots.txt test aracıyla doğrulanmış
  • Değişiklik Git veya benzeri bir sürüm kontrol sistemine kaydedilmiş

Vaka Kurgusu: Bir E-ticaret Sitesinin Crawl Bütçesi Sorunu

Orta ölçekli bir e-ticaret sitesi, ürün sayfalarının yeni eklenen içeriklerinin Google’da haftalar sonra bile indekslenmediğini fark ediyor. Google Search Console’da yapılan incelemede, sitenin filtre ve sıralama parametreleriyle oluşturulan on binlerce URL’nin Googlebot tarafından düzenli olarak tarandığı, ancak yeni ürün sayfalarının bu kalabalığın arasında kaybolduğu ortaya çıkıyor.

Teknik ekip, log analizi yaparak Googlebot’un günlük tarama isteklerinin büyük kısmının ?renk=, ?beden= ve ?siralama= gibi parametrelerle oluşan sayfalara gittiğini doğruluyor. Bu sayfaların hiçbiri özgün içerik barındırmıyor; aynı ürünleri farklı sırayla listeliyor.

Ekip, robots.txt dosyasını güncelleyerek bu parametre kombinasyonlarını Disallow direktifleriyle engelliyor, canonical etiketlerini gözden geçiriyor ve yeni ürün sayfalarını içeren güncel bir sitemap gönderiyor. Değişiklik sonrası log analizinde, Googlebot’un tarama isteklerinin önemli bir kısmının artık ürün ve kategori sayfalarına yöneldiği görülüyor.

Altı hafta içinde yeni eklenen ürün sayfalarının indekslenme süresi belirgin şekilde kısalıyor ve organik trafik, özellikle yeni sezon ürünlerinde daha hızlı bir başlangıç ivmesi kazanıyor. Bu örnek, robots.txt yapılandırmasının soyut bir teknik detay değil, doğrudan gelir etkisi olan bir SEO kararı olduğunu gösteriyor. Aynı sitenin teknik ekibi, bu deneyimden sonra her yeni parametre türü eklendiğinde robots.txt dosyasını gözden geçirmeyi standart bir süreç haline getiriyor ve böylece benzer bir sorunun tekrarlanmasını önlemiş oluyor. (Vaka temsilidir.)


Robots.txt Test Etme Yöntemleri

Google Search Console Robots.txt Test Aracı

Google Search Console, robots.txt dosyanızı test etmenin en güvenilir yoludur.

  1. Google Search Console’a giriş yapın.
  2. Sol menüden “Ayarlar”ı (Dişli çark simgesi) seçin.
  3. ”Robots.txt dosyasını incele” seçeneğine tıklayın.
  4. Açılan araçta belirli bir URL girerek o URL’nin Googlebot tarafından taranıp taranamayacağını test edin.

Araç, her bir kural için hangi satırın uygulandığını gösterir; bu özellik çakışan kuralları teşhis etmede son derece yararlıdır.

Bing Webmaster Tools

Bing kullanıcıları için Bing Webmaster Tools benzer bir robots.txt test aracı sunar. Ayrıca Bingbot’un sitenizi nasıl taradığına dair raporlar sağlar.

Robots.txt Validator Araçları

Çevrimiçi çeşitli robots.txt doğrulama araçları mevcuttur. Bu araçlar söz dizimi hatalarını, boş direktifleri ve potansiyel yapılandırma sorunlarını tespit eder.

Kendi siteniz için Robots.txt Oluşturucu aracımızı kullanarak hatasız bir robots.txt dosyası hazırlayabilirsiniz.

Komut Satırı ile Test

Terminale erişiminiz varsa curl komutuyla robots.txt dosyanızı hızlıca kontrol edebilirsiniz:

curl -I https://siteniz.com/robots.txt

Bu komut HTTP durum kodunu döndürür. 200 OK almanız gerekir. Ardından dosya içeriğini görmek için:

curl https://siteniz.com/robots.txt

Python ile Robots.txt Ayrıştırma

Daha ileri düzey testler için Python’ın standart kütüphanesinde yer alan urllib.robotparser modülü kullanılabilir:

import urllib.robotparser

rp = urllib.robotparser.RobotFileParser()
rp.set_url("https://siteniz.com/robots.txt")
rp.read()

# Belirli bir URL'nin taranıp taranamayacağını kontrol et
url = "https://siteniz.com/admin/"
agent = "Googlebot"

if rp.can_fetch(agent, url):
    print(f"{url} taranabilir")
else:
    print(f"{url} engellenmiş")

Robots.txt ve Noindex İlişkisi

Teknik SEO çalışmalarında robots.txt ile noindex direktifinin birlikte kullanımı karışıklığa yol açabilir. Bu iki mekanizmanın farkını net anlamak kritiktir.

Özellikrobots.txt Disallownoindex Meta Etiketi
Tarama engeliEvetHayır
İndeksleme engeliDolaylıDoğrudan
GüvenlikDüşükDüşük
Uygulama yeriSunucu köküSayfa <head> bölümü
Link değeriAktarılırAktarılmaz
ÖneriKaynakları koruİndeksten çıkar

Bir sayfayı hem robots.txt ile engelliyor hem de sayfaya noindex etiketi koyuyorsanız, Google sayfayı tarayamadığı için noindex etiketini de göremez. Bu nedenle kesinlikle indekslenmemesini istediğiniz sayfaları robots.txt ile değil, noindex etiketi veya X-Robots-Tag: noindex HTTP başlığıyla işaretleyin.


E-ticaret Siteleri için Robots.txt Stratejisi

E-ticaret sitelerinde yüzlerce veya binlerce filtreleme kombinasyonu URL oluşturur. Bu URL’ler aynı ürünü farklı sıralamalarla gösterebilir ve crawl bütçesini ciddi ölçüde tüketebilir.

User-agent: *

# Temel engeller
Disallow: /hesabim/
Disallow: /sepet/
Disallow: /odeme/
Disallow: /siparis-takip/
Disallow: /admin/

# Filtre parametrelerini engelle
Disallow: /*?siralama=
Disallow: /*?renk=
Disallow: /*?beden=
Disallow: /*?fiyat=
Disallow: /*?marka=
Disallow: /*?indirim=

# Arama sayfalarını engelle
Disallow: /arama/
Disallow: /?arama=
Disallow: /?s=

# Wishlist ve karşılaştırma sayfalarını engelle
Disallow: /favori-listesi/
Disallow: /karsilastir/

# Sayfalama (isteğe bağlı, site yapısına göre karar verin)
# Disallow: /*?sayfa=

# Ürün varyasyon sayfalarını koru
Allow: /urunler/

Sitemap: https://siteniz.com/sitemap.xml
Sitemap: https://siteniz.com/sitemap-urunler.xml
Sitemap: https://siteniz.com/sitemap-kategoriler.xml

Haber Siteleri ve Blog Platformları İçin Robots.txt

Haber siteleri için Googlebot-News’in belirli kategorilere erişimini yönetmek önemlidir:

User-agent: *
Disallow: /yazar/
Disallow: /etiket/
Disallow: /arsiv/
Disallow: /sayfa/
Disallow: /yorum/
Disallow: /?p=
Disallow: /?cat=
Disallow: /?tag=
Allow: /

User-agent: Googlebot-News
Disallow: /etiket/
Disallow: /arsiv/
Allow: /

Sitemap: https://siteniz.com/sitemap.xml
Sitemap: https://siteniz.com/haber-sitemap.xml

Etiket ve arşiv sayfaları genellikle düşük özgünlükte içerik barındırır; bu nedenle bu sayfaları engellemek crawl bütçesini makale sayfalarına yönlendirir.


Robots.txt Dosyasını Güncel Tutmak

Robots.txt bir kez yazılıp unutulan bir dosya değildir. Siteniz büyüdükçe ve değiştikçe robots.txt de güncellenmelidir. Aşağıdaki durumlar robots.txt güncellemesi gerektirebilir:

  • Yeni bir dizin veya bölüm eklenmesi
  • CMS yükseltmesi veya değişimi
  • Yeni bir ödeme veya üyelik sistemi kurulması
  • Yeni URL parametrelerinin hayata geçirilmesi
  • Subdomain yapısının değiştirilmesi
  • A/B test araçlarının kullanıma alınması

Robots.txt değişikliklerini Google Search Console üzerinden takip edebilirsiniz. Ayrıca dosyanızı sürüm kontrol sistemine (Git) eklemek, değişiklik geçmişini korumanızı sağlar.

Ekip İçi Süreç Önerisi

Robots.txt dosyasını yöneten sorumluluk genellikle geliştirme ekibi ile SEO ekibi arasında bölünmüş durumda kalıyor ve bu durum yanlışlıkla yapılan değişikliklerin en sık nedenlerinden biri oluyor. Sağlıklı bir süreç için şu üç kural önerilir: birincisi, robots.txt değişikliklerinin her zaman bir kod inceleme (code review) sürecinden geçmesi; ikincisi, yayına almadan önce mutlaka staging ortamında test edilmesi; üçüncüsü, canlıya alındıktan sonraki 24-48 saat içinde Google Search Console’da tarama istatistiklerinin kontrol edilmesi. Bu üç adım, “tüm siteyi yanlışlıkla engelleme” gibi maliyetli hataların büyük bölümünü yayına çıkmadan önce yakalar.


Sonuç

Robots.txt, teknik SEO araç setinin temel taşlarından biri olmaya devam etmektedir. Doğru yapılandırılmış bir robots.txt dosyası, crawl bütçenizi verimli kullanır, değersiz sayfaların indekslenmesini önler ve arama motorlarının sitenizi daha iyi anlamasına katkı sağlar.

Özetlemek gerekirse:

  • Her direktifin anlamını ve sınırlarını bilin (Disallow taramayı engeller, noindex indekslemeyi)
  • Wildcard karakterlerini (* ve $) dikkatli kullanın; test etmeden yayına almayın
  • Sitemap URL’nizi mutlaka ekleyin
  • Dosyayı Google Search Console’un robots.txt test aracıyla düzenli olarak doğrulayın
  • E-ticaret ve büyük sitelerde parametre tabanlı URL’leri engelleyerek crawl bütçesini koruyun
  • CSS ve JavaScript dosyalarını asla engellemeyin

Siteniz için özelleştirilmiş, hata içermeyen bir robots.txt dosyası oluşturmak için Robots.txt Oluşturucu aracımızı kullanabilirsiniz. Daha kapsamlı bir teknik SEO denetimi için Teknik SEO hizmetlerimizi incelemenizi tavsiye ederiz.

Robots.txt dosyası SEO sıralamasını doğrudan artırır mı?
Hayır, robots.txt doğrudan bir sıralama faktörü değildir. Görevi, botların hangi sayfaları tarayıp taramayacağını yönetmektir. Ancak dolaylı olarak SEO’yu ciddi biçimde etkiler: crawl bütçesini değersiz sayfalardan kritik sayfalara yönlendirerek yeni içeriğin daha hızlı keşfedilmesini sağlar, CSS ve JavaScript dosyalarının engellenmemesini garanti ederek Google’ın sayfayı doğru render etmesine yardımcı olur. Yanlış yapılandırılmış bir robots.txt ise tüm siteyi görünmez kılarak SEO’yu telafisi zor biçimde zedeleyebilir.
Robots.txt dosyası olmadan site çalışır mı?
Evet, robots.txt dosyası olmayan bir site normal şekilde çalışır ve taranır. Bot, dosyayı bulamadığında (404 yanıtı aldığında) hiçbir kısıtlama olmadığını varsayar ve siteyi serbestçe tarar. Ancak bu, robots.txt’nin gereksiz olduğu anlamına gelmez; dosya olmadan crawl bütçesi kontrolü, hassas dizinlerin gizlenmesi ve sitemap bildirimi gibi faydalardan yoksun kalırsınız. Her site için en azından temel bir robots.txt dosyası oluşturmak önerilir.
Robots.txt ile bir sayfayı Google’dan tamamen kaldırabilir miyim?
Hayır, robots.txt yalnızca taramayı engeller, indekslemeyi garanti biçimde önlemez. Robots.txt ile engellenen bir sayfa, başka sitelerden gelen bağlantılar aracılığıyla yine de indekslenebilir ve arama sonuçlarında URL’si (içerik açıklaması olmadan) görünebilir. Bir sayfayı kesin olarak arama sonuçlarından kaldırmak için noindex meta etiketi, X-Robots-Tag HTTP başlığı kullanmalı veya Google Search Console’daki kaldırma aracını kullanmalısınız.
Robots.txt dosyasını nereye yüklemeliyim?
Robots.txt dosyası mutlaka sitenizin kök dizinine, yani https://siteniz.com/robots.txt adresine yüklenmelidir. Alt dizinlere (https://siteniz.com/blog/robots.txt gibi) yüklenen dosyalar botlar tarafından geçerli sayılmaz. WordPress gibi CMS’lerde bu dosya genellikle otomatik oluşturulur veya bir SEO eklentisi üzerinden yönetilir; özel geliştirilen sitelerde ise dosyanın sunucunun kök klasörüne manuel olarak yerleştirilmesi gerekir.
Robots.txt değişikliği ne kadar sürede etkili olur?
Google, robots.txt dosyasını genellikle 24 saat aralıklarla yeniden kontrol eder ve önbelleğe alır. Bu nedenle yaptığınız bir değişikliğin etkisini görmek genellikle bir gün içinde mümkündür. Ancak botun mevcut tarama planına ve sitenizin tarama sıklığına bağlı olarak bu süre değişebilir. Değişikliği hemen doğrulamak isterseniz Google Search Console’daki robots.txt test aracını kullanarak güncel dosyanın doğru okunduğunu kontrol edebilirsiniz.
Tüm arama motorları robots.txt kurallarına aynı şekilde uyuyor mu?
Hayır, temel Disallow ve Allow direktiflerine çoğu büyük arama motoru (Google, Bing, Yandex) uyar, ancak bazı direktiflerin desteği farklılık gösterir. Örneğin Crawl-delay direktifini Google resmi olarak desteklemez, ancak Bing ve Yandex destekler. Wildcard karakterlerinin (* ve $) yorumlanmasında da botlar arasında küçük farklar olabilir. Bu nedenle kritik kuralları birden fazla webmaster aracıyla test etmek daha güvenlidir.
WordPress’te robots.txt dosyasını nasıl düzenlerim?
WordPress’te robots.txt dosyasını düzenlemenin iki yolu var. Yoast SEO veya Rank Math gibi SEO eklentileri, eklenti panelinden doğrudan dosya içeriğini düzenleme imkanı sunar; bu en pratik yöntemdir. Alternatif olarak, sunucuya FTP veya dosya yöneticisiyle erişip kök dizine fiziksel bir robots.txt dosyası yükleyebilirsiniz — bu durumda dosya, eklenti tarafından oluşturulan sanal dosyanın önüne geçer. Değişiklik sonrası mutlaka Google Search Console’da test etmeniz önerilir.
Yapay zeka botlarını engellemeli miyim, yoksa izin mi vermeliyim?
Bu, tamamen stratejik bir tercih ve tek doğru cevabı yok. ChatGPT, Claude ve Perplexity gibi araçlarda markanızın kaynak olarak görünmesini istiyorsanız GPTBot, ClaudeBot ve PerplexityBot gibi botlara izin vermeniz gerekir. Buna karşılık içeriğinizin yapay zeka modellerinin eğitiminde kullanılmasından rahatsızsanız bu botları engelleyebilirsiniz — ancak bu durumda AI destekli arama sonuçlarında görünürlükten de büyük ölçüde feragat etmiş olursunuz. Karar verirken içerik stratejinizin öncelik sırasını netleştirmeniz önemli.
Onur Öztürk, SEO uzmanı
// yazar

Onur ÖZTÜRK

SEO Uzmanı & Dijital Pazarlama Danışmanı

15 yılı aşkın deneyimle sağlık turizmi, e-ticaret ve kurumsal markalar için SEO stratejisi geliştiriyorum. Google Partner ve Meta Business Partner olarak 150'den fazla işletmenin organik büyümesine katkı sağladım. SEO'nun yanında web tasarım, reklam yönetimi ve logo tasarımı hizmetlerini de ekibimle birlikte yürütüyorum.

// google arama

Bu içerikleri Google'da daha sık görün

onuroztr.com'u tercih edilen kaynak olarak ekleyin; yazılarımız arama sonuçlarında ve yapay zeka özetlerinde size daha sık gösterilsin.

WhatsApp'tan yazın Genellikle 1 saat içinde dönüyorum
WhatsApp Toplantı Planlayın