1/3
Robots.txt Nedir? Doğru Kullanımı Nasıl Olmalı?
Kısaca robots.txt nedir?
Robots.txt, sitenin kök dizininde (ör:
siteadi.com/robots.txt) bulunan, arama motoru botlarına hangi dizin ve sayfaları tarayabileceklerini, hangilerini tarayamayacaklarını söyleyen basit bir metin dosyasıdır.Temel amaçları:
- Gereksiz sayfaların (admin, sepet, filtre url’leri vb.) taranmasını engellemek
- Sunucu yükünü azaltmak
- Bazı alanları botlardan gizlemek (tam gizlilik için yeterli değildir, sadece “rica” niteliğindedir)
- Site haritasını (sitemap) botlara bildirmek
Robots.txt ile neler yapılabilir / neler yapılamaz?
Yapabileceklerin:
- Belirli dizin veya URL’leri taramayı engellemek:
Disallow - Belirli dizin veya URL’lere taramayı izin vermek:
Allow - Sadece belirli botlara (ör: Googlebot, Bingbot) özel kurallar yazmak:
User-agent - Site haritası yolunu bildirmek:
Sitemap
Yapamayacakların (yanlış bilinenler):
- Robots.txt ile indekslemeyi garanti şekilde engelleyemezsin; sadece taramayı kısıtlayabilirsin.
- Robots.txt, sayfanın tamamen gizli kalmasını sağlamaz. URL bir yerde linkliyse yine görünebilir.
- Güvenlik için (şifreli alanlar, gizli klasörler) robots.txt kullanmak yanlıştır.
Temel robots.txt söz dizimi (syntax)
En çok kullanılan komutlar:
- User-agent: Kuralın hangi bota ait olduğunu belirtir.
- Disallow: Bu yolu tarama.
- Allow: Bu yolu tara (özellikle genel bir Disallow’u esnetmek için).
- Sitemap: Site haritası adresini belirtir.
Basit bir örnek:
Kod:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.orneksite.com/sitemap.xml
Anlamı:
- Tüm botlar (
*) için geçerli. /wp-admin/dizinini tarama.- Ama
admin-ajax.phpdosyasına izin ver. - Site haritam bu adreste.
Doğru robots.txt kullanımı nasıl olmalı?
1. Dosya mutlaka kök dizinde olmalı
Doğru:
https://www.siteadi.com/robots.txt Yanlış:
https://www.siteadi.com/dosya/robots.txt (botlar bunu dikkate almaz)2. Gereksiz yere agresif Disallow kullanma
Yanlış örnek (çok riskli):
Kod:
User-agent: *
Disallow: /
Bu, sitenin tamamını taramayı kapatır. Canlı sitede kesinlikle kullanılmamalı.
3. Tarama kısıtlaması ile indeks kontrolünü karıştırma
Bir sayfanın arama sonuçlarında görünmesini engellemek için asıl tercih edilmesi gereken yöntem:
- Sayfanın kendisine
noindexmeta etiketi eklemek
Örnek meta:
HTML:
<meta name="robots" content="noindex, nofollow">
Eğer bir URL’yi robots.txt ile Disallow edersen:
- Google o sayfayı taramayabilir
- Ama başka sitelerden link alıyorsa veya daha önce keşfetmişse, URL yine sonuçlarda görünebilir (içerik olmadan)
4. Örnek: Standart bir WordPress robots.txt
Kod:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
# Gereksiz parametreli veya özel sayfa yolları burada engellenebilir
# Disallow: /?s=
# Disallow: /?add-to-cart=
# Disallow: /sepet/
# Disallow: /hesabim/
Sitemap: https://www.siteadi.com/sitemap_index.xml
5. Örnek: Basit bir kurumsal site robots.txt
Kod:
User-agent: *
Disallow: /admin/
Disallow: /temp/
Disallow: /test/
Allow: /
Sitemap: https://www.orneksite.com/sitemap.xml
6. Belirli botlar için özel kural yazma
Kod:
User-agent: Googlebot
Disallow: /ozel-google-engel/
User-agent: *
Disallow: /genel-engel/
Burada:
- Googlebot için özel ek bir kural var.
- Tüm diğer botlar için genel kural geçerli.
Robots.txt yazarken dikkat edilmesi gereken kritik noktalar
- Canlı sitede değişiklik yapmadan önce mutlaka yedek robots.txt içeriğini sakla.
- Geliştirme ortamında (test/stage) sitenin indekslenmesini istemiyorsan:
Kod:
User-agent: *
Disallow: /
(bu sadece test ortamında kalmalı, canlıya taşınmamalı)
- Google Search Console içindeki URL Denetleme ve eski “robots.txt tester” araçları ile kurallarını kontrol et.
Sitemapsatırını mutlaka ekle; büyük sitelerde tarama verimliliğini artırır.- Dosya kodlaması UTF-8 (BOM’suz) düz metin olmalı.
- Satır sonlarında fazladan karakter, Türkçe özel karakter kaynaklı bozulma olmamasına dikkat et.
En sade, çoğu site için yeterli bir örnek
Kod:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.siteadi.com/sitemap_index.xml
Sonuç
Robots.txt, SEO ve tarama yönetimi için temel ama hassas bir dosya. Amacın:
- Önemli sayfaların taranmasına izin vermek
- Gereksiz / tekrar eden veya teknik sayfaların taranmasını azaltmak
- Ama yanlış bir Disallow ile sitenin önemli bölümlerini kazara kapatmamak