Laravel Sitemap — генератор карты сайта для Laravel

Схема карты сайта с соединёнными страницами

Laravel Sitemap — мой пакет для создания XML-карты сайта в Laravel. Я сделал его на основе своего PHP-генератора Sitemap и добавил работу с моделями приложения и именованными маршрутами.

Схема карты сайта с соединёнными страницами
Карта сайта собирает адреса страниц в единую структуру.

Для чего он нужен

Когда страницы сайта соответствуют записям в базе данных, их адреса удобно собирать из моделей Eloquent. Пакет связывает эти данные с маршрутами Laravel и помогает сформировать карту сайта для поисковых систем.

Список можно составить вручную: добавить отдельные адреса или передать коллекцию моделей и имя маршрута. В реализации также предусмотрен сбор моделей, отмеченных интерфейсом Sitemapable.

Что есть в пакете

  • Добавление отдельных URL и страниц из моделей Eloquent.
  • Использование именованных маршрутов Laravel для формирования адресов.
  • Настройка выборки записей через методы модели.
  • Формирование XML через Blade-шаблоны.
  • Сохранение результата в файл; по умолчанию — public/sitemap.xml.

Как попробовать

Пакет опубликован в Packagist и устанавливается через Composer:

composer require ichinya/laravel-sitemap

В README есть примеры подключения моделей, настройки маршрутов и генерации файла. В основе пакета находится мой генератор Sitemap на PHP.

Текущее состояние

Исходники открыты, лицензия — MIT. Последняя опубликованная версия — 1.0.2, выпущенная в апреле 2022 года. В требованиях пакета указан PHP ^8.0; совместимость с современными версиями Laravel нужно проверять при подключении.

Исходники и инструкция на GitHub · Все мои проекты.

Поделиться с друзьями
Блог Ичи