Sitemap, sitemap.xml dosyası, bir websitesinin içeriğinin gösterildiği modeldir. URL’lerden oluşur. Search enginelerin crawl botlarla siteyi dolaşabilmelerine yardımcı olur. Sitemap, crawler’ın tüm sayfaları indexleyeceğini garantilemez; ancak yine de büyük arama motorları sitemap olmasını tavsiye ediyorlar. Örnek olması için adres çubuğuna /sitemap.xml
yazabilirsiniz ya da sitemap.xml.
Peki, jekyll’da sitemap.xml dosyasını nasıl oluştururuz? Oldukça kolay. Bir for loopu ile tüm sayfaların urllerini ekleyeceğiz. Öncelikle bir include dosyası oluşturalım. _includes/sitemap-entry.xml
<url>
<loc>{{include.entry.url}}</loc>
{% if include.entry.changefreq %}
<changefreq>{{include.entry.changefreq}}</changefreq>
{% endif %}
{% if include.entry.priority %}
<priority>{{include.entry.priority}}</priority>
{% endif %}
</url>
Root dizinde sitemap.xml
dosyasını oluşturalım. Döngüleri kendi yapınıza göre düzenlemelisiniz. Jekyll ile siteyi oluştururken ederken for loopları çalışacak ve ilgili dosya hazırlanmış olacak.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{% for page in site.pages %}
{% if page.robots == nil %}
{% include sitemap-entry.xml entry=page %}
{% endif %}
{% endfor %}
{% for post in site.posts %}
{% include sitemap-entry.xml entry=post %}
{% endfor %}
</urlset>
page.robots ise; search enginelerin indexlemesine gerek görmediğimiz sayfaların front-matterına eklediğimiz bir property. robots: noindex, nofollow
Ayrı bir konu. Detaylı bilgi için: robotstxt‘ye göz atabilirsiniz.