Practical Payload CMS v3 guidance

Payload CMS block and installer guides

Practical Payload CMS v3 guides for installing reusable blocks, wiring collections and renderers, generating types, and fixing blocks that do not render.

Installation guide

npx payload-components add hero-basic

Install a wired Payload block

Add a real block with the supported CLI, then review every file and wiring change that lands.

Follow the installation guide

Field notes from the registry

More Payload CMS field notes

Browse implementation lessons, component design notes, and release stories from the open registry.

Browse all 67 installable components
Project notes

Templates Are Here: Six Payload Site Concepts to Explore

Explore six community-shaped Payload CMS and Next.js site concepts, trace 30 designed pages back to installable blocks, and help decide what templates should become next.

TemplatesPayload CMSCommunity
Foundations

What Is a Payload CMS Block?

A practical mental model for Payload blocks, from editor input and stored data to generated types and React output.

Payload CMSBlocksNext.js
Foundations

Build Your First Payload v3 Landing Page with Next.js

Compose a real landing page from typed Payload blocks, wire the renderer, and verify the editor-to-frontend loop.

Payload CMSNext.jsTutorial
Foundations

Anatomy of a Production-Ready Payload Block Config

Design explicit Payload block contracts with stable slugs, readable types, editor labels, validation, and safe field models.

Payload CMSTypeScriptContent modeling
Foundations

How RenderBlocks Turns Payload Data into a Next.js Page

Follow a Payload layout through discriminated-union narrowing, renderer-map dispatch, wrappers, fallbacks, and React output.

Payload CMSNext.jsTypeScript
Foundations

Why Payload Types and the Admin Import Map Must Stay in Sync

Understand the two generated artifacts that keep a Payload schema, typed frontend, and admin component graph aligned.

Payload CMSTypeScriptAdmin UI
Foundations

Payload Block Not Rendering? Follow This Debugging Checklist

Diagnose a missing Payload block from saved document to collection registration, renderer map, generated artifacts, and frontend output.

Payload CMSDebuggingNext.js
Installer internals

Copying a Component Is Not the Same as Installing It

See why Payload components need registration, renderer mapping, generators, and recovery state in addition to copied source files.

Installer internalsPayload CMSshadcn
Installer internals

Using a shadcn Registry with Payload CMS

Understand how a shadcn-compatible registry packages Payload source, public dependencies, targets, and reviewable consumer installs.

shadcnPayload CMSRegistry
Installer internals

The Manifest as an Executable Wiring Contract

See how files, dependencies, source fragments, generators, and install state turn a registry item into a recoverable Payload integration.

Installer internalsManifestsPayload CMS
Installer internals

Why We Patch Source with Text Anchors Instead of Rewriting the AST

Learn the trade-offs behind narrow text-anchor patches, explicit starter support, dedup checks, and readable installation diffs.

Installer internalsCode generationTypeScript
Installer internals

Designing an Idempotent Code Installer

Build install stages that converge across first runs, repeated runs, partial failures, manual edits, and explicit recovery.

Installer internalsIdempotencyDeveloper tools
Installer internals

Meet `payload-components doctor`

Diagnose project readiness, healthy installs, missing files, broken fragments, and partial recovery without changing the repository.

Installer internalsDiagnosticsPayload CMS
Component design

Component Variants Without Prop Explosion

Separate structural variants from content options so Payload schemas, React components, registry items, and editor choices stay understandable.

Component designPayload CMSTypeScript
Component design

Sharing Payload Fields Across a Component Family

Reuse a stable editorial vocabulary across structural variants with real shipped source, explicit registry files, and honest generated types.

Payload CMSComponent familiesContent modeling
Component design

How to Choose the Right Hero for a Payload Site

Choose hero structure by message, media, action, and editorial constraints—not by whichever screenshot happens to look most dramatic.

Payload CMSHero sectionsContent design
Component design

Designing Feature Sections Editors Can Actually Maintain

Choose grid, split, steps, or bento structures by content rhythm and give Payload editors fields that remain coherent after launch.

Payload CMSContent designFeature sections
Component design

Modeling Pricing Pages in Payload Without Hard-Coding the Design

Separate plan data, comparison content, calls to action, and structural pricing variants so editors can maintain the page safely.

Payload CMSPricing pagesContent modeling
Component design

Building Credible Social-Proof Sections

Model logos, testimonials, ratings, quotes, and outcomes in Payload without turning trust into an unsupported wall of decoration.

Payload CMSSocial proofContent design
Production guides

Build a Complete SaaS Homepage with Payload Components

Assemble a typed SaaS homepage from hero, proof, features, integrations, pricing, FAQ, and call-to-action blocks.

Payload CMSSaaSTutorial
Production guides

Build an Editorial Blog Frontend with Payload Post Components

Design a typed editorial source and compose index, article, related-content, metadata, and syndication surfaces in Next.js.

Payload CMSNext.jsEditorial
Production guides

Designing an Accessible FAQ Block for Payload CMS

Build a maintainable FAQ content model with semantic disclosure controls, keyboard behavior, resilient state, and useful testing.

AccessibilityPayload CMSFAQ
Production guides

Safe Links, Forms, and Embeds in CMS-Managed Components

Define trust boundaries for editor-controlled destinations, server submissions, and third-party media without accepting arbitrary executable input.

SecurityPayload CMSContent modeling
Production guides

Making Motion Feel Good Without Sacrificing Performance

Build progressive component motion with stable layout, compositor-friendly effects, reduced-motion completeness, and measured browser behavior.

PerformanceAccessibilityMotion design
Production guides

Type-Safe Block Rendering Patterns for Payload and Next.js

Use Payload's discriminated unions, typed renderer maps, exhaustive checks, relationship narrowing, and wrapper contracts without spreading casts.

TypeScriptPayload CMSNext.js
Quality & community

Why Every Live Preview Has a Demo Twin

Preserve the site/runtime boundary with static preview twins, class-mirror tests, accessibility isolation, and component-level visual baselines.

ArchitectureComponent previewsTesting
Quality & community

Visual Regression Testing a Component Registry

Capture stable preview routes, compare platform baselines, gate component coverage, and review intentional visual change without hiding skips.

Visual testingPlaywrightComponent registry
Quality & community

How to Add a Payload Component End to End

Ship source, manifest, registry entry, component docs, demo twin, installer coverage, and visual evidence as one complete contribution.

ContributingPayload CMSOpen source
Quality & community

Building a Reproducible shadcn-Compatible Registry

Make source registry builds deterministic, schema-valid, path-safe, and verifiable from a clean checkout before public distribution.

shadcnReproducible buildsRegistry
Quality & community

Open Source Requires Provenance, Not Just a License File

Record upstream authorship, licenses, adaptations, assets, and distribution obligations so reusable source keeps its history.

Open sourceProvenanceCommunity
Quality & community

How Real Installs Should Shape an Open-Source Component Roadmap

Turn install evidence, reproducible friction, public issues, and complete contributions into a community roadmap that reflects real Payload projects.

Open sourceCommunityRoadmap
Project notes

Payload CMS block not showing? Check the four wiring steps

Find the missing Payload CMS block registration, renderer mapping, generated type, or admin import map step.

Installer internalsPayload CMSOpen source
Project notes

Hello — and why I built Payload Components

A quick hello, the itch that started this, and what you'll find on this blog.

Project notesOpen sourcePayload CMS