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:
- Bot, robots.txt adresini çeker ve önbelleğe alır (Google genellikle 24 saat önbellek tutar).
- Taranacak URL,
DisallowveAllowkurallarıyla karşılaştırılır. - En uzun eşleşen kural öncelik kazanır.
- Çakışma durumunda
AllowkuralıDisallowkuralı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 Dizesi | Amaç |
|---|---|---|
| Google Arama | Googlebot | Web sayfalarını tarar |
| Google Görseller | Googlebot-Image | Görselleri tarar |
| Google Haberler | Googlebot-News | Haber içeriklerini tarar |
| Google Reklam | AdsBot-Google | Reklam açılış sayfalarını kontrol eder |
| Bing | Bingbot | Microsoft arama motoru tarayıcısı |
| Yandex | YandexBot | Rus arama motoru tarayıcısı |
| DuckDuckGo | DuckDuckBot | Gizlilik odaklı arama |
| facebookexternalhit | Paylaşım önizlemeleri için | |
| Twitter/X | Twitterbot | Tweet kartları için |
| LinkedInBot | Paylaşı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 Sistem | Amaç |
|---|---|---|
| GPTBot | OpenAI / ChatGPT | Model eğitimi ve içerik taraması |
| ChatGPT-User | ChatGPT (canlı browsing) | Kullanıcı sorgusu anında sayfa okuma |
| ClaudeBot | Anthropic / Claude | Model eğitimi ve içerik taraması |
| PerplexityBot | Perplexity.ai | Answer engine kaynak taraması |
| Google-Extended | Google Gemini / AI Overview | Gemini ve AI Overview için içerik kullanımı |
| Bytespider | ByteDance / TikTok | Model 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.txtadresinde doğrudan erişilebilir -
User-agent: *bloğu yanlışlıklaDisallow: /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ş
-
noindexgerektiren 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.
- Google Search Console’a giriş yapın.
- Sol menüden “Ayarlar”ı (Dişli çark simgesi) seçin.
- ”Robots.txt dosyasını incele” seçeneğine tıklayın.
- 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.
| Özellik | robots.txt Disallow | noindex Meta Etiketi |
|---|---|---|
| Tarama engeli | Evet | Hayır |
| İndeksleme engeli | Dolaylı | Doğrudan |
| Güvenlik | Düşük | Düşük |
| Uygulama yeri | Sunucu kökü | Sayfa <head> bölümü |
| Link değeri | Aktarılır | Aktarılmaz |
| Öneri | Kaynakları 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 (
Disallowtaramayı engeller,noindexindekslemeyi) - 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.
noindex meta etiketi, X-Robots-Tag HTTP başlığı kullanmalı veya Google Search Console’daki kaldırma aracını kullanmalısınız.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.* 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.