Sitemap
Строит sitemap.xml из коллекций Payload и статических страниц и хранит файлы в любом storage adapter.
Установка
pnpm add @seshuk/payload-plugin-sitemap Описание
Плагин собирает XML-сайтмапы из контента Payload и обновляет их при изменениях. Источники перечисляются в массиве `sources`. Источник может быть коллекцией с шаблоном URL, например '/blog/:slug', статическим списком страниц или кастомной функцией, которая возвращает URL. На выходе получается индексный файл и дочерние sitemap, которые делятся при достижении 50 000 URL или 50 МБ. Для изображений добавляются записи image, а для локалей выводятся hreflang-альтернативы. Исключить страницу из сайтмапа или задать её priority можно прямо в документе. Плагин подписан на изменения документов. Создание, обновление или удаление документа в одной из перечисленных коллекций ставит в очередь job `sitemap-generate`. Job ждёт `jobs.regenerate.delay` (по умолчанию 5 минут), поэтому несколько правок попадают в один запуск. Генерируется XML, в коллекцию files загружаются только изменившиеся файлы через любой storage adapter проекта: S3, R2, Bunny, Vercel Blob, локальный диск или кастомную функцию upload. Опция `publish` отправляет изменившиеся файлы на публичные ключи CDN. Если запуск падает до переключения, предыдущие файлы остаются доступными, потому что публичные эндпоинты переключаются одной записью в скрытый глобал `sitemap-status`. В сайтмап попадают только опубликованные версии документов, а чтение идёт от имени анонимного посетителя (overrideAccess: false). Поэтому набор зависит от правила read коллекции. Если коллекция использует стандартный доступ Payload, она не попадёт в сайтмап, пока не разрешено публичное чтение или не задан `query: { overrideAccess: true }` в источнике. При использовании мультитенантного плагина все тенанты попадают в один сайтмап, если не задана опция `tenants`. Для генерации нужен job runner: `jobs.autoRun`, cron с командой `payload jobs:run` или отдельный worker. В админке появляются страница Sitemap и виджет на дашборде со статусом запусков, таблицей файлов и кнопкой Regenerate. Плагин работает с Payload 4 beta (линейка 1.x) на Next.js или TanStack Start и требует Node.js 24.15 или новее. Для линейки 0.x поддерживается Payload 3.83+.
О пакете
- Имя пакета
@seshuk/payload-plugin-sitemap- Последняя версия
0.1.0- Размер
- 660 кБ
- Лицензия
- MIT
- Последняя публикация
- 14 окт. 2026 г.
Ещё от maximseshuk
Профиль автораJanitor
Находит осиротевшие файлы и документы без ссылок в Payload и удаляет только те записи, которые вы одобрили.
Shared plugin tooling
Dev-зависимость с общими конфигами lint, форматирования, TypeScript, сборки, тестовой БД и релиза для плагинов Payload.
OpenAPI
Создает спецификации OpenAPI 3.0/3.1/3.2 из конфигураций Payload CMS.
Bunny Storage Adapter
Адаптер хранилища Bunny.net для Payload CMS 3.x с дозагрузкой TUS, интеграцией Bunny Stream и очисткой кэша CDN.
Media Preview
Предварительный просмотр изображений, видео, аудио и документов в админ-панели Payload CMS.
Похожие плагины
Ещё в категории «SEO»SEO JSON-LD Structured Data
Строит Schema.org JSON-LD для товаров, хлебных крошек, списков товаров, поиска по сайту и организации в проектах на Payload.
Product Reviews
Плагин добавляет в Payload v3 коллекцию reviews с оценкой от 1 до 5, модерацией статусов и данными aggregateRating для Google.
SEO Analyzer
Плагин для Payload 3, который добавляет SEO-анализ прямо в редакторе: более 50 проверок, оценка 0-100, дашборд, история баллов и redirect-менеджер.
SEO plugin
Плагин для управления метаданными SEO в админ-панели Payload.
SEO Plugin
Плагин для Payload: поля SEO-метаданных с превью поисковой выдачи в коллекциях и глобалах.
Llms Txt
Генерирует файлы llms.txt и llms-full.txt для LLM из коллекций Payload.