Skip to content

Instantly share code, notes, and snippets.

@nandomoreirame
Created September 13, 2015 06:41
Show Gist options
  • Save nandomoreirame/448f4f98af7d26cf0c8c to your computer and use it in GitHub Desktop.
Save nandomoreirame/448f4f98af7d26cf0c8c to your computer and use it in GitHub Desktop.
Jekyll sitemap.xml
---
layout: null
sitemap:
exclude: 'yes'
---
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{% for post in site.posts %}
{% unless post.published == false %}
<url>
<loc>{{ site.url }}{{ post.url }}</loc>
{% if post.sitemap.lastmod %}
<lastmod>{{ post.sitemap.lastmod | date: "%Y-%m-%d" }}</lastmod>
{% elsif post.date %}
<lastmod>{{ post.date | date_to_xmlschema }}</lastmod>
{% else %}
<lastmod>{{ site.time | date_to_xmlschema }}</lastmod>
{% endif %}
{% if post.sitemap.changefreq %}
<changefreq>{{ post.sitemap.changefreq }}</changefreq>
{% else %}
<changefreq>monthly</changefreq>
{% endif %}
{% if post.sitemap.priority %}
<priority>{{ post.sitemap.priority }}</priority>
{% else %}
<priority>0.5</priority>
{% endif %}
</url>
{% endunless %}
{% endfor %}
{% for page in site.pages %}
{% assign split_path = page.path | split: "." %}
{% assign extension = split_path | last %}
{% if page.sitemap.exclude != "yes" and extension == "html" and page.path != "/404.html" %}
<url>
<loc>{{ site.url }}{{ page.permalink | remove: "index.html" }}</loc>
{% if page.sitemap.lastmod %}
<lastmod>{{ page.sitemap.lastmod | date: "%Y-%m-%d" }}</lastmod>
{% elsif page.date %}
<lastmod>{{ page.date | date_to_xmlschema }}</lastmod>
{% else %}
<lastmod>{{ site.time | date_to_xmlschema }}</lastmod>
{% endif %}
{% if page.sitemap.changefreq %}
<changefreq>{{ page.sitemap.changefreq }}</changefreq>
{% else %}
<changefreq>monthly</changefreq>
{% endif %}
{% if page.sitemap.priority %}
<priority>{{ page.sitemap.priority }}</priority>
{% else %}
<priority>0.3</priority>
{% endif %}
</url>
{% endif %}
{% endfor %}
{% for collection in site.collections %}
{% if collection[1].output %}
{% for doc in collection[1].docs %}
<url>
<loc>{{ site.url }}{{ doc.url | remove: "index.html" }}</loc>
{% if doc.sitemap.lastmod %}
<lastmod>{{ doc.sitemap.lastmod | date: "%Y-%m-%d" }}</lastmod>
{% elsif doc.date %}
<lastmod>{{ doc.date | date_to_xmlschema }}</lastmod>
{% else %}
<lastmod>{{ site.time | date_to_xmlschema }}</lastmod>
{% endif %}
{% if doc.sitemap.changefreq %}
<changefreq>{{ doc.sitemap.changefreq }}</changefreq>
{% else %}
<changefreq>monthly</changefreq>
{% endif %}
{% if doc.sitemap.priority %}
<priority>{{ doc.sitemap.priority }}</priority>
{% else %}
<priority>0.3</priority>
{% endif %}
</url>
{% endfor %}
{% endif %}
{% endfor %}
</urlset>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment