PHPackages                             isaactopo/xmlsitemap - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. isaactopo/xmlsitemap

ActiveKirby-plugin[Utility &amp; Helpers](/categories/utility)

isaactopo/xmlsitemap
====================

Kirby 3 Multilanguage XML Sitemap

0.2.2(3y ago)157.7k↑62.5%2[5 issues](https://github.com/isaactopo/xmlsitemap/issues)[1 PRs](https://github.com/isaactopo/xmlsitemap/pulls)MITPHP

Since Mar 17Pushed 4w ago1 watchersCompare

[ Source](https://github.com/isaactopo/xmlsitemap)[ Packagist](https://packagist.org/packages/isaactopo/xmlsitemap)[ RSS](/packages/isaactopo-xmlsitemap/feed)WikiDiscussions main Synced 2d ago

READMEChangelogDependencies (1)Versions (4)Used By (0)

Kirby 3 Multilanguage XML Sitemap Plugin
========================================

[](#kirby-3-multilanguage-xml-sitemap-plugin)

Is a powerful tool for managing and generating sitemaps that is designed to work with [Kirby 3](https://getkirby.com). This plugin provides a straightforward approach for creating XML Sitemaps, especially for sites with multiple languages. The multilingual support allows you to create separate URLs for each language, increasing the SEO performance of your website. The plugin creates one XML file with URLs to your website pages and images, automagically ✨ assigning their priority and last modification date which can be later easily readed by search engines.

If the website has only one language, a sitemap is generated in `/sitemap.xml`. With this new version (0.2.0), if the site has two or more languages, a `` is generated in `sitemap.xml` and all sub-sitemaps for each language with the following scheme: `sitemap_en.xml`, `sitemap_es.xml`, etc

---

How to install
--------------

[](#how-to-install)

### Download

[](#download)

[Download and copy this repository](https://github.com/isaactopo/xmlsitemap/archive/main.zip) to /site/plugins/xmlsitemap

### As a Git Submodule

[](#as-a-git-submodule)

`git submodule add https://github.com/isaactopo/xmlsitemap.git site/plugins/xmlsitemap`

### With Composer

[](#with-composer)

`composer require isaactopo/xmlsitemap`

Setup
-----

[](#setup)

The plugin works from the start, outputting all the listed pages from your website on `yoursite/sitemap.xml` and redirecting `yoursite/sitemap` to `yoursite/sitemap.xml`

Options and configuration
-------------------------

[](#options-and-configuration)

The plugin has 3 config options that you can tweak from your `site/config.php` file:

### 🙈 Ignore Pages

[](#-ignore-pages)

By default not listed pages are Ignored, but sometimes you will want to ignore specific pages. You are able to do it with:

```
'isaactopo.xmlsitemap.ignore' => ['error', 'legal'],
```

### 🎆 Include Images

[](#-include-images)

You can inlude images with:

```
'isaactopo.xmlsitemap.includeImages' => true,
```

### 🧾 Include Specific Pages

[](#-include-specific-pages)

If you have some factory-generated pages from your Routes or another page that you want to force-include you can do it with:

```
'isaactopo.xmlsitemap.addCollection' => function () {
    $professionals = kirby()->users()->filterBy('publish', true);
    $profiles = [];
    foreach($professionals as $professional){
        $profiles[] = Page::factory([
            'slug' => 'team/'.$professional,
            'template' => 'profile',
            'content' => [
                'author' => $professional,
                ]
            ]);
        }
    return $profiles;
},
```

### 🛗 Change Page Priority

[](#-change-page-priority)

The plugin generates an automatic priority according to the depth of each page (Thanks Bastian). But you may want to change the priority of some pages by hand. If so, you can do it by creating a new field in the blueprint of the page you want to include:

```
sitemapPriority:
    label: Sitemap Priority
    type:  number
    width: 1/2
    max:   1
    min:   0
    step:  0.1
```

[![priority panel field](panel-field.png)](panel-field.png)

This way the plugin will prioritise the input from the Panel.

Credits
-------

[](#credits)

- Isaac Bordons  —  —
- Thanks to [Bastian Allgeier](https://github.com/bastianallgeier) for [his article on the Cookbook](https://getkirby.com/docs/cookbook/content/sitemap) and [Pedro Borges](https://github.com/pedroborges) for his [K2 XML Sitemap plugin](https://github.com/pedroborges/kirby-xml-sitemap)

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance55

Moderate activity, may be stable

Popularity32

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

3

Last Release

1200d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/04a2137b7b226fae4a429980ead547bd79f21f183b04ba9c2caa70d8acac713c?d=identicon)[isaactopo](/maintainers/isaactopo)

---

Top Contributors

[![isaactopo](https://avatars.githubusercontent.com/u/4568596?v=4)](https://github.com/isaactopo "isaactopo (22 commits)")

### Embed Badge

![Health badge](/badges/isaactopo-xmlsitemap/health.svg)

```
[![Health](https://phpackages.com/badges/isaactopo-xmlsitemap/health.svg)](https://phpackages.com/packages/isaactopo-xmlsitemap)
```

###  Alternatives

[getkirby/cms

The Kirby core

1.5k584.8k474](/packages/getkirby-cms)[medienbaecker/kirby-modules

Easily add modules to your pages

895.5k1](/packages/medienbaecker-kirby-modules)[distantnative/retour-for-kirby

Manage redirects and track 404s right from the Kirby CMS Panel

14698.5k1](/packages/distantnative-retour-for-kirby)[arnoson/kirby-vite

Vite helper for Kirby CMS

9765.1k3](/packages/arnoson-kirby-vite)[bnomei/kirby3-dotenv

Kirby Plugin for environment variables from .env

4149.6k2](/packages/bnomei-kirby3-dotenv)[medienbaecker/kirby-alter

242.1k](/packages/medienbaecker-kirby-alter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
