Overview
Pages serve as your primary content structure for individual web pages, articles, landing pages, or any content with a URL. Pages provide advanced functionality that distinguishes them from Collections and Blog Posts. Unique Page capabilities- Components: Structured content blocks including individual components and component picker fields for dynamic layouts
- Repeaters: Fields that allow multiple instances of the same field structure
- Form integrations: Direct integration with third-party form services
- Slug-based retrieval: Human-readable URL identification system
- True versioning: Draft versions can be created over existing published content
Page types
Pages can be structured as Single Pages (unique pages like Homepage) or Page Types (templated pages that share the same field structure). Page Types enable you to create multiple pages with consistent schemas while maintaining individual content.| Type | Description | Example |
|---|---|---|
| Single Page | A one-off page with a unique schema | Homepage, Contact Us |
| Page Type | A template shared across multiple pages | Landing pages, Product pages |
Publication states
Pages support a three-state lifecycle:| State | Description | API Access |
|---|---|---|
| Draft | Content accessible only via preview mode | ?preview=1 |
| Published | Live content served through global CDN | Standard endpoints |
| Scheduled | Automatically published at a specified time | Preview until publication |
Preview
Preview lets content teams review draft pages in full website context before publishing. Workflow:- Configure preview URLs for Page Types in your ButterCMS dashboard
- Content creators click Preview and are redirected to your preview URL with
preview=1 - Your application detects the parameter and includes it in API calls
- Draft page content is returned and displayed in complete website context
preview=1 in development and staging environments.
Reference architecture
Pages participate in ButterCMS’s reference system, enabling content relationships and reusable data patterns.Page-to-page references
Reference fields pointing to other pages use slugs as identifiers:Page-to-collection references
Pages can reference Collection items using numeric IDs:Managing references
Adding references: Provide the appropriate identifier (slug for pages, ID for collections) in Write API requests. Removing references — use the appropriate empty value:| Relationship | Empty value |
|---|---|
| One-to-one | "" (empty string) or null |
| One-to-many | [] (empty array) or null |
- PATCH: Omitted reference fields remain unchanged
- PUT: For Pages, PUT behaves like PATCH (partial update)
Reference levels
Thelevels parameter controls how deeply reference fields are resolved in API responses.
| Value | Behavior |
|---|---|
1 | Reference fields return API URIs only (minimal data transfer) |
2 (default) | Reference fields return complete objects |
3–5 | Deeper resolution for nested reference chains |
5 (max) | Returns URIs for any remaining references beyond specified depth |
- Use
levels=1for page listings or navigation menus - Use
levels=2(default) for standard page display - Use
levels=3–5for pages with complex nested references - Note: responses are capped at 10MB — reduce
levelsif approaching this limit
Localization
Pages can maintain separate content versions for each configured locale. Account configuration: Locale support must be configured in your ButterCMS account settings before creating multi-language pages. API integration:- Single-language: Direct
fieldsobject (no localization configured) - Multi-language: Fields nested under locale codes (e.g.,
"en","es")
Next steps
Pages — components
How to work with individual components and component picker fields
Read API — Pages
Fetch pages via the Read API
Write API — Pages
Create and update pages via the Write API
Collections — key concepts
Learn how Collections work