This plugin extends Jekyll sitemaps and adds support for pages, posts, archives/categories, collections and images.
Before i switched to Jekyll I’ve been spoiled by the sitemaps of the Yoast SEO plugin. So I decided to try to get the same functionality from Jekyll. The goal was also to make it available for people who host their Jekyll sites on Github Pages.
Jekyll Sitemaps example
You can take a look at the sitemap for this site to see it in action.
Installation
- Start by downloading Jekyll Sitemaps from Github.
- Copy
category-sitemap.xml
,page-sitemap.xml
,post-sitemap.xml
,project-sitemap.xml
andsitemap.xml
to your root folder. - Copy
_includes/single-post-sitemap.html
to your_includes
folder. - Edit images in
single-post-sitemap.xml
as described under Images below. - If you do not use jekyll-archives plugin disable that as described under Categories below.
- Edit or remove collections sitemap as described under Collections below.
Images
Google supports adding images to the sitemap. You need to edit the image url of your post(if any) on line 5 in single-post-sitemap.html
.
If you do not use images you can remove lines 4 to 8.
Categories
This plugin supports jekyll-archives. This sitemap is created with the category-sitemap.xml file. If you do not use the jekyll archives plugin you should delete category-sitemap.xml and remove the following from sitemap.xml:
Collections
Since collections are dynamic only an example is added with jekyll-sitemaps. If you do not use collections you can delete project-sitemap.xml and the following from sitemap.xml:
If you do use collections you need to change this:
- Change
site.projects
tosite.<name-of-collection>
in project-sitemap.xml - Change filename of
project-sitemap.xml
to<name-of-collection>-sitemap.xml
- Change the reference from
project-sitemap.xml
to<name-of-collection>-sitemap.xml
in sitemap.xml:
Contribute to Jekyll Sitemaps
Jekyll sitemaps are open source and if you find a bug or something else to improve you are welcome to send pull requests.