Open Payload admin
Local: http://localhost:3000/admin. Production:https://<shop-domain>/admin.
Sign in with the shared admin credentials set at install.
What Payload owns
Medusa-synced fields (
title, handle, medusaCategoryId) are read-only in Payload admin. Editorial fields (blocks, h1, seo) are writable.Publish a landing page
1
Create a new page
In Payload admin, open Pages and click Create new. Set the slug and title.
2
Build the layout with blocks
Add blocks (hero, rich text, media, product grid, callouts). Reorder them by dragging. Each block renders through the storefront’s block registry.
3
Set SEO metadata
Fill in
seo.title and seo.description. These flow to the rendered page head.4
Preview and publish
Use the preview URL to check the page against the storefront, then set the page to published.
Selection pages (Pro)
Selection pages are curated landings without a Medusa category. Create acategoryContent entry with kind: "selection", a custom route, and a filterQuery. The storefront middleware rewrites the public URL to /selection/[handle], so shoppers see a clean URL like /summer-edit.
Contact form
The storefront contact form uses a math captcha atGET /api/contact/captcha (HMAC signed with PAYLOAD_SECRET). Submissions land in the contact-submissions collection as a read-only inbox.
Seed CMS defaults for local dev
When the Payload database is empty in non-production, the storefront falls back tolib/cms/defaults.ts so you always have something to click. To populate real content while pnpm dev is running:
Manage catalog
Add editorial blocks on top of Medusa products and categories.
Analytics
Track how content pages perform, consent-gated.