A/B Testing
A/B-Testing-Plugin für Payload CMS v3 und Next.js, das Seitenvarianten in bestehenden Collections anlegt und Traffic über Edge-Middleware verteilt.
Installation
pnpm add @focus-reactive/payload-plugin-ab Über
Das Plugin erweitert Payload CMS v3 mit A/B-Testing für Next.js-Projekte. Redakteure legen Seitenvarianten direkt in der Collection der Originalseite an und geben für jede Variante einen Traffic-Anteil vor. Eine separate Varianten-Collection oder manuelle Verdrahtung entfällt. Bei jedem Speichern oder Löschen berechnen injizierte `beforeChange`-, `afterChange`- und `afterDelete`-Hooks ein pfadbasiertes Varianten-Manifest und schreiben es in einen Storage-Adapter. Das Paket liefert zwei Adapter: `payloadGlobalAdapter` speichert das Manifest in einem Payload-Global, `vercelEdgeAdapter` schreibt es in die Vercel Edge Config für Lesezugriff im Sub-Millisekunden-Bereich. Die Next.js-Middleware liest das Manifest an der Edge und leitet eingehende Requests an die zugewiesene Variante um, bevor das Rendering beginnt. Ein Datenbank-Roundtrip entfällt dabei. Varianten-Dokumente sind über das injizierte Feld `_abVariantOf` mit der Originalseite verknüpft. Das Plugin blendet Varianten aus der Listenansicht der Collection aus, setzt Slug- und Tenant-Felder für Varianten auf schreibgeschützt und validiert, dass die Summe der Traffic-Anteile 99 nicht überschreitet. Der Originalseite bleibt somit mindestens 1 Prozent. Traffic-Anteile sind an den Draft- und Publish-Lebenszyklus gebunden: Eine Änderung im Variants-Panel der Seitenleiste wird über das virtuelle Feld `_abPendingPercentages` zwischengespeichert und wirkt sich erst auf den Live-Traffic aus, wenn die Originalseite veröffentlicht wird. Bei aktivierter Payload-Lokalisierung erzeugt das Plugin automatisch locale-spezifische Manifesteinträge. Ein optionales `tenantField` unterstützt Multi-Tenant-Setups. Für die Messung lielt die React-Komponente `ExperimentTracker` die Bucket- und Visitor-Cookies der Middleware und übergibt sie als Custom-Dimension-Parameter an Google Analytics via `gtag`. Der Endpunkt `POST /api/_ab/duplicate` klont eine bestehende Seite in eine neue Variante mit einem gehashten Slug wie `about--4ji9`.
Paketinformationen
- Paketname
@focus-reactive/payload-plugin-ab- Neueste Version
2.10.1- Entpackte Größe
- 181 kB
- Lizenz
- MIT
- Wöchentliche Downloads
- 224
- Zuletzt veröffentlicht
- 6. Okt. 2026
Mehr von focusreactive
Profil ansehenTranslator
Uebersetzt lokalisierte Payload CMS Inhalte ueber steckbare Provider, mit Steuerelementen auf Dokument-, Sammlungs- und Feldebene im Admin-Panel.
Collaborative Comments
Ergänzt Payload v3 um Kommentare auf Dokument- und FeldEbene mit @mentions, E-Mail-Benachrichtigungen, Resolving, Multi-Tenancy und Locale-Filterung.
JSON Form Builder
Bearbeitet json-Felder in Payload als typisierte Admin-Felder und speichert die Werte als einfaches Objekt in derselben Spalte.
Visual Editing
Blendet im Frontend Click-to-Edit-Overlays für Draft-Seiten ein, die das passende Feld im Payload-Admin öffnen.
Create Ideal CMS
Interaktive CLI, die ein Payload-CMS-Monorepo mit vorkonfigurierten FocusReactive-Plugins aufsetzt.
Netlify Deploy
Fügt im Payload-Admin einen Publish-Button neben Speichern hinzu, mit dem Netlify-Builds gestartet und Vorschauen veröffentlicht werden.
Ähnliche Plugins
Mehr in ContentSitemap
Erzeugt sitemap.xml aus Payload-Collections und statischen URLs und legt die Dateien im Storage-Adapter des Projekts ab.
Structured Markdown
Bietet strukturiertes Markdown-Editing für Payload CMS mit erweiterten Bearbeitungsfunktionen.
AI Plugin
Integriert KI-Funktionen zur Inhaltserstellung in Payload CMS.
onpage for TanStack Start
Fügt TanStack-Start-Seiten, die Inhalte aus Payload lesen, Inline-Bearbeitung und Draft-Vorschauen hinzu.
On-Page Editing
Ergänzt Payload-Collections und Globals um Inline-Bearbeitung direkt auf der Next.js-Seite, mit Draft-Speicherung und Preview-Links.
Lexical Inline Rich Text Editor
Bearbeitet Payload-richText-Felder direkt auf der gerenderten Seite per Klick, ohne das Admin-Formular zu öffnen.