Certification Prep: CMS Developer
Prerequisites
Section titled “Prerequisites”Foundation certification required. You must hold the Optimizely Foundation certification before attempting this Core exam. If you have not completed it yet, start with the Foundation Learning Path.
Exam format
Section titled “Exam format”| Detail | Value |
|---|---|
| Certification tier | Core |
| Track | CMS PaaS |
| Number of questions | 60 multiple-choice |
| Time limit | 90 minutes |
| Passing score | 70% |
| Delivery | Online, proctored |
| Validity | 2 years |
Who this path is for
Section titled “Who this path is for”You are a developer preparing for the Optimizely CMS Developer certification. You have built at least one CMS project and want to validate your skills through the official certification exam. This path covers every exam domain and points you to the documentation that explains each topic in depth.
How to use this path
Section titled “How to use this path”Work through each exam domain in order. For each topic, read the linked documentation, then test your understanding with the self-check questions. If you cannot answer a question confidently, revisit the linked material before moving on.
Estimated total time: 4-5 hours (spread across multiple sessions as needed).
Exam domain 1: Content modeling (25%)
Section titled “Exam domain 1: Content modeling (25%)”The exam tests your ability to design content models that balance editorial flexibility, rendering efficiency, and headless delivery.
Topics to study
Section titled “Topics to study”Read — Content Modeling in Optimizely
- Content types: page types, block types, media types
- Properties and data types (string, content area, content reference, link collection)
- Content type inheritance and the
[ContentType]attribute - GUID management and why stability matters across environments
- Block types as composable building blocks for pages
- Design principles: no orphan types, limit nesting depth, plan for Graph
Read — Create a Content Type
- Creating page types and block types in code
- GroupName organization and AvailableContentTypes restrictions
- Common issues: missing GUIDs, duplicate type names
Reference — Content Type Attributes
- All available attributes and their parameters
- Display options and editor hints
Self-check
Section titled “Self-check”- What happens if two content types share the same GUID?
- When should you use a block type versus a page type?
- How does
AvailableContentTypesaffect the editorial experience?
Exam domain 2: Property configuration (20%)
Section titled “Exam domain 2: Property configuration (20%)”Properties define what editors can enter on each content type. The exam tests detailed knowledge of property types, validation, and editor customization.
Topics to study
Section titled “Topics to study”Read — Define Properties on Content Types
- All property types and their corresponding editor controls
- Validation attributes: Required, StringLength, Range, RegularExpression
- Tab grouping with
[Display(GroupName = "...")] - Selection factories for dropdown properties
- Default values and initialization
Reference — Property Types
- C# type to CMS property to Graph type mapping
- When to use
ContentAreavsContentReferencevsContentReferenceList
Self-check
Section titled “Self-check”- How do you create a dropdown property backed by a custom data source?
- What is the difference between
ContentAreaandContentReferenceList? - How do you organize properties into tabs in the editing interface?
Exam domain 3: Content delivery and Graph (20%)
Section titled “Exam domain 3: Content delivery and Graph (20%)”Modern CMS implementations increasingly deliver content through Optimizely Graph. The exam covers both traditional rendering and headless delivery.
Topics to study
Section titled “Topics to study”Read — Content Delivery with Optimizely Graph
- How Graph indexes CMS content automatically
- The GraphQL API and content type-to-schema mapping
- Traditional rendering vs headless vs hybrid approaches
- Authentication modes and caching strategies
Follow — Set Up Optimizely Graph
- Installing and configuring the Graph package
- Triggering content sync
- Writing GraphQL queries: filtering, sorting, pagination, search
Reference — Graph Query Syntax
- Query structure and field selection
- Filters:
where,orderBy,limit,skip - Full-text search operators
Self-check
Section titled “Self-check”- What triggers a content sync to Graph?
- How do you query only published content in a specific locale?
- What is the difference between HMAC and token-based Graph authentication?
Exam domain 4: Rendering and templating (15%)
Section titled “Exam domain 4: Rendering and templating (15%)”The exam tests your knowledge of the CMS rendering pipeline and how content reaches the browser.
Topics to study
Section titled “Topics to study”Read — What is Optimizely CMS?
- The CMS rendering pipeline: request to content to view
- Razor views and tag helpers
- On-page editing and preview mode
Follow — Build Your First CMS Site
- Creating views for page types and block types
- ContentArea rendering and display options
- Preview and edit mode detection in views
Self-check
Section titled “Self-check”- How does CMS match a content request to a Razor view?
- What attributes control ContentArea rendering behavior?
- How do you detect whether the page is in edit mode from a view?
Exam domain 5: Platform integration (10%)
Section titled “Exam domain 5: Platform integration (10%)”The certification covers how CMS connects to the broader Optimizely One platform.
Topics to study
Section titled “Topics to study”Read — Opti ID and Optimizely One
- How Opti ID provides cross-product authentication
- Organization and role management
- Why unified identity enables Opal and shared analytics
Read — Visitor Groups and Personalization
- Built-in personalization with visitor groups
- Custom visitor group criteria in code
- How personalization connects to experimentation
Self-check
Section titled “Self-check”- What role does Opti ID play in a multi-product Optimizely deployment?
- How do you create a custom visitor group criterion?
Exam domain 6: Development workflow (10%)
Section titled “Exam domain 6: Development workflow (10%)”The exam includes questions about development tooling, deployment, and best practices.
Topics to study
Section titled “Topics to study”- Environment management — How content and code flow between development, staging, and production
- Package management — NuGet packages for CMS and Graph
- Initialization modules — Running code at application startup
- Scheduled jobs — Background processing in CMS
Self-check
Section titled “Self-check”- How do content types synchronize between environments?
- What is the purpose of an initialization module?
- When would you use a scheduled job instead of an event handler?
Study Plan
CMS PaaS Certification
AI Certification Coach
CMS PaaS Exam Preparation
Analyzing...
Weak Spots
Prioritized Study Plan
Final preparation
Section titled “Final preparation”- Review weak areas — Revisit any self-check questions you could not answer confidently.
- Build something — Hands-on practice reinforces concepts better than reading alone. Complete the Build Your First CMS Site tutorial if you have not already.
- Take practice tests — Visit Optimizely Academy for official practice exams.
- Schedule the exam — Book your certification through Optimizely Academy.
What to do next
Section titled “What to do next”After passing the CMS Developer certification:
- Go deeper — Explore the CMS Developer Fundamentals learning path for areas you skipped
- Add experimentation — Take the Experimentation Certification Prep path
- Learn the platform — Take the Platform Certification Prep path