Her arama motoru botu bir siteyi taramadan önce önce /robots.txt dosyasına bakar. Bu dosya, “şu klasörlere girme, site haritam şurada” gibi talimatlar içeren düz bir metin dosyasıdır. Doğru kullanıldığında gereksiz sayfaların taranmasını önler ve tarama bütçesini önemli sayfalara yönlendirir. Yanlış kullanıldığında ise bir satırla tüm sitenizi arama sonuçlarından görünmez yapabilir.
Robots.txt nasıl çalışır?
- Dosya alan adının kökünde olmalıdır:
https://www.ornek.com/robots.txt. Her alt alan adı (ör.blog.ornek.com) ve her protokol (http/https) ayrı değerlendirilir. - Dosya adı küçük harfle
robots.txtolmalı, UTF-8 düz metin olarak sunulmalıdır. - Google, dosyanın ilk 500 KiB’ını işler; bu boyuttan sonrası yok sayılır.
- Kurallar tavsiye niteliğindedir. Google, Bing, Yandex gibi saygın botlar uyar; kötü niyetli botlar uymaz. Bu yüzden robots.txt bir güvenlik aracı değildir: gizli bir klasörün yolunu robots.txt’ye yazmak, aksine onu herkese duyurur.
Söz dizimi (syntax)
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://www.ornek.com/sitemap.xml
| Yönerge | Anlamı |
|---|---|
User-agent: |
Kuralın hangi bot için geçerli olduğu (* = tüm botlar, Googlebot, Bingbot…) |
Disallow: |
Taranmaması gereken yol. Boş bırakılırsa (Disallow:) hiçbir şey engellenmez |
Allow: |
Engellenen bir klasör içinde izin verilen alt yol |
Sitemap: |
Site haritasının tam adresi; birden fazla yazılabilir |
* |
Joker karakter: herhangi bir karakter dizisi |
$ |
Adresin sonu: /*.pdf$ yalnızca .pdf ile biten adresler |
Önemli ayrıntılar:
- Yollar büyük/küçük harfe duyarlıdır:
/Admin/ile/admin/farklıdır. - Bir bot için özel bir
User-agentgrubu varsa, o bot yalnızca kendi grubuna uyar;*grubundaki kuralları birleştirmez. - Çakışmada Google en spesifik (en uzun) kuralı uygular; eşitlikte
Allowkazanır. noindex,crawl-delaygibi satırları Google robots.txt içinde desteklemez.
Söz dizimini ezberlemek yerine robots.txt oluşturucumuzla dosyanızı hazırlayabilir, robots.txt test aracıyla belirli bir URL’nin engellenip engellenmediğini kontrol edebilirsiniz.
Hazır örnekler
WordPress sitesi
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Sitemap: https://www.ornek.com/sitemap_index.xml
admin-ajax.php dosyasına izin vermek önemlidir; birçok tema ve eklenti ön yüzde bu dosyayı kullanır. /wp-content/ veya /wp-includes/ klasörlerini engellemeyin: Google sayfayı doğru görüntülemek için CSS ve JavaScript dosyalarına erişmek ister.
E-ticaret sitesi
User-agent: *
Disallow: /sepet
Disallow: /odeme
Disallow: /hesabim
Disallow: /*?siralama=
Disallow: /*?filtre=
Disallow: /*&fiyat=
Sitemap: https://www.ornek.com/sitemap.xml
E-ticarette filtre ve sıralama parametreleri binlerce neredeyse aynı sayfa üretebilir. Bunları engellemek tarama bütçesini ürün ve kategori sayfalarına yönlendirir. Ancak bir filtre kombinasyonunu (ör. “kırmızı elbise”) bilinçli olarak sıralatmak istiyorsanız, o sayfayı engellemeyin.
Yapay zekâ botlarını engellemek
Bazı site sahipleri içeriklerinin yapay zekâ modellerini eğitmek için toplanmasını istemez. Bunun için ilgili botların adlarıyla ayrı grup yazılabilir:
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
Google-Extended, Google aramasındaki görünürlüğünüzü etkilemez; yalnızca içeriğin Google’ın yapay zekâ modellerinde kullanılmasıyla ilgilidir. Bot adları zamanla değişebileceğinden, ilgili şirketin güncel belgelerini kontrol edin.
Robots.txt ile noindex arasındaki fark
En kritik ve en çok karıştırılan konu budur:
robots.txt Disallow |
noindex meta etiketi |
|
|---|---|---|
| Neyi engeller? | Taramayı (sayfanın okunmasını) | Dizine eklenmeyi (arama sonucunda görünmeyi) |
| Sayfa arama sonucunda görünebilir mi? | Evet, dış bağlantı varsa açıklamasız görünebilir | Hayır |
| Nerede tanımlanır? | /robots.txt |
Sayfanın <head> bölümü veya X-Robots-Tag başlığı |
Bir sayfayı arama sonuçlarından kaldırmak istiyorsanız:
<meta name="robots" content="noindex">
ekleyin ve robots.txt’de engellemeyin. Sayfa engellenirse Google noindex etiketini hiç göremez ve sayfa dizinde kalmaya devam edebilir.
Sık yapılan hatalar
- Canlıya geçince
Disallow: /satırını unutmak. Geliştirme ortamındaki “her şeyi engelle” dosyası canlı siteye taşınır ve site birkaç hafta içinde aramadan düşer. Bu, en pahalı robots.txt hatasıdır. - CSS ve JS dosyalarını engellemek. Google sayfayı bozuk görür, mobil uyumluluk değerlendirmesi olumsuz etkilenir.
- Kaldırmak istediğiniz sayfayı robots.txt ile engellemek (yukarıdaki tabloya bakın).
- Gizli dizinleri robots.txt’ye yazmak. Dosya herkese açıktır.
- Büyük/küçük harf ve sondaki eğik çizgiyi gözden kaçırmak:
Disallow: /bloghem/blog/hem/blog-haberleriadreslerini engeller. - Site haritası satırını unutmak.
Sitemap:satırı, arama motorlarının site haritanızı bulmasının en kolay yoludur.
Tarama bütçesi ve robots.txt
Tarama bütçesi, arama motorunun belirli bir sürede sitenizde taramaya ayırdığı kaynaktır. Birkaç yüz sayfalık bir kurumsal site için genellikle sorun değildir; Google bu sayfaları rahatça tarar. Ama on binlerce ürünü, filtre kombinasyonlarını ve parametreli adresleri olan bir e-ticaret sitesinde botun zamanı değersiz sayfalarla harcanabilir ve yeni ürünler geç keşfedilir. Robots.txt bu durumda en etkili araçlardan biridir: sepet, iç arama sonuçları ve sonsuz filtre kombinasyonları gibi alanları kapatarak taramayı ürün ve kategori sayfalarına yönlendirirsiniz.
Değişikliklerden sonra test ve izleme
Robots.txt’de yaptığınız her değişiklikten sonra:
- Dosyayı tarayıcıda açarak yayında olduğunu doğrulayın.
- En önemli 5–10 URL’yi (ana sayfa, kategori, ürün, blog) test aracında kontrol edin.
- Search Console’daki robots.txt raporunda Google’ın dosyanın hangi sürümünü ne zaman okuduğunu görün. Google robots.txt dosyasını genellikle 24 saate kadar önbellekte tutar.
- Sonraki haftalarda “Sayfalar” raporunda “robots.txt tarafından engellendi” sayısını izleyin; beklenmedik bir artış, yanlışlıkla engellenen bir bölüme işaret eder.
Küçük bir kurumsal site için çoğu zaman şu kadar basit bir dosya yeterlidir:
User-agent: *
Disallow:
Sitemap: https://www.ornek.com/sitemap.xml
Robots.txt ve meta robots dışında bir üçüncü yöntem daha vardır: PDF gibi HTML olmayan dosyalarda noindex etiketi eklenemediği için sunucu, HTTP yanıtına X-Robots-Tag: noindex başlığı ekleyebilir. Bu başlığın doğru gönderildiğini HTTP başlık kontrol araçlarıyla görebilirsiniz.
Kontrol listesi
- Dosya
https://alanadi/robots.txtadresinde 200 koduyla açılıyor - Canlı sitede
Disallow: /yok - CSS, JS ve görsel klasörleri engellenmemiş
- Dizinden çıkarılacak sayfalar robots.txt yerine noindex ile yönetiliyor
-
Sitemap:satırı doğru ve tam adresi gösteriyor - Önemli URL’ler test aracında “izinli” görünüyor
Site haritasının kendisi için XML sitemap rehberimize bakın.