sitemap.xml

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.xmlyazabilirsiniz 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.

Next Episode

published on 21.08.2020

Hugo için rss-feed-in-hugo yazısını paylaştıktan sonra fark ettim ki jekyll için yazmamışım. İki yol göstereceğim, birincisi eklenti ile ikincisi liquid kodu ile. […] Eklenti ile yapmak oldukça kolay. Gemfile’ınıza gem 'jekyll-feed' satırını ekleyin ve _config.yml dosyasına ise …

Previous Episode

published on 21.01.2019

Jekyll’da dosyalara front-matter eklerken çoğunlukla tekrara düşebiliriz. Örneğin, birçok dosyaya aynı layoutu, layout: default, layout: post, kategoriyi category: your_category veya koleksiyonunuza özel belirlediğiniz custom attributeları eklerken benzer dosyaların herbirine, aynı satırları …

TAG CLOUD