Небольшая библиотека, которую я сделал для формирования XML-карты сайта. Передаю ей адреса страниц и даты изменения, а она собирает Sitemap, который можно сохранить в файл или отдать по HTTP.

Для чего она нужна
В приложении часто уже есть список страниц: записи в базе данных, материалы вики или маршруты. Остаётся превратить его в XML. Для этой задачи и пригодится генератор: список адресов передаёт само приложение.
У каждой страницы можно указать дату изменения, частоту обновления и приоритет. Последние два параметра необязательны; их значения по умолчанию задаются при создании генератора.
Установка
Пакет называется ichinya/sitemap-generator и устанавливается через Composer:
composer require ichinya/sitemap-generator
В требованиях пакета указана версия PHP от 7.4. Актуальные исходники и инструкцию можно посмотреть в репозитории.
Пример использования
<?php
require __DIR__ . '/vendor/autoload.php';
use Ichinya\SitemapGenerator\Sitemap;
$sitemap = new Sitemap('weekly', 0.5);
$sitemap->addUrl('https://example.com/', time());
$sitemap->addUrl(
'https://example.com/about',
strtotime('2026-10-01'),
'monthly',
0.3
);
header('Content-Type: application/xml; charset=utf-8');
echo $sitemap->render();Метод render() возвращает XML строкой. Его можно отдать посетителю, как в примере, или записать в файл. Есть и вариант render(true), который сразу выводит результат с заголовком XML и завершает выполнение.
Текущее состояние
Библиотека опубликована, её исходники доступны по лицензии MIT. Это небольшой отдельный инструмент для генерации карты сайта; источник списка страниц и запуск обновления Sitemap настраиваются в самом приложении.
