Teknik Rehber
2025
robots.txt Nasıl Yazılır? 2025 Rehber (Doğru Kullanım + Örnekler)
robots.txt, arama motoru botlarının site bölümlerine erişimini yönetir.
Bu kapsamlı rehberde doğru söz dizimini, en iyi uygulamaları,
CMS’e özel örnekleri ve facet/parametre yönetimini
uygulamalı kodlarla anlatıyoruz. Hedef: crawl bütçesini verimli kullanmak,
önemli sayfaların taranmasını garanti etmek.
- Doğru Söz Dizimi: User-agent, Disallow, Allow, Sitemap.
- Crawl Bütçesi: Önemsiz parametre/kopya sayfaları yönetme.
- Hataları Önleme: CSS/JS engelleme ve “noindex” çakışmaları.
İçindekiler
- robots.txt nedir, ne değildir?
- Temel söz dizimi (Allow/Disallow/Sitemap)
- En iyi uygulamalar (Best Practices)
- CMS’e özel örnekler (WordPress, Shopify, Next.js, Laravel)
- Parametre & Facet yönetimi
- CSS/JS/Medya dosyaları
- E-ticaret özel: cart/checkout ve noindex ilişkisi
- Bot/ülke bazlı kurallar (Googlebot-Image, AdsBot vb.)
- Test & doğrulama adımları
- Yaygın hatalar & çözümler
- SSS
1) robots.txt nedir, ne değildir?
Temeller
Önemli: robots.txt tarama iznini yönetir; tek başına indekslemeyi engellemez.
İndekslemeyi yönetmek için sayfa içinde
<meta name="robots" content="noindex">
veya HTTP
X-Robots-Tag
kullanın.
Dosya, sitenizin kök dizininde example.com/robots.txt
yolunda bulunur ve botlara
hangi yolların taranmaması gerektiğini bildirir. Kurallar, User-agent bazında yazılır.
2) Temel söz dizimi (Allow / Disallow / Sitemap)
Söz Dizimi
# Tüm botlar için genel kural
User-agent: *
Allow: /wp-content/uploads/
Disallow: /search
Disallow: /*?replytocom=
Disallow: /*?sessionid=
# Stil/JS engelleme! ÖNLEMEK için açık Allow
Allow: /wp-content/themes/
Allow: /wp-content/plugins/
# Site haritaları
Sitemap: https://www.ornek.com/sitemap_index.xml
Allow: Özellikle tema/eklenti CSS/JS dosyalarını engellemeyin. Görünüm & CWV etkilenir.
Crawl-delay: Google bu yönergeyi dikkate almaz; sunucu yoğunluğunu GSC’den yönetmek daha sağlıklıdır.
3) En iyi uygulamalar (Best Practices)
Best Practice
- Kök dizinde tek bir robots.txt kullanın.
- Önemsiz parametre/arama sayfalarını Disallow ile sınırlandırın.
- Önemli kaynakları (CSS/JS/font) asla engellemeyin.
- İndeks dışına atılacak sayfalarda Disallow yerine noindex kullanın.
- Sitemap konumlarını mutlaka ekleyin ve güncel tutun.
- Özel botlar (AdsBot, Googlebot-Image) için ayrı bloklar yazın.
4) CMS’e özel örnekler
Uygulama
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Allow: /wp-content/uploads/
Allow: /wp-content/themes/
Allow: /wp-content/plugins/
Disallow: /?s=
Disallow: /*?add-to-cart=
Sitemap: https://www.ornek.com/sitemap_index.xml
User-agent: *
Disallow: /cart
Disallow: /checkout
Disallow: /search
Allow: /s/files/
Sitemap: https://www.ornek.com/sitemap.xml
User-agent: *
Disallow: /api/
Allow: /_next/static/
Allow: /_next/image
Sitemap: https://www.ornek.com/sitemap.xml
User-agent: *
Disallow: /admin
Disallow: /login
Disallow: /register
Allow: /storage/
Sitemap: https://www.ornek.com/sitemap.xml
5) Parametre & Facet yönetimi
Facet/Param
Filtre/parametreli URL’lerde kopya içerik ve crawl bütçesi israfı yaşanabilir.
Mümkünse kanonik ve/veya noindex ile destekleyin; yalnızca gereksiz olanları Disallow edin.
User-agent: *
Disallow: /*?utm_source=
Disallow: /*?ref=
Disallow: /*?sort=
Disallow: /*?filter=
# Sona dolar ($) tam eşleşme için:
Disallow: /*?sessionid=$
6) CSS/JS/Medya dosyaları
CWV & Render
Google sayfayı insan gibi işler; CSS/JS engellenirse sayfa yanlış değerlendirilir.
Bu, Core Web Vitals ve içerik anlaşılırlığını olumsuz etkiler.
User-agent: *
Allow: /assets/css/
Allow: /assets/js/
Allow: /uploads/
7) E-ticaret özel: cart/checkout ve noindex ilişkisi
E-Ticaret
İpucu: Sepet/checkout gibi sayfaları noindex ile dışarıda tutmak istiyorsanız
Disallow etmeyin; aksi halde bot noindex etiketini göremez.
<meta name="robots" content="noindex, follow">
X-Robots-Tag: noindex, follow
8) Bot/ülke bazlı kurallar
Gelişmiş
# Görsel botu (ör.: küçük çözünürlükleri dışarıda bırakmak)
User-agent: Googlebot-Image
Allow: /images/
Disallow: /images/temp/
# Reklam botları: AdsBot'ları engellemeyin (reklam kalitesi etkilenebilir)
User-agent: AdsBot-Google
Allow: /
9) Test & doğrulama adımları
Kontrol
- URL denetimi (GSC): Canlı testte “tarama izinli mi?” sinyalini kontrol edin.
- Güncelleme sonrası:
robots.txt
dosyasını anında yayına alın ve cache’i temizleyin. - Sunucu logları: Googlebot isteklerini izleyerek engellenen yolları tespit edin.
- Site içi linkler: Engellenen yolların dahili linklerle taşmamasını sağlayın.
10) Yaygın hatalar & çözümler
Hatalar
Tüm siteyi Disallow etmek: Canlıda “
User-agent: * / Disallow: /
” asla bırakmayın.
noindex ile Disallow çakışması: noindex konacak sayfaları Disallow etmeyin.
CSS/JS engelleme: Render ve kalite sinyallerini bozar.
Parametre patlaması: Önemli parametreleri kanonik/noindex ile; gereksizleri Disallow ile yönetin.
SSS — robots.txt
noindex
kullanın.