jukra00/kirby-sitemap

Simple Plugin to provide sitemap.xml with multilingual support.

Installs: 46

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:kirby-plugin

1.0.1 2022-10-19 20:15 UTC

This package is auto-updated.

Last update: 2024-05-19 23:44:49 UTC


README

This plugin adds a multilanguage enabled sitemap.xml to your Kirby CMS website.

Requirements

  • Kirby ^3.5

Installation

Download

Download and copy this repository to /site/plugins/kirby-sitemap.

Git submodule

git submodule add https://github.com/jukra00/kirby-sitemap.git site/plugins/kirby-sitemap

Composer

composer require jukra00/kirby-sitemap

Usage

The plugin automatically adds /sitemap.xml and /sitemap routes to your website, which will generate a valid XML Sitemap.

You can include a link to the sitemap by adding this snippet to the head of each page.

<?= snippet('sitemap'); ?>

Options

You can define the following options inside your site/config/config.php file.

key default description
jukra00.kirby-sitemap.ignore_ids [] Add an array of page ids, the sitemap should ignore. e.g. ['thanks']
jukra00.kirby-sitemap.ignore_templates ['error'] Add an array of template ids, the sitemap should ignore. e.g. ['error']

Advanced options

You can also use closures in each option that return an array. This way you can for example use panel fields to define your ignores.

# config.php
return [
  'jukra00.kirby-sitemap' => [
    'ignore_ids' => function () {
      # Get all published pages with meta_robots fields value 'noindex'
      $ignoredPages = site()->pages()->published()->index()->filterBy('meta_robots', 'noindex');
      # Return array of ids
      return $ignoredPages->pluck('id');
    }
  ]
]

License

MIT

Credits

This Plugin is based on the cookbook article Sitemap for search engines.