Tek satırlık bir hata bir sitenin tamamını Google taramasından çıkarabilir: Disallow: /. Test ortamından canlıya taşınırken unutulan bu satır, robots.txt'nin ne kadar küçük ama ne kadar etkili bir dosya olduğunu gösteriyor. Robots.txt nasıl yazılır sorusunun cevabı birkaç satırlık sözdiziminden ibaret görünse de, Google'ın kuralları nasıl önceliklendirdiğini bilmeden yazılan bir dosya istediğinizin tam tersini yapabilir.
Bu rehberde robots.txt'nin neyi yapıp neyi yapmadığını, Google'ın kural öncelik mantığını, joker karakterleri, e-ticaret ve WordPress siteleri için örnek dosyaları, test yöntemini ve sık yapılan hataları Google'ın robots.txt spesifikasyonu yorumuna dayanarak anlatıyoruz.
İçindekiler
- Robots.txt Dosyası Nasıl Doğru Yapılandırılır?
- Robots.txt Ne Yapar, Ne Yapmaz?
- Sözdizimi: Desteklenen Alanlar
- Google Hangi Kuralı Uygular?
- Örnek Dosyalar: E-ticaret, WordPress, Next.js
- Robots.txt Nasıl Test Edilir?
- Sunucu Hatası Verirse Ne Olur?
- Sık Yapılan Hatalar
- Sıkça Sorulan Sorular
Robots.txt Dosyası Nasıl Doğru Yapılandırılır?
Kısa cevap: Robots.txt, sitenizin kök dizinine (alanadiniz.com/robots.txt) konan, UTF-8 kodlu düz bir metin dosyasıdır. Her grup bir User-agent satırıyla başlar ve altında o tarayıcının taramaması (Disallow) veya taraması (Allow) gereken yollar yazılır; dosyanın sonuna site haritası adresi (Sitemap) eklenir. Doğru yapılandırmanın kuralı basittir: yalnızca taranması gerçekten gereksiz olan yolları engelleyin, sayfanın görünmesi için gereken CSS ve JavaScript dosyalarını engellemeyin ve her değişikliği Search Console'da test edin.
En sade geçerli dosya:
User-agent: *
Allow: /
Sitemap: https://www.alanadiniz.com/sitemap.xml
Bu dosya tüm tarayıcılara sitenin tamamını açar ve site haritasını gösterir. Google'a göre robots.txt'de engellemediğiniz her şey zaten taranabilir; yani engellemek istediğiniz bir şey yoksa dosya bundan ibaret olabilir.
Robots.txt Ne Yapar, Ne Yapmaz?
| Robots.txt | Doğru araç | |
|---|---|---|
| Tarama trafiğini yönetmek | ✅ Asıl amacı bu: Google'a göre robots.txt tarayıcıların hangi URL'lere erişebileceğini söyler | — |
| Sayfayı Google sonuçlarından çıkarmak | ❌ Google'a göre robots.txt bir sayfayı aramadan uzak tutma yöntemi değil; engellenen sayfa başka sitelerden link alırsa yine dizine eklenebilir | noindex veya şifre koruması |
| Gizli bilgiyi korumak | ❌ Dosya herkese açıktır ve yalnızca kurallara uyan tarayıcılar uyar | Şifre / sunucu tarafı erişim kontrolü |
| Zaten dizindeki sayfayı çıkarmak | ❌ Engellenen sayfadaki noindex görülmez | Önce noindex, Google yeniden taradıktan sonra gerekirse engel |
| AI botlarını yönetmek | ✅ Kurallara uyan AI botları için | Bot bazında ayrıntılar: AI crawler erişim kontrolü |
Tablonun dördüncü satırı en sık yapılan hatanın kaynağı. Google'a göre noindex kuralının çalışması için sayfanın robots.txt ile engellenmemiş olması gerekir; engellenmiş sayfada tarayıcı noindex'i hiç görmez ve sayfa sonuçlarda kalabilir.
Sözdizimi: Desteklenen Alanlar
Google robots.txt'de yalnızca dört alanı destekliyor:
| Alan | Ne yapar | Örnek |
|---|---|---|
user-agent | Kuralların hangi tarayıcıya uygulanacağını belirtir | User-agent: Googlebot veya tümü için User-agent: * |
disallow | Taranmaması gereken yol | Disallow: /sepet/ |
allow | Taranabilecek yol (genellikle engellenen bir dizinin içinde istisna) | Allow: /sepet/yardim |
sitemap | Site haritasının tam adresi | Sitemap: https://www.alanadiniz.com/sitemap.xml |
Google'ın açıkça belirttiği diğer kurallar:
crawl-delaydesteklenmiyor. Google bu alanı yok sayıyor.- Joker karakterler: Yalnızca iki tane var.
*herhangi bir karakter dizisi (sıfır dahil),$adresin sonu anlamına gelir.Disallow: /*.pdf$yalnızca.pdfile biten adresleri engeller. - Büyük/küçük harf: Yol değerleri büyük/küçük harfe duyarlıdır;
/Sepet/ile/sepet/farklı yollardır. - Konum: Dosya yalnızca bulunduğu protokol, alt alan adı ve port için geçerli.
https://alanadiniz.com/robots.txt,https://blog.alanadiniz.com/veyahttp://alanadiniz.com/için geçerli değil. - Boyut: Google 500 KiB'tan sonrasını yok sayıyor.
- Önbellek: Google dosyayı genellikle 24 saate kadar önbellekte tutuyor; yaptığınız değişiklik hemen etkili olmayabilir.
Google Hangi Kuralı Uygular?
Robots.txt'de en çok kafa karıştıran nokta, birden fazla kuralın aynı adrese uyduğu durumlar. Google'ın iki öncelik kuralı var:
1. Tarayıcı için yalnızca bir grup geçerlidir. Google, tarayıcının adıyla eşleşen en spesifik User-agent grubunu seçer ve diğer grupları tamamen yok sayar. Grupların dosyadaki sırası önemli değildir.
2. Bir grup içinde en spesifik kural kazanır. Kuralın yol uzunluğuna bakılır; daha uzun (daha spesifik) yol kazanır. Eşitlik veya çelişki durumunda Google en az kısıtlayıcı kuralı, yani allow'u uygular.
| Adres | Kurallar | Uygulanan | Neden |
|---|---|---|---|
/sepet/yardim | Disallow: /sepet/ + Allow: /sepet/yardim | Allow | /sepet/yardim daha uzun yol |
/urun?renk=mavi | Disallow: /*?renk= | Disallow | Joker karakterle eşleşiyor |
/blog | Disallow: /blog/ | Hiçbiri (taranır) | /blog adresi /blog/ ile başlamıyor |
Kendi dosyamızdan bir örnek: Sitemizin robots.txt dosyası şöyle:
User-agent: *
Allow: /
User-agent: Googlebot-Image
Allow: /
Disallow: /logos/
Sitemap: https://www.getranklab.com/sitemap.xml
/logos/ dizininde müşteri logoları var ve Google Görseller'in bu logoları sitemizin görseli olarak seçmesini istemedik, bu yüzden yalnızca Googlebot-Image için engelledik. Burada birinci öncelik kuralı devreye giriyor: Googlebot-Image kendi grubunu bulduğu anda User-agent: * grubunu tamamen yok sayar. Bu yüzden Allow: / satırını Googlebot-Image grubuna tekrar yazdık. Yazmasaydık sonuç değişmezdi (engellenmeyen her şey zaten taranabilir), ama bir gün * grubuna genel bir engel eklersek bunun Googlebot-Image için geçerli olmayacağını unutmamak gerekiyor. AI botları için ayrı gruplar yazarken bu tuzağın nasıl ortaya çıktığını AI crawler erişim kontrolü rehberimizde örneklerle anlattık.
Örnek Dosyalar: E-ticaret, WordPress, Next.js
Aşağıdaki örnekler bir başlangıç noktası; kendi sitenizin adres yapısına göre uyarlayın ve kopyalamadan önce engellediğiniz desenle başlayan, dizinde kalması gereken bir sayfanız olmadığını kontrol edin.
E-ticaret sitesi:
User-agent: *
# Sepet, hesap ve ödeme adımları
Disallow: /sepet
Disallow: /hesabim
Disallow: /odeme
# Site içi arama sonuçları
Disallow: /arama
Disallow: /*?q=
# İndekslenmeyecek filtre ve sıralama parametreleri
Disallow: /*?sirala=
Disallow: /*&sirala=
Sitemap: https://www.alanadiniz.com/sitemap.xml
Google'ın faceted navigation dokümanı, indekslenmesine gerek olmayan filtre adreslerinin robots.txt ile taramadan çıkarılabileceğini söylüyor. Hangi filtrenin indekslenmesi, hangisinin engellenmesi gerektiğini faceted navigation SEO rehberimizde, site içi arama sayfalarının neden engellendiğini site içi arama verisi yazımızda anlattık.
WordPress sitesi:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Sitemap: https://www.alanadiniz.com/sitemap_index.xml
admin-ajax.php istisnası, bazı tema ve eklentilerin ön yüzde bu dosyayı kullanması nedeniyle yaygın bir pratik. /wp-content/ veya /wp-includes/ dizinlerini engellemeyin: Google sayfayı görüntülerken (render) CSS ve JavaScript dosyalarına ihtiyaç duyuyor. SEO eklentilerinin robots.txt ve site haritası ayarlarını WordPress SEO eklentileri rehberimizde ele aldık.
Next.js sitesi (app/robots.ts): Next.js robots.txt'yi koddan üretmenize izin veriyor; yukarıdaki kendi dosyamız böyle üretiliyor:
import { MetadataRoute } from 'next'
export default function robots(): MetadataRoute.Robots {
return {
rules: [
{ userAgent: '*', allow: '/' },
{ userAgent: 'Googlebot-Image', allow: '/', disallow: '/logos/' },
],
sitemap: 'https://www.alanadiniz.com/sitemap.xml',
}
}
Robots.txt Nasıl Test Edilir?
| Yöntem | Ne gösterir |
|---|---|
| Search Console → Ayarlar → robots.txt raporu | Google'ın sitenizde bulduğu robots.txt dosyaları, son okunma zamanı, uyarılar ve hatalar |
| URL Denetimi | Belirli bir adresin robots.txt tarafından engellenip engellenmediği |
| Tarayıcıda dosyayı açmak | alanadiniz.com/robots.txt 200 dönüyor mu, içerik beklediğiniz gibi mi |
| Her alt alan adı ve protokol için ayrı kontrol | Dosya yalnızca kendi protokolü ve alt alan adı için geçerli |
Değişiklik yaptıktan sonra Google'ın dosyayı genellikle 24 saate kadar önbellekte tuttuğunu hesaba katın. Robots.txt raporunun yerini ve Search Console'un diğer raporlarını Google Search Console kullanım rehberimizde anlattık.
Sunucu Hatası Verirse Ne Olur?
Robots.txt adresinin döndürdüğü durum kodu, Google'ın sitenizi nasıl tarayacağını doğrudan etkiliyor:
| robots.txt yanıtı | Google ne yapar? |
|---|---|
| 200 | Dosyadaki kuralları uygular |
| 4xx (429 hariç; ör. 404) | Geçerli bir robots.txt yokmuş gibi davranır, hiçbir kısıtlama olmadığını varsayar |
| 5xx (sunucu hatası) | İlk 12 saat sitenin taranmasını durdurur ve dosyayı almaya çalışır; alamazsa sonraki 30 gün son geçerli sürümü kullanır |
| 5xx, 30 günden uzun | Site genel olarak erişilebiliyorsa robots.txt yokmuş gibi davranır |
İki pratik sonuç: robots.txt dosyanızın olmaması (404) bir sorun değildir, Google her şeyi taranabilir sayar. Ama robots.txt adresi sunucu hatası veriyorsa, sitenizin taranması geçici olarak durabilir. Google ayrıca tarama hızını sınırlamak için robots.txt'de 401 veya 403 döndürmemenizi söylüyor; bu kodlar tarama hızını etkilemiyor.
Sık Yapılan Hatalar
1. Test ortamındaki Disallow: / satırının canlıya taşınması. Sitenin tamamı taramadan çıkar. Canlıya geçişten sonra robots.txt'yi ilk kontrol edilecekler listesine koyun.
2. Sayfayı aramadan çıkarmak için robots.txt kullanmak. Robots.txt taramayı engeller, dizine eklenmeyi değil. Aramadan çıkarmak için noindex kullanın ve sayfanın taranabilir kaldığından emin olun.
3. CSS ve JavaScript'i engellemek. Google sayfayı kullanıcının gördüğü gibi görüntüleyemez; mobil uyumluluk ve içerik değerlendirmesi bundan etkilenebilir.
4. Tek bir bot için grup yazıp genel kuralları tekrarlamamak. Kendi grubu olan bir tarayıcı User-agent: * grubunu yok sayar. O botun da uyması gereken kuralları kendi grubuna tekrar yazın.
5. crawl-delay ile Google'ın tarama hızını ayarlamaya çalışmak. Google bu alanı desteklemiyor.
6. Büyük/küçük harf ve sonda eğik çizgi hatası. Disallow: /Blog/ küçük harfli /blog/ adreslerini, Disallow: /blog/ ise /blog adresini engellemez.
Sıkça Sorulan Sorular
Robots.txt dosyası nasıl doğru yapılandırılır?
Dosyayı sitenin kök dizinine UTF-8 düz metin olarak koyun. Her grubu bir User-agent satırıyla başlatın, altına taranmaması gereken yolları Disallow, istisnaları Allow ile yazın ve sonuna site haritası adresini ekleyin. Yalnızca taranması gereksiz yolları engelleyin, CSS ve JavaScript dosyalarını açık bırakın. Değişiklikten sonra Search Console'daki robots.txt raporu ve URL Denetimi ile test edin.
Robots.txt ile bir sayfayı Google'dan kaldırabilir miyim?
Hayır. Google'a göre robots.txt bir sayfayı arama sonuçlarından uzak tutma yöntemi değil; engellenen sayfa başka sitelerden link alıyorsa yine dizine eklenebilir. Sayfayı aramadan çıkarmak için noindex kullanın. Önemli olan, noindex eklediğiniz sayfanın robots.txt ile engellenmemesi; aksi halde Google noindex kuralını hiç göremez.
Robots.txt olmazsa ne olur?
Robots.txt adresiniz 404 gibi bir 4xx yanıtı döndürüyorsa Google geçerli bir robots.txt yokmuş gibi davranır ve sitede hiçbir tarama kısıtlaması olmadığını varsayar; bu bir hata değildir. Sorun, adresin sunucu hatası (5xx) döndürmesidir: Google bu durumda ilk 12 saat siteyi taramayı durdurur ve sonraki 30 gün son geçerli sürümü kullanır.
Robots.txt'de joker karakter kullanılabilir mi?
Evet, Google iki joker karakteri destekliyor: yıldız () sıfır veya daha fazla herhangi bir karakter, dolar işareti ($) adresin sonu anlamına geliyor. Örneğin Disallow: /?sirala= sıralama parametresi içeren adresleri, Disallow: /*.pdf$ yalnızca .pdf ile biten adresleri engeller. Bunların dışında düzenli ifade desteği yok.
Robots.txt, teknik SEO'nun en kısa ama hata payı en düşük dosyasıdır: yanlış bir satır tüm sitenin taranmasını durdurabilir. Sitenizin robots.txt, noindex ve canonical yapısını birlikte denetlemek isterseniz teknik SEO hizmetimizi inceleyebilir, kapsam için paket ve fiyat bilgilerimize göz atabilir, teknik denetim projelerimizi vaka çalışmalarımızda görebilir ya da teknik ön değerlendirme ile başlayabilirsiniz.
![Robots.txt Nasıl Yazılır? Örneklerle Rehber [2026]](/_next/image?url=%2Fimages%2Fblog%2Frobots-txt-nasil-yazilir%2Fhero.jpg&w=1920&q=75)