Landing pages and landing-page QA
Creates, edits, previews, QA checks, and publishes AI-assisted landing pages separate from standard experiment variants.
Simple terms
Landing pages are standalone generated pages that Apex can edit, preview, QA, and publish.
Creates, edits, previews, QA checks, and publishes AI-assisted landing pages separate from standard experiment variants.
Routes
/landing-pages/landing-pages/new/landing-pages/[id]/landing-pages/[id]/qa
Implementation behavior
- Landing pages have typed page records, content blocks, versions, publish status, preview URLs, and immutable published bundles.
- Operator chat can edit blocks, generate copy, update structure, and render a new version.
- QA checks a specific page version before it becomes the published/live version.
- Published bundles can be served through the configured landing-page runtime/storage path.
How to use it
- Create a new landing page from a page type and initial content.
- Use Operator to refine blocks, layout, proof points, and copy.
- Preview and QA the version that will be published.
- Publish only after the QA route shows the intended version and target state.
When not to use it
- Do not use landing pages for a small change to an existing product page; use an experiment variant instead.
- Do not publish a version that has not been previewed and QAed.
- Do not use generic generated copy without brand/profile context.
Implementation source
- Pages live under
src/app/(dashboard)/landing-pages. - Handlers include
/api/landing-pages,/api/landing-pages/[id]/chat,/api/landing-pages/[id]/compose,/api/landing-pages/[id]/publish,/api/landing-pages/[id]/qa, and version render routes. - Landing page records, versions, blocks, artifacts, and publish state are persisted separately from experiment variations.
Data and API
- Landing page, version, block, QA, publish, and artifact records.
- APIs under
/api/landing-pages,/api/landing-pages/[id]/compose,/api/landing-pages/[id]/publish,/api/landing-pages/[id]/qa,/api/landing-pages/[id]/versions/[versionId]/render, and/api/landing-pages/preview/[versionId]. - Can reuse assets, store profile facts, and Operator evidence.
Failure modes
- Preview mismatch: ensure the version being QAed is the intended current version.
- Publish target unavailable: check storage/runtime configuration and generated bundle state.
- Generic copy: add brand profile, assets, and precise audience context before generation.