A/B Testing

Плагин A/B тестирования для Payload CMS v3 и Next.js: варианты страниц в той же коллекции и маршрутизация трафика на edge-уровне.

Сообщество 26 224/нед MIT v2.10.1

Установка

pnpm add @focus-reactive/payload-plugin-ab

Описание

Плагин добавляет A/B (split) тестирование в проекты на Payload CMS v3, работающие на Next.js. Редакторы создают варианты страниц прямо в той же коллекции, где находится оригинал, и указывают процент трафика для каждого варианта. Отдельная коллекция для вариантов или ручная настройка не нужны. При каждом сохранении или удалении внедрённые хуки `beforeChange`, `afterChange` и `afterDelete` пересчитывают манифест вариантов (JSON-объект с ключами-путями) и записывают его в подключаемый адаптер хранилища. В пакете доступны два адаптера: `payloadGlobalAdapter` хранит манифест в global-коллекции Payload, а `vercelEdgeAdapter` записывает его в Vercel Edge Config для чтения за время меньше миллисекунды. Next.js middleware читает манифест на edge-уровне и переписывает входящий запрос на назначенный вариант до начала рендеринга, без обращения к базе данных. Документы-варианты отличаются внедрённым полем связи `_abVariantOf`. Плагин скрывает варианты из списка коллекции, делает поля slug и tenant доступными только для чтения и проверяет, что сумма процентов вариантов не превышает 99 (оригиналу остаётся минимум 1%). Проценты трафика версифицируются через жизненный цикл draft и publish: изменение процента в боковой панели Variants staged его в виртуальном поле `_abPendingPercentages` и не затрагивает живой трафик, пока оригинальная страница не опубликована. При включённой локализации Payload генерируются записи манифеста с учётом локалей, а опция `tenantField` поддерживает мультитенантные конфигурации. Для измерений используется React-компонент `ExperimentTracker`, который читает bucket- и visitor-куки, установленные middleware, и отправляет их в Google Analytics через `gtag` как custom-параметры. Эндпоинт `POST /api/_ab/duplicate` клонирует существующую страницу в новый вариант с хешированным slug, например `about--4ji9`.

О пакете

Имя пакета
@focus-reactive/payload-plugin-ab
Последняя версия
2.10.1
Размер
181 кБ
Лицензия
MIT
Загрузок в неделю
224
Последняя публикация
6 окт. 2026 г.

Ещё от focusreactive

Профиль автора

Translator

Переводит локализованный контент Payload CMS 3.x через подключаемые провайдеры перевода (OpenAI в комплекте).

Collaborative Comments

Добавляет комментарии на уровне документов и полей в админку Payload, с упоминаниями, email-уведомлениями, разрешением, мультитенантностью и фильтрацией по локали.

JSON Form Builder

Редактирует json-поле Payload как обычные админ-поля и строит форму в выдвижной панели без миграций.

Visual Editing

Плагин для Payload CMS 3.x добавляет на фронтенд оверлеи редактирования: клик по элементу открывает нужное поле в админке.

Create Ideal CMS

Интерактивный CLI для развёртывания монорепозитория Payload CMS с предустановленными плагинами @focus-reactive.

Netlify Deploy

Добавляет в Payload кнопку Publish, которая запускает сборку сайта на Netlify и публикует его прямо из админки.