A plugin for Kirby 3 CMS that generates an sitemap.xml
and HTML sitemap.
⚠️ Warning: there are config breaking changes between version 1. * and 2. *
This plugin is free but if you use it in a commercial project please consider
Download the files and place them inside site/plugins/sitemap
.
composer require schnti/sitemap
You can add the plugin as a Git submodule.
$ cd your/project/root
$ git submodule add https://github.com/schnti/kirby3-sitemap.git site/plugins/sitemap
$ git submodule update --init --recursive
$ git commit -am "Add Kirby Sitemap plugin"
Run these commands to update the plugin:
$ cd your/project/root
$ git submodule foreach git checkout master
$ git submodule foreach git pull
$ git commit -am "Update submodules"
$ git submodule update --init --recursive
You can set the following default options in your config.php
:
'schnti.sitemap.xml.sites.blacklist' => ['error', 'sitemap', 'thankyou'],
'schnti.sitemap.xml.sites.whitelist' => ['home', 'impressum', 'datenschutzerklaerung'],
'schnti.sitemap.xml.sites.prio' => [],
'schnti.sitemap.xml.templates.blacklist' => [],
'schnti.sitemap.xml.templates.whitelist' => [],
'schnti.sitemap.xml.showUnlistedSites' => false,
'schnti.sitemap.xml.showOnePagerModules' => false,
'schnti.sitemap.xml.showTags' => false,
'schnti.sitemap.html.sites.blacklist' => ['error', 'sitemap', 'thankyou'],
'schnti.sitemap.html.sites.whitelist' => ['home', 'impressum', 'datenschutzerklaerung'],
'schnti.sitemap.html.sites.prio' => [],
'schnti.sitemap.html.templates.blacklist' => [],
'schnti.sitemap.html.templates.whitelist' => [],
'schnti.sitemap.html.showUnlistedSites' => false,
'schnti.sitemap.html.showOnePagerModules' => false,
'schnti.sitemap.html.showTags' => false,
'schnti.sitemap.json.sites.blacklist' => ['error', 'sitemap', 'thankyou'],
'schnti.sitemap.json.sites.whitelist' => ['home', 'impressum', 'datenschutzerklaerung'],
'schnti.sitemap.json.sites.prio' => [],
'schnti.sitemap.json.templates.blacklist' => [],
'schnti.sitemap.json.templates.whitelist' => [],
'schnti.sitemap.json.showUnlistedSites' => false,
'schnti.sitemap.json.showOnePagerModules' => false,
'schnti.sitemap.json.showTags' => false
An array of Kirby page IDs who are excluded from the sitemap.
An array of Kirby page IDs who are included if their status is unlisted.
An array of intended template names whose pages are excluded from the sitemap.
An array of intended template names whose pages are included if their status is unlisted.
If true
, all unlisted sites are also included.
If you are using the Kirby Modules from Thomas Günther this plugin hides automatically the "modules" page from the sitemap.
If showOnePagerModules
is true
the OnePager Modules are shown as anker navigation links.
If true
, for example blog categories or tags are listed as sub page navigation links.
Internal the $page->children()->listed()->pluck('tags', ',', true)
and url($p->url(), ['params' => ['tag' => urlencode($tag)]])
function is used.
Visit the sitemap as XML: http://example.com/sitemap.xml
There is no actual file generated.
Visit the sitemap as JSON: http://example.com/sitemap.json
There is no actual file generated.
Use this simple tag which lets you output an HTML sitemap.
In your text file you can use it as follows:
(sitemap: )