Robots.txt: Googlebot taramasını kontrol edin, dizinleri engelleyin, tarama hızı yönergelerini ve SEO en iyi uygulamalarını öğrenin.

Özet
Robots.txt, sitenizin kök dizininde bulunan ve arama motorlarına sitenizin hangi bölümlerini tarayıp hangilerini atlayacağını söyleyen bir metin dosyasıdır. Tarama bütçesini yönetmeye ve özel sayfaların dizine eklenmesini önlemeye yardımcı olur.
Daha fazlasını mı istiyorsunuz? Sorun:
Robots.txt, arama motorlarının web sitenizi nasıl taradığını kontrol eden basit ama güçlü bir dosyadır. `https://example.com/robots.txt` adresinde bulunur ve Google, Bing ve diğer botların hangi sayfaları ve dizinleri tarayabileceğini belirten kurallar içerir. Robots.txt, tarama bütçesini (Google'ın günlük taradığı sayfa sayısı) yönetmenize yardımcı olur, önemsiz sayfalarda tarama harcanmasını önler ve özel içeriği arama sonuçlarının dışında tutar.
Çoğu web sitesinin bir robots.txt dosyası vardır, ancak birçoğu hatalı yapılandırılmıştır. Hatalı yapılandırılmış bir robots.txt yanlışlıkla önemli sayfaları engelleyerek sıralama potansiyelini boşa harcayabilir. İyi yapılandırılmış bir robots.txt ise tarama verimliliğini artırır ve sitenizin gizliliğini korur. Bu rehber robots.txt sözdizimini, en iyi uygulamaları ve gerçek dünya örneklerini ele alır.
Robots.txt, arama motoru botlarına tarama talimatlarını ileten standartlaştırılmış bir metin dosyasıdır. Bir bot sitenizi ilk ziyaret ettiğinde, başka bir şey taramadan önce `/robots.txt` dosyasını ister. Bot kuralları okur ve bunlara uyar (botun kurallara uyan türden olduğu varsayılırsa).
Google'ın robots.txt belgeleri, standardın yetkili kaynağıdır. Robots.txt biçimi 1994'te oluşturuldu ve yaygın biçimde benimsendi. Tüm büyük arama motorları (Google, Bing, Baidu) robots.txt'e uyar.
Önemli: Robots.txt bir yönergedir, güvenlik duvarı değildir. Kurallara uyan botlar (Google, Bing) robots.txt kurallarına saygı gösterir. Kötü niyetli botlar ve veri kazıyıcılar robots.txt'i yok sayar. Robots.txt'i arama motoru taramasını yönetmek için kullanın, bilgisayar korsanlarını veya veri kazıyıcıları engellemek için değil. Güvenlik için sunucu düzeyinde araçlar kullanın.
Robots.txt basit bir metin sözdizimi kullanır. Her kuralın iki bölümü vardır: bir User-agent (kuralın hangi bota uygulandığı) ve Disallow yolları (hangi sayfaların engelleneceği).
Temel örnek:
User-agent: *
Disallow: /admin/
Disallow: /staging/
Sitemap: https://example.com/sitemap.xml
Bu, tüm botlara (`*` hepsi demektir) `/admin/` ve `/staging/` dizinlerini taramamalarını söyler. Sitemap satırı botlara site haritanızın nerede olduğunu bildirir.
User-agent: \* tüm botlar anlamına gelir. Tek tek botları da belirtebilirsiniz:
`User-agent: Googlebot` yalnızca Google'ın botuna uygulanır. `User-agent: Bingbot` yalnızca Bing'in botuna uygulanır. Farklı kurallara sahip birden fazla User-agent bölümünüz olabilir.
Disallow: /path/ botlara o yolu taramamalarını söyler. Disallow: / tüm siteyi engeller. Disallow: (boş) her şeye izin verir. User-agent başına birden fazla Disallow kuralı listeleyebilirsiniz.
Allow: /path/ üst dizin engellenmiş olsa bile belirli bir yolun taranmasına izin verir. Örnek: Disallow: /temp/ ama Allow: /temp/important/ yalnızca /important/ alt dizininin taranmasına izin verir.
Kalıp 1: Yönetim sayfalarını engelleme
User-agent: *
Disallow: /admin/
Disallow: /user/
Disallow: /account/
Bu, yönetim, kullanıcı ve hesap sayfalarının taranmasını engeller. Bu sayfalar genellikle arama motorları için değildir.
Kalıp 2: Hazırlık ortamını engelleme
User-agent: *
Disallow: /staging/
Disallow: /test/
Botların sitenizin test veya hazırlık sürümlerini taramasını önler.
Kalıp 3: Belirli dosya türlerini engelleme
User-agent: *
Disallow: /*.pdf
Disallow: /*.zip
Botların PDF ve ZIP dosyalarını taramasını önler. Dizine eklenmemesi gereken çok sayıda PDF'iniz varsa bu faydalıdır.
Kalıp 4: Sunucunuzu zorlayan botları yavaşlatma
User-agent: AhrefsBot
Disallow: /
User-agent: SemrushBot
Crawl-delay: 10
Ahrefs botunu tamamen engeller (sitenizin SEO araçlarınca taranmasını istemiyorsanız). Semrush botunu, istekler arasına 10 saniyelik gecikme ekleyerek yavaşlatır. Crawl-delay, sunucunuzu aşırı yükleyen agresif botlar için faydalıdır.
Kalıp 5: Her şeye izin verme (varsayılan)
User-agent: *
Disallow:
Bu varsayılandır. Boş Disallow her şeye izin ver demektir. Tüm içeriğin taranabilir olmasını istiyorsanız robots.txt dosyasını tamamen de atlayabilirsiniz.
Robots.txt taramayı engeller. Meta robots noindex dizine eklemeyi engeller. Bunların amaçları farklıdır.
Robots.txt'i şu durumlarda kullanın: Tarama bütçesinden tasarruf etmek istediğinizde. Taranmaması gereken yinelenen içeriğiniz olduğunda. Botların dokunmaması gereken yönetim sayfalarınız olduğunda. Agresif botları yavaşlatmak istediğinizde.
Meta robots noindex'i şu durumlarda kullanın: Bir sayfanın taranmasını ama dizine eklenmemesini istediğinizde (hataları ve sorunları görmek için). Dizine eklemeyi önlemek ama yine de site içi bağlantılara ve taramaya izin vermek istediğinizde. Bir sayfayı sonunda aramadan kaldırmak ama yayında tutmak istediğinizde.
Örnek: `/products?page=2` gibi sayfalandırılmış sayfalar, tarama bütçesinden tasarruf etmek için robots.txt'te engellenebilir (Google genellikle sayfalandırmayı birleştirdiği için). Ancak canonical ilişkilerini belirlemek için taranmalarını isteyebilirsiniz. Bu durumda robots.txt yerine canonical kullanın.
Tarama bütçesi, Google'ın sitenizde günlük taradığı URL sayısıdır. Milyonlarca sayfası olan büyük sitelerin tüm sayfaları her gün taranamaz. Google tarama bütçesini sitenizin otoritesine ve değişim sıklığına göre tahsis eder. Tarama bütçesi sınırlıdır. Onu önemsiz sayfalarda harcamak, önemli sayfaların daha seyrek taranması anlamına gelir.
Taranmaması gereken sayfaları engelleyerek tarama bütçesini optimize edin: yinelenen içerik, sayfalandırılmış arama sonuçları, kullanıcı hesabı sayfaları, test sayfaları. Engellediğiniz her sayfa, Google'a önemli içeriğinizi taraması için daha fazla bütçe bırakır.
Tarama bütçesini boşa harcayan yaygın nedenler: sonsuz sayfalandırma (ürün filtreleri sınırsız URL oluşturur), farklı parametrelerle yinelenen içerik, her URL'ye eklenen oturum kimlikleri, sonu gelmeyen URL'ler üreten takvim/etkinlik sayfaları. Bu kalıpları engellemek için robots.txt kullanın.
Google Search Console sitenizin tarama istatistiklerini gösterir. Tarama isteklerini günlük izleyin. Google yeni içerik keşfetmeden aynı sayfaları tekrar tekrar tarıyorsa robots.txt dosyanızı ve engelleme stratejinizi gözden geçirin.
Site haritası URL'nizi robots.txt'e ekleyin. Robots.txt dosyanızın sonuna `Sitemap: https://example.com/sitemap.xml` ekleyin. Bu, Google'a XML site haritanızı nerede bulacağını söyler. Birden fazla dosyanız varsa birden fazla site haritası listeleyebilirsiniz.
Örnek:
User-agent: *
Disallow: /admin/
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/sitemap-news.xml
Site haritalarını robots.txt içinde listelemek isteğe bağlıdır (site haritalarını Google Search Console üzerinden de gönderebilirsiniz), ancak en iyi uygulamadır.
Google Search Console'un bir robots.txt test aracı vardır. Ayarlar > Tarama > robots.txt'i test et yolunu izleyin. Bir URL girin ve robots.txt'in onu engelleyip engellemediğini görün. Bu, kuralları yayına almadan önce doğrulamak için çok değerlidir.
Robots.txt değişikliklerini yayına almadan önce her zaman test edin. Tek bir hata (tüm sitenizi engelleyen `Disallow: /` gibi) sıralamalarınızı çökertebilir. Şunları doğrulamak için test aracını kullanın:
Önemli sayfalar engellenmemiş. Yönetim sayfaları engellenmiş. Yinelenen içerik kalıpları engellenmiş. Kritik yollardan hiçbiri yanlışlıkla yasaklanmamış.
Robots.txt'i yayına aldıktan sonra Google Search Console'un Tarama raporunu değişiklikler için izleyin. Tarama hızı beklenmedik biçimde düşerse önemli içeriği yanlışlıkla engellemiş olabilirsiniz.
Hata 1: CSS ve JavaScript'i engellemek. robots.txt'te `/css/` veya `/js/` yollarını engellerseniz Google CSS ve JavaScript dosyalarınızı tarayamaz. CSS olmadan Google sayfalarınızı doğru işleyemez. CSS veya JavaScript'i engellemeyin.
Hata 2: Önemli içeriği engellemek. Yayına almadan önce her zaman test edin. `Disallow: /staging/` yerine `Disallow: /p` gibi bir yazım hatası, istemeden `/products/` yolunu engelleyebilir.
Hata 3: Güvenlik için robots.txt kullanmak. Hassas verileri korumak için robots.txt'e güvenmeyin. Güvenlik açısından hassas sayfalar yalnızca robots.txt ile değil, kimlik doğrulamasıyla korunmalıdır. Robots.txt herkese açıktır ve kolayca atlatılır.
Hata 4: Alan adları arasında tutarsız robots.txt. Birden fazla alan adınız varsa tutarlı robots.txt politikaları sürdürün. Yanlışlıkla farklı kurallar tarama verimliliği sorunlarına yol açabilir.
Hata 5: Site haritasının kendisini engellemek. robots.txt'te `/sitemap.xml` dosyasını asla engellemeyin. Google'ın sayfaları keşfetmek için site haritasını taraması gerekir.
Crawl-delay ve Request-rate: Bu yönergeler botları yavaşlatır. `Crawl-delay: 10` istekler arasına 10 saniye ekler. `Request-rate: 1/10` her 10 saniyede 1 isteğe izin verir. Bunları sunucunuzu aşırı yükleyen botlar için kullanın. Google, bu yönergeler yerine Search Console ayarlarının kullanılmasını önerir.
Allow yönergesi: Üst yol yasaklanmış olsa bile belirli bir yolun taranmasına izin verir. İstisnalar oluşturmak için kullanışlıdır. Örnek: `Disallow: /temp/` ama `Allow: /temp/keep/` yalnızca keep alt dizinine izin verir.
Google'ın robots.txt belirtimi desteklenen tüm yönergeleri belgeler. Özelliklerin çoğuna nadiren ihtiyaç duyulur. Çoğu site için temel User-agent, Disallow ve Sitemap yönergeleriyle yetinin.
User-agent'a özgü kurallar, farklı botlar için farklı tarama kurallarına olanak tanır. Googlebot, Bingbot ve diğer user-agent'lar için kuralları ayrı ayrı belirtebilirsiniz. Google'ın tüm sitenizi taramasını ama Bing'in belirli bölümlere erişmesini kısıtlamak istiyorsanız bu faydalıdır. User-agent'ı her kural bloğunun başında belirtin:
`User-agent: Googlebot` kuralları yalnızca Google'ın tarayıcısına uygular. `User-agent: *` kuralları tüm botlara uygular. Kurallar, bir sonraki user-agent yönergesine kadar belirtilen user-agent'a uygulanır. Farklı botlar için birden fazla kural bloğu oluşturabilirsiniz.
Crawl-delay ve request-rate yönergeleri botlara ne sıklıkla tarama yapacaklarını söyler. `Crawl-delay: 5` bota istekler arasında 5 saniye beklemesini söyler. Bu sunucu yükünü azaltır. `Request-rate: 1/10` bota her 10 saniyede en fazla 1 istek yapmasını söyler. Google'ın robots.txt belgeleri desteklenen tüm yönergeleri ayrıntılı olarak açıklar.
Site haritası konumu yönergeleri botlara site haritanızı nerede bulacaklarını söyler. `Sitemap: https://example.com/sitemap.xml` botları XML site haritanıza yönlendirir. Birden fazla site haritası belirtebilirsiniz. Botların tüm sayfalarınızı verimli keşfetmesine yardımcı olduğu için bu önerilir.
Clean-param yönergesi, tarama öncesinde URL parametrelerini kaldırır. `Clean-param: utm_source&utm_medium https://example.com`, Google'a example.com üzerindeki UTM parametrelerini yok saymasını söyler. Bu, Google'ın izlenen bağlantıları yinelenen içerik olarak değerlendirmesini önler. Google çoğu izleme parametresini otomatik işlediği için artık daha az kullanılır.
Robots.txt dosyanızı Google Search Console'un robots.txt test aracında test edin. Araç, robots.txt dosyanız tarafından Googlebot için hangi URL'lerin engelleneceğini gösterir. Bu, önemli sayfaların yanlışlıkla engellenmesini önler.
Robots.txt, arama motoru taramasını yönetmek ve sitenizin gizliliğini korumak için basit ama kritik bir dosyadır. İyi yapılandırılmış bir robots.txt önemsiz sayfaları engeller, tarama bütçesinden tasarruf sağlar ve yinelenen içeriğin birden çok kez taranmasını önler. Hatalı yapılandırılmış robots.txt önemli içeriği yanlışlıkla engelleyebilir ve sıralamalarınızı çökertebilir.
Robots.txt değişikliklerini yayına almadan önce her zaman test edin. Kuralları doğrulamak için Google Search Console'un test aracını kullanın. Tarama istatistiklerinizi aylık izleyin. Önemsiz içeriği engelleyin ve tarama bütçesini etkili yönetin. Robots.txt yapılandırmanızı denetlemek ve sitenizin tamamında taranabilirlik ile dizine ekleme açısından olası sorunları belirlemek için GEO SEO denetim aracımızı kullanın.
Kaynaklar
Hayır. Bir sayfayı robots.txt'te engellemek Google'ın onu taramasını önler ama SEO'ya yardımcı olmaz. Bir sayfanın dizine eklenmesini istemiyorsanız bunun yerine noindex etiketi kullanın. Tarama bütçesinden tasarruf etmek için robots.txt kullanın.
Hayır. robots.txt'te CSS veya JavaScript'i asla engellemeyin. Google'ın sayfanızı tam olarak anlaması için bu kaynaklara erişmesi gerekir. Bunları engellemek, Google'ın içeriğinizi doğru işlemesini önler.
Genel olarak, Google çok fazla istek yapmıyorsa bir tarama hızı ayarlamanız gerekmez. Google bant genişliğinizi tüketiyorsa Crawl-delay yönergesini kullanın. Çoğu site Google'ın varsayılan tarama hızını kaldırabilir.
SORANK'I SİZDEN ÖNCE DENEDİLER
