pecotamic/sitemap

Simple sitemap addon for Statamic
172,543 6
Install
composer require pecotamic/sitemap
Latest Version:2.0.0
PHP:^8.2
Laravel:12 · 13
License:MIT
Last Updated:Jul 28, 2026
Links: GitHub  ·  Packagist
Maintainer: pecotamic

Sitemap Addon for Statamic

Statamic 5 Statamic 6

Tests

Automatically adds a sitemap to your Statamic web site. The default path is <your web site>/sitemap.xml

How to Install

You can search for this addon in the Tools > Addons section of the Statamic control panel and click install, or run the following command from your project root:

composer require pecotamic/sitemap

The package requires PHP 8.2+. It will auto register.

Configuration (optional)

You can override the default options by publishing the configuration:

php artisan vendor:publish --provider="Pecotamic\Sitemap\ServiceProvider" --tag=config

This will copy the default config file to config/pecotamic/sitemap.php.

View (optional)

You can also override the view template to adjust the output by publishing the view:

php artisan vendor:publish --provider="Pecotamic\Sitemap\ServiceProvider" --tag=view

The view template will be copied to resources/views/vendor/pecotamic/sitemap/sitemap.blade.php.

If you prefer another view engine, it is also possible. For example to use Antlers, create a file named sitemap.antlers.html instead of the blade template.

View variables

An array of sitemap entries is passed to the view template. Each entry has these properties:

  • loc: The absolute url
  • path: The relative path
  • lastmod: A DateTime object of the last modification date, or null
  • changefreq: A string like 'daily', 'weekly' (optional)
  • priority: A float value between 0 and 1 (defaults to 1.0 for the root path, 0.8 otherwise)

Dynamically adding entries (optional)

You may add entries dynamically by providing a closure that returns an array to the addEntries method.

use Pecotamic\Sitemap\Sitemap;
use Pecotamic\Sitemap\SitemapEntry;

class AppServiceProvider extends Provider
{
    public function boot()
    {
        Sitemap::addEntries(static function () {
            return [
                new SitemapEntry('/hidden-page', new \DateTime('2020-02-20')),
                new SitemapEntry('/about-me', new \DateTime('now'), 'daily', 1.0),
            ];
        });
    }
}

Credits

Thanks for code contribution to Prageeth Silva, Poh Nean and Frederik Sauer.

Related Packages

mitydigital/sitemapamic

An XML sitemap generator for Statamic that includes all collections and related...

119,764 15
vinicius73/seotools

A package containing SEO helpers.

5,223 23
calotype/seo

A package containing SEO helpers.

2,644 73
pomirleanu/sitemap

A simple sitemap generator for Laravel.

154 0
michal-koval/laravel-seo

A ultimate Laravel SEO Package

462 2

Version History

Version Released PHP License
2.0.0 ^8.2 MIT
1.4.10 ^7.1|^8.0 MIT
1.4.9 ^7.1|^8.0 MIT
1.4.8 ^7.1|^8.0 MIT
1.4.7 ^7.1|^8.0 MIT