Sitemap

Erzeugt sitemap.xml aus Payload-Collections und statischen URLs und legt die Dateien im Storage-Adapter des Projekts ab.

Community 3 MIT v0.1.0

Installation

pnpm add @seshuk/payload-plugin-sitemap

Über

Das Plugin baut XML-Sitemaps aus den Inhalten einer Payload-Instanz und hält sie aktuell. Die Quellen werden im Array `sources` definiert: eine Collection mit URL-Muster wie `/blog/:slug`, eine feste Liste statischer Seiten oder eine eigene Funktion, die URLs zurückgibt. Die Ausgabe besteht aus einem Sitemap-Index und den einzelnen Sitemaps. Eine Datei wird bei 50.000 URLs oder 50 MB geteilt. Image-Einträge und hreflang-Alternativen pro Locale gehören ebenfalls zur Ausgabe. Einzelne Dokumente lassen sich über eigene Optionen von der Sitemap ausschließen oder mit einer Priorität versehen. Beim Anlegen, Ändern oder Löschen eines Dokuments in einer aufgeführten Collection wird der Payload-Job `sitemap-generate` eingereiht. Der Job wartet `jobs.regenerate.delay` (standardmäßig 5 Minuten), sodass mehrere Änderungen innerhalb dieses Fensters in einem Durchlauf landen. Danach schreibt er die XML-Dateien und lädt nur die Dateien hoch, die sich geändert haben, in die Files-Collection. Schlägt ein Lauf fehl, bleiben die bisherigen Dateien online. Die Ablage erfolgt über den Storage-Adapter des Projekts, also etwa S3, R2, Bunny, Vercel Blob, lokales Dateisystem oder eine eigene `upload`-Funktion. Mit der Option `publish` lassen sich geänderte Dateien zusätzlich auf öffentliche Keys eines CDN übertragen. Die Sitemap enthält nur veröffentlichte Draft-Versionen. Die Abfragen laufen anonym (`overrideAccess: false`), also bestimmt die `read`-Zugriffsregel der Collection, was erscheint. Mit Payloads Standardzugriff ist nichts lesbar, daher bleibt die Sitemap leer, bis die Collection öffentliches Lesen erlaubt oder die Quelle `query: { overrideAccess: true }` setzt. Bei Multi-Tenant werden alle Mandanten ohne die Option `tenants` in einer gemeinsamen Sitemap zusammengefasst. Für die Generierung ist ein Job-Runner nötig, etwa `jobs.autoRun`, ein Cron mit `payload jobs:run` oder ein eigener Worker. Das Admin-Panel bekommt eine Sitemap-Seite und ein Dashboard-Widget mit Status, Dateitabelle und einem Regenerate-Button. Das Plugin setzt Payload 4 Beta (Linie 1.x) auf Next.js oder TanStack Start sowie Node.js 24.15 oder neuer voraus. Für Payload 3.83 und neuer gibt es die 0.x-Linie.

Paketinformationen

Paketname
@seshuk/payload-plugin-sitemap
Neueste Version
0.1.0
Entpackte Größe
660 kB
Lizenz
MIT
Zuletzt veröffentlicht
14. Okt. 2026

Mehr von maximseshuk

Profil ansehen

Ähnliche Plugins

Mehr in SEO