PageData interface
Pages
PageData: slug, layout, blocks, SEO
PageData interface
Each page is a PageData object. Define them in sites/{name}/pages/*.ts or fetch from Payload.
Required fields
title— Page titleslug— URL path (e.g.about→/about)
Layout
layout?: 'landing' | 'standard' | 'docs'
landing— Full-width hero, no breadcrumbs (home, marketing)standard— Breadcrumbs, container (default for content pages)docs— Sidebar, TOC, prev/next (documentation)
See Layouts for details.
Blocks
blocks?: ContentBlock[] — Array of block objects. Each has blockType and type-specific props. See Blocks Overview.
SEO
seo?: {
metaTitle?: string
metaDescription?: string
ogImage?: string | { url: string }
noIndex?: boolean
canonicalUrl?: string
}
transformPageData uses these for meta tags and <title>.
Docs layout fields
When layout: 'docs':
docsSection— Sidebar section header (e.g. "Getting Started")docsOrder— Order within section (lower = first)outline— TOC items:{ title, id, depth }[]
Other optional fields: description, draft, date, tags, contentType, eventDate, topNav.
Next: Layouts