Components are only available for Pages. They are not supported by Collections or Blog Posts.
Overview
Components provide a structured approach to building dynamic page layouts with reusable, predefined content blocks. Developers define component schemas in the dashboard; content creators then populate them with data via the dashboard or Write API. Workflow:- Developer phase: Define component schemas in the ButterCMS dashboard with specific field types and structures
- Content phase: Content creators populate component fields via the dashboard or Write API
- Delivery phase: API responses include structured component data for rendering in your application
Individual components
Single, structured content blocks within a page schema. Individual components maintain consistent field structures while allowing dynamic content updates. API representation — fields are organized as a nested JSON object:image, alt_text, subtitle, and cta_button retain their existing values.
Common use cases: Hero sections, contact information blocks, feature highlights, testimonials.
Component picker fields
Component picker fields combine multiple predefined components in an ordered array, enabling dynamic page layouts with mixed content types. API representation — each element identifies its type by key:Media integration
When a component field is configured with aMedia field type, any URL provided as the value triggers automatic media processing:
- Remote URL is downloaded
- Image is uploaded to your ButterCMS media library
- CDN URL replaces the original URL in the response
Design guidelines
| Concern | Guidance |
|---|---|
| Schema design | Design for reusability; consider common use cases before finalizing field types |
| Field validation | Use ButterCMS field validation to ensure data quality across component instances |
| Naming | Use clear, descriptive names for component types and fields |
| Granularity | Avoid overly complex components (impacts response times) and overly simple ones (increases API calls) |
| Content creator UX | Order and group fields to create intuitive editing workflows in the dashboard |
Next steps
Pages — key concepts
Publication states, references, and localization for Pages
Write API — Pages
Create and update pages with component data