SEO için Robots.txt için Nihai Kılavuz
Yayınlanan: 2021-12-29Robots.txt, web sitenizin taranmasını kontrol etmek için oluşturabileceğiniz bir dosyadır.
Web tarayıcılarının çok fazla istekte bulunan web sitelerini bunaltmasını önlemek için oluşturulan Robots Dışlama Protokolünün pratik uygulamasıdır .
Tarayıcıların URI alanlarının tamamını ziyaret etmesi hizmet sahipleri için sakıncalı olabilir. Bu belge, tarayıcıların URI'lere erişirken uyması beklenen "Robot Hariç Tutma Protokolü" tarafından orijinal olarak tanımlanan kuralları belirtir.kaynak: Robotlar Dışlama Protokolü
Web sitenizin robots.txt kullanması gerekli olmasa da, bir robots.txt dosyasına sahip olmak , arama motoru botlarının sitenizi nasıl taradığını optimize ederek işletmenizi olumlu yönde etkileyebilir.
2021 Web Almanak'ına göre , web sitelerinin ~%16,5'inde hiç robots.txt dosyası yok. Ek olarak, herkes bunu doğru şekilde uygulamaz.
Web sitelerinde yanlış yapılandırılmış robots.txt dosyaları olabilir. Örneğin, bazı popüler web siteleri (muhtemelen yanlışlıkla) arama motorlarını engelliyordu. Google, bu web sitelerini bir süre dizinde tutabilir, ancak sonunda arama sonuçlarındaki görünürlükleri azalacaktır.kaynak: Web Almanac
Web sitenizin boyutuna bağlı olarak, robots.txt dosyasını yanlış kullanmak küçük bir hata veya çok maliyetli olabilir.
Bu makale size bir robots.txt dosyasının nasıl oluşturulacağını ve olası hatalardan nasıl kaçınılacağını gösterecektir.
robots.txt nedir?
Robots.txt, botların sayfalarınıza nasıl eriştiğini kontrol etmek için sunucunuza yerleştirebileceğiniz basit bir metin dosyasıdır. Hangi sayfaların taranıp taranmaması gerektiğini tanımlayan tarayıcılar için kurallar içerir.
Dosya, web sitenizin kök dizininde bulunmalıdır. Bu nedenle, örneğin, web sitenizin adı domain.com ise, robots.txt dosyası domain.com/robots.txt adresinde bulunmalıdır.
Ama dosya nasıl çalışıyor? Botlar bunu nasıl keşfeder?
Tarayıcılar, web'i tarayan programlardır. Çeşitli kullanımları vardır, ancak arama motorları dizine eklenecek web içeriğini bulmak için bunları kullanır. Bu süreç birkaç adıma ayrılabilir:
- Tarayıcıların, taramak istedikleri hem yeni hem de önceden bilinen web sitelerini içeren bir URL kuyruğu vardır.
- Bir web sitesini taramadan önce, tarayıcılar önce web sitesinin kök dizininde bir robots.txt dosyası arar.
- Robots.txt dosyası yoksa, tarayıcılar web sitesini özgürce taramaya devam eder. Ancak, geçerli bir robots.txt dosyası varsa, tarayıcılar yönergeleri bu dosyanın içinde arar ve buna göre web sitesini taramaya devam eder.
Bir arama motoru sayfayı tarayamazsa, o sayfa dizine eklenemez ve sonuç olarak arama sonucu sayfalarında görünmez.
Ancak, iki uyarı var:
1. Taraması engellenen bir sayfa dizine eklenebilir
Bir robots.txt dosyasında taramaya izin vermemek, arama motorlarının sayfayı dizine eklemeyeceğini garanti etmez. Diğer kaynaklarda içerik hakkında bilgi bulurlarsa ve bunun önemli olduğuna karar verirlerse yine de yapabilirler. Örneğin, diğer sitelerden sayfaya giden bağlantıları bulabilir, bağlantı metnini kullanabilir ve arama sonuçları sayfasında gösterebilirler.
2. robots.txt dosyasında robotları kurallara uymaya zorlayamazsınız
Robots.txt yalnızca bir kılavuzdur, zorunlu bir kural değildir. Botları buna uymaya zorlayamazsınız. Çoğu tarayıcı, özellikle arama motorları tarafından kullanılanlar, robots.txt tarafından engellenen sayfaları taramaz. Ancak, tarayıcıları kullanan sadece arama motorları değildir. Kötü niyetli botlar talimatları görmezden gelebilir ve yine de sayfalara erişebilir. Bu nedenle , web sitenizdeki hassas verilerin taranmasını önlemenin bir yolu olarak robots.txt dosyasını kullanmamalısınız. Botların içeriğinizin bir kısmını taramadığından emin olmanız gerekiyorsa, onu bir şifre ile korumak daha iyidir.
Neden bir robots.txt dosyasına ihtiyacınız var?
Robots.txt, web sitenizin zorunlu bir parçası değildir, ancak iyi optimize edilmiş bir sitenize birçok yönden fayda sağlayabilir.
En önemlisi, tarama bütçenizi optimize etmenize yardımcı olabilir . Arama motoru botlarının sınırlı kaynakları vardır ve belirli bir web sitesinde tarayabilecekleri URL sayısını kısıtlar. Dolayısıyla, tarama bütçenizi daha az önemli sayfalara harcarsanız, daha değerli olanlar için yeterli olmayabilir. Küçük bir web siteniz varsa, bu yüzeysel bir sorun gibi görünebilir, ancak büyük bir web sitesine sahip olan herkes, arama motoru botlarının kaynaklarını verimli bir şekilde kullanmanın ne kadar hayati olduğunu bilir.
robots.txt dosyasıyla, örneğin düşük kaliteli olanlar gibi belirli sayfaların taranmasını önleyebilirsiniz . Bu çok önemlidir, çünkü dizine eklenebilir, düşük kaliteli birçok sayfanız varsa, tüm siteyi etkileyebilir ve arama motorlarının yüksek kaliteli sayfaları bile taramasını engelleyebilir.
Ayrıca robots.txt , XML site haritanızın konumunu belirtmenize olanak tanır . Site haritası, arama motorlarının dizine eklemesini istediğiniz URL'leri listeleyen bir metin dosyasıdır. Bağlantısını robots.txt dosyasında tanımlamak, arama motoru botlarının onu bulmasını kolaylaştırır.
robots.txt dosyası nasıl değiştirilir
Robots.txt dosyanızı nasıl değiştireceğiniz büyük ölçüde kullandığınız sisteme bağlıdır.
Bir CMS veya e-Ticaret platformu kullanıyorsanız, dosyaya kolayca erişmenize ve dosyayı değiştirmenize yardımcı olabilecek özel araçlara veya eklentilere erişiminiz olabilir. Örneğin, Wix ve Shopify, robots.txt dosyasını doğrudan düzenlemenize olanak tanır. WordPress için Yoast SEO gibi eklentiler kullanabilirsiniz.
Bir CMS veya e-Ticaret platformu kullanmıyorsanız, önce dosyayı indirmeniz, düzenlemeniz ve ardından sitenize geri yüklemeniz gerekebilir.
Dosyayı çeşitli şekillerde indirebilirsiniz :
- Kök dizininize “/robots.txt” dosyasını ekleyerek dosyayı tarayıcınızda görüntüleyin ve ardından içeriği kopyalamanız yeterlidir.
- Barındırma hizmetiniz tarafından sağlanan araçları kullanın. Örneğin, dosyaları yönetmek veya FTP protokolü aracılığıyla erişim sağlamak için ayrılmış bir panel olabilir.
- Bu komutu yazarak dosyayı indirmek için cURL gibi konsol araçlarını kullanın:
curl https://example.com/robots.txt -o robots.txt
- Dosyanızın bir kopyasını indirmek için Google'ın veya Bing'in robots.txt test araçlarını kullanın .
robots.txt dosyasını indirdikten sonra, onu Not Defteri (Windows) veya TextEdit (Mac) gibi seçtiğiniz metin düzenleyicinizde düzenleyebilirsiniz . Dosyayı UTF-8 standardında kodladığınızdan emin olun ve “robots.txt” olarak adlandırılması gerektiğini unutmayın.
robots.txt dosyasını değiştirdikten sonra , dosyayı indirmeye benzer şekilde yükleyebilirsiniz. Barındırma hizmetiniz tarafından sağlanan özel araçları kullanabilir, CMS yerleşik araçlarını kullanabilir veya FTP protokolleriyle dosyaları doğrudan sunucuya gönderebilirsiniz.
Dosyanız herkese açık olduğunda, arama motorları dosyayı otomatik olarak bulabilir. Herhangi bir nedenle, arama motorlarının değişiklikleri hemen görmesini istiyorsanız, Google'ın ve Bing'in robots.txt test cihazlarında Gönder seçeneğini kullanabilirsiniz.
Otomatik tarama işlemi sırasında, Google'ın tarayıcıları robots.txt dosyanızda yaptığınız değişiklikleri fark eder ve önbelleğe alınmış sürümü 24 saatte bir günceller. Önbelleği daha hızlı güncellemeniz gerekiyorsa robots.txt Tester'ın Gönder işlevini kullanın .kaynak: Google
Robots.txt sözdizimi
Robots.txt, metin bloklarından oluşur. Her blok, bir Kullanıcı aracısı dizesiyle başlar ve belirli bir bot için yönergeleri (kuralları) gruplandırır.
İşte robots.txt dosyasına bir örnek:
Kullanıcı aracısı: * İzin verme: /admin/ İzin verme: /users/ #Googlebot için özel talimatlar Kullanıcı aracısı: Googlebot İzin ver: /wp-admin/ İzin verme: /users/ #Bingbot için özel talimatlar Kullanıcı aracısı: Bingbot İzin verme: /admin/ İzin verme: /users/ İzin verme:/Bingbot için değil/ Tarama gecikmesi: 10 Site Haritası: https://www.example.com/sitemap.xml
kullanıcı aracısı
Web sitenize erişmek isteyebilecek yüzlerce tarayıcı var. Bu nedenle, niyetlerine göre onlar için farklı sınırlar belirlemek isteyebilirsiniz. İşte User-agent'ın kullanışlı olabileceği durumlar.
Kullanıcı aracısı, belirli bir botu tanımlayan bir metin dizisidir. Örneğin, Google Googlebot'u kullanır, Bing Bingbot'u kullanır, DuckDuckGo DuckDuckBot'u kullanır ve Yahoo Slurp'u kullanır. Arama motorlarında ayrıca birden fazla Kullanıcı aracısı olabilir. Burada, Google ve Bing tarafından kullanılan Kullanıcı aracılarının tam listesini bulabilirsiniz .
User-agent, her direktif grubunda gerekli bir satırdır. Bunu, botları adlarıyla çağırmak ve her birine belirli bir talimat vermek olarak düşünebilirsiniz. Bir User-agent'ı takip eden tüm direktifler, yeni User-agent belirtilene kadar tanımlanan bot'a yönelik olacaktır.
Ayrıca bir joker karakter kullanabilir ve tüm botlara aynı anda talimat verebilirsiniz. Joker karakterleri daha sonra ele alacağım.
direktifler
Yönergeler, arama motoru botları için tanımladığınız kurallardır. Her metin bloğu bir veya daha fazla yönergeye sahip olabilir. Her direktifin ayrı bir satırda başlaması gerekir.
Direktifler şunları içerir:
- izin verme,
- İzin vermek,
- site haritası,
- Tarama gecikmesi.
Not: Ayrıca, bir sayfanın dizine alınmaması gerektiğini belirtmesi gereken resmi olmayan bir noindex yönergesi de vardır. Ancak, Google ve Bing dahil olmak üzere çoğu arama motoru bunu desteklemez. Bazı sayfaların dizine eklenmesini istemiyorsanız, noindex Meta Robots Etiketi veya X-Robots-Tag başlığını kullanın (bunları makalenin ilerleyen bölümlerinde açıklayacağım).
izin verme
Kullanıcı aracısı: Googlebot İzin verme: /users/
Bu yönerge, hangi sayfaların taranmaması gerektiğini belirtir. Varsayılan olarak, arama motoru botları, izin vermeme yönergesi tarafından engellenmeyen her sayfayı tarayabilir.
Belirli bir sayfaya erişimi engellemek için , yolunu kök dizine göre tanımlamanız gerekir.
Diyelim ki web sitenizde şu iki site var:
- website.com/products/shoes/item1.html
- website.com/products/shirts/item2.html
Şimdi bu yolları engellemeye ilişkin bazı örneklere bakalım:
Yol | Engellendi |
İzin verme: /item1.html | Yalnızca /products/shoes/item1.html dosyasına izin verilmez |
İzin verme: /ürünler/ | /products/shoes/item1.html ve /products/shirts/item2.html'nin her ikisine de izin verilmez |
Aşağıdaki şekilde “/” sembolünü ekleyerek tüm sitenin taranmasına izin vermeyebilirsiniz:
Kullanıcı aracısı: Googlebot izin verme: /
İzin vermek
Kullanıcı aracısı: Googlebot İzin verme: /users/ İzin ver: /users/very-important-user.html
İzin verilmeyen bir dizindeki bir sayfanın taranmasına izin vermek için allow yönergesini kullanabilirsiniz .
Yukarıdaki örnekte, /user/ dizini içindeki tüm sayfalara /very-important-user.html adı verilen sayfa dışında izin verilmemektedir.
site haritası
Site Haritası: https://website.com/sitemap.xml
Site haritası yönergesi, site haritanızın konumunu belirtir. Dosyanızın başına veya sonuna ekleyebilir ve birden fazla site haritası tanımlayabilirsiniz.
Diğer yönergelerde tanımlanan yollardan farklı olarak , HTTP/HTTPS protokolü veya www/www olmayan sürüm dahil olmak üzere her zaman site haritanızın tam URL'sini ekleyin .
Site haritası yönergesi gerekli değildir, ancak şiddetle tavsiye edilir. Site haritanızı Google Arama Konsolu veya Bing Web Yöneticisi Araçları'nda göndermiş olsanız bile, tüm arama motoru botlarının daha hızlı bulmasına yardımcı olmak için onu robots.txt dosyanıza eklemek her zaman iyi bir fikirdir.
Tarama gecikmesi
Tarama gecikmesi: 10
Arama motoru botları, sayfalarınızın çoğunu kısa sürede tarayabilir. Her tarama, sunucunuzun kaynağının bir bölümünü kullanır.
Çok sayfalı büyük bir web siteniz varsa veya her sayfayı açmak çok fazla sunucu kaynağı gerektiriyorsa, sunucunuz tüm istekleri karşılayamayabilir. Sonuç olarak, aşırı yüklenecek ve hem kullanıcılar hem de arama motorları sitenize erişimi geçici olarak kaybedebilir. İşte tam bu noktada Crawl-delay yönergesi kullanışlı olabilir ve tarama sürecini yavaşlatabilir.
Crawl-delay yönergesinin değeri saniye cinsinden tanımlanır. 1-30 saniye arasında ayarlayabilirsiniz.
Her arama motorunun bu yönergeyi takip etmediğini belirtmek önemlidir. Örneğin, Google, Tarama gecikmesini hiç desteklemez.
Ek olarak, bunun yorumlanması bir arama motoruna bağlı olarak değişebilir. Örneğin, Bing ve Yahoo için Tarama gecikmesi, botun sayfaya yalnızca bir kez erişebildiği bir pencere boşluğunun uzunluğunu temsil eder.
Yandex için, Tarama gecikmesi, botun başka bir sayfa istemeden önce beklemesi gereken süreyi belirtir.
robots.txt'deki yorumlar
#Blog bölümüne erişimi engeller Kullanıcı aracısı: Googlebot İzin verme: /blog/ Kullanıcı aracısı: Bingbot İzin verme: /users/ #users bölümüne erişimi engeller
Bir satırın başına veya bir yönergeden sonra hash # karakterini ekleyerek robots.txt dosyanıza yorum ekleyebilirsiniz. Arama motorları aynı satırda # işaretinden sonra gelen her şeyi yok sayar.
Yorumlar, belirli bir bölümün ne anlama geldiğini açıklamak için insanlar içindir. Bunları eklemek her zaman iyi bir fikirdir çünkü dosyayı bir sonraki açışınızda neler olduğunu daha hızlı anlamanızı sağlarlar.
robots.txt dosyasına paskalya yumurtaları eklemek için yorumları kullanabilirsiniz. Bununla ilgili daha fazla bilgi edinmek isterseniz, robot yönergelerinizi insanlar için eğlenceli hale getirme hakkındaki makalemize göz atabilir veya bir örneğini robots.txt dosyamızda görebilirsiniz.
joker karakterler
Joker karakterler, metindeki diğer semboller için yer tutucu olarak çalışabilen ve bu nedenle robots.txt dosyasını oluşturma sürecini basitleştiren özel karakterlerdir. İçerirler:
- yıldız * ve
- Dolar işareti $.
Yıldız işareti herhangi bir dizenin yerini alabilir.
Kullanıcı aracısı: *
Yukarıdaki örnekte, User-agent satırındaki yıldız işareti, tüm arama motorları botlarını belirtir. Bu nedenle, onu izleyen her yönerge, tüm tarayıcılara yönelik olacaktır.
İzin verme: /*?
Bir yol tanımlamak için de kullanabilirsiniz. Yukarıdaki örnekler, “?” ile biten her URL'nin olduğu anlamına gelir. izin verilmez.
Dolar işareti, bir URL'nin sonuyla eşleşen belirli bir öğeyi belirtir.
İzin verme: /*.jpeg$
Yukarıdaki örnek, ".jpeg" ile biten her URL'ye izin verilmemesi gerektiğini gösterir.
Site haritası dışında her yönergede joker karakter kullanabilirsiniz.
robots.txt dosyasını test etme
Google Arama Konsolu ve Bing Web Yöneticisi Araçları'nda bir robots.txt Test Cihazı ile test edebilirsiniz. Doğrulamak istediğiniz URL'yi yazmanız yeterlidir; araç, izin verilip verilmediğini size gösterecektir.
Ayrıca dosyayı doğrudan robots.txt test cihazlarında düzenleyebilir ve değişiklikleri yeniden test edebilirsiniz. Değişikliklerin web sitenize kaydedilmediğini unutmayın. Dosyayı kopyalayıp kendi sitenize yüklemeniz gerekiyor.
Teknoloji konusunda daha bilgiliyseniz, robots.txt dosyasını bilgisayarınızda yerel olarak test etmek için Google'ın açık kaynaklı robots.txt kitaplığını da kullanabilirsiniz.
Robots.txt ve Meta Robots Etiketi ve X-Robots-Tag karşılaştırması
Robots.txt, tarayıcılarla iletişim kurmanın tek yolu değildir. Meta Robots Tag ve X-Robots-Tag'i de kullanabilirsiniz.
En önemli fark, robots.txt dosyasının bir web sitesinin taranmasını kontrol etmesi, Meta Robots Tag ve X-Robots-Tag ise onun indekslenmesini kontrol etmenize izin vermesidir.
Diğer şeylerin yanı sıra, bu yöntemler uygulama şekillerinde de farklılık gösterir.
uygulama | |
robots.txt | Web sitenizin kök dizinine eklenen basit metin dosyası. |
Meta robot etiketi | Kodun <head> bölümüne eklenen HTML etiketi. |
X-Robots-Tag | Sunucu tarafında eklenen bir HTTP yanıt başlığının parçası. |
Bir arama motoru botu bir sayfa bulduğunda önce robots.txt dosyasının içine bakar. Taramaya izin verilmiyorsa, web sitesine erişebilir ve ancak o zaman potansiyel Meta Robot Etiketleri veya X-Robots-Tag başlıklarını bulabilir. İki nedenden dolayı hatırlamak önemlidir:
- Yöntemleri birleştirmek - Meta Robots Etiketi ve X-Robots-Tag'i görmek için arama motoru botlarının sayfayı taramasına izin verilmesi gerekir. Botlar sayfaya erişemezlerse düzgün çalışmazlar.
- Tarama bütçesini optimize etme – bu üç yöntem arasında yalnızca robots.txt, tarama bütçesinden tasarruf etmenize yardımcı olabilir.
En iyi uygulamalar
Robots.txt dosyası oluştururken bazı en iyi uygulamalar ve ipuçları:
- JavaScript veya CSS dosyalarınızı robots.txt kullanarak engellemeyin. Botlar, bu kaynaklara erişemezlerse içeriğinizi doğru şekilde oluşturamayabilirler.
- Tüm arama motoru botlarının kolayca bulmasına yardımcı olmak için bağlantıyı site haritanıza eklediğinizden emin olun.
- robots.txt sözdiziminin yorumlanması, arama motoruna bağlı olarak farklılık gösterebilir. Emin değilseniz, bir arama motoru botunun belirli bir yönergeyi nasıl ele aldığını her zaman iki kez kontrol edin.
- Joker karakterleri kullanırken dikkatli olun. Bunları kötüye kullanırsanız, yanlışlıkla sitenizin tüm bölümüne erişimi engelleyebilirsiniz.
- Özel içeriğinizi engellemek için robots.txt dosyasını kullanmayın. Sayfanızın güvenliğini sağlamak istiyorsanız, bir şifre ile korumanız daha iyi olur. Ek olarak, robots.txt dosyasına genel olarak erişilebilir ve gizli içeriğinizin konumunu potansiyel olarak tehlikeli botlara ifşa edebilirsiniz.
- Tarayıcıların sitenize erişmesine izin vermemek sitenizi arama sonuçları sayfasından kaldırmaz. Sayfanıza işaret eden açıklayıcı bağlantı metnine sahip çok sayıda bağlantı varsa, yine de dizine eklenebilir. Bunu önlemek istiyorsanız, bunun yerine Meta Robots Tag veya X-Robots-Tag başlığını kullanmayı düşünmelisiniz.