How to Evaluate Optimizely CMS for Modern Digital Experience Management
If you're evaluating CMS options or considering upgrading from an older version, here's what you need to know about Optimizely's evolution and current capabilities. I'll walk you through the major changes, show you what's new in CMS 13, and give you practical examples of how to build with it.
How Optimizely Digital Experience Platform Evolved from EPiServer
Optimizely's journey mirrors how web development itself has changed over the past two decades.
The Early Years (2000s-2010s)
EPiServer started as a traditional CMS focused on server-side rendering with ASP.NET Web Forms. You built pages, added content, and everything rendered on the server. It worked well for corporate websites but wasn't built for modern web apps.
The Modern Web Transition (2010s)
As JavaScript frameworks gained popularity, EPiServer adapted. They added ASP.NET MVC support, launched cloud hosting on Azure, and introduced a Content Delivery API for headless implementations. This let developers build React or Angular frontends while still managing content through EPiServer.
The Platform Era (2020-Present)
In 2020, Episerver acquired the experimentation platform Optimizely and took their name. This wasn't just a rebrand – it signaled a shift from content management to complete digital experience management. Now you can manage content, run A/B tests, handle e-commerce, and personalize experiences all from one platform.
What Makes Modern Optimizely CMS Different from Traditional Content Management Systems
Composable Architecture
You don't need to buy everything anymore. Want just the CMS? Fine. Need commerce too? Add it. Want experimentation but already have a different CMS? That works too. This modular approach means you pay for what you use and integrate with your existing tools.
Two Deployment Models
PaaS (Platform as a Service): Full control and customization, but you handle updates and infrastructure
SaaS (Software as a Service): Always up-to-date, managed hosting, but less customization
Headless by Design
While you can still build traditional websites, Optimizely now treats headless as a first-class citizen. The Content Delivery API is robust, and the new Visual Builder lets content editors work with headless sites just as easily as traditional ones.
Optimizely CMS 13 Features: The Biggest Update Yet
CMS 13, launching in 2025, represents the most significant upgrade in Optimizely's history.
Graph-First Architecture
Content relationships become more flexible. Instead of rigid hierarchies, you can model content as connected graphs. This makes it easier to reuse content across different channels and create complex content relationships.
Visual Builder
Content editors can now see exactly what they're building, even in headless scenarios. Drag and drop components, edit text in place, and preview changes across different devices – all without touching code.
AI-Powered Features
Smart content recommendations, automated personalization, and intelligent content tagging help content teams work faster and create more relevant experiences.
SaaS Marketplace
Like Shopify's app store, CMS 13 SaaS comes with a marketplace where you can install plugins and extensions without custom development.
Building with Optimizely CMS: A Practical Blog Development Example
Let me show you how to build a simple blog with Optimizely CMS 12. I'll assume you have Visual Studio and basic .NET knowledge.
Step 1: Create the Project
dotnet new epi-alloy-mvc --name MyBlog cd MyBlog dotnet restore
Step 2: Define Your Content Model
Create a blog post content type:
[ContentType( DisplayName = "Blog Post", GUID = "12345678-1234-1234-1234-123456789012", Description = "A blog post with title, content, and publish date")] public class BlogPostPage : PageData { [CultureSpecific] [Display( Name = "Title", Description = "The blog post title", GroupName = SystemTabNames.Content, Order = 1)] public virtual string Title { get; set; } [CultureSpecific] [Display( Name = "Content", Description = "The main blog post content", GroupName = SystemTabNames.Content, Order = 2)] public virtual XhtmlString MainBody { get; set; } [Display( Name = "Publish Date", Description = "When this post was published", GroupName = SystemTabNames.Content, Order = 3)] public virtual DateTime PublishDate { get; set; } [Display( Name = "Author", Description = "Who wrote this post", GroupName = SystemTabNames.Content, Order = 4)] public virtual string Author { get; set; } }
Step 3: Create the View
Create a Razor view at Views/BlogPostPage/Index.cshtml:
@model BlogPostPage@Model.Title
By @Model.Author on @Model.PublishDate.ToString("MMMM dd, yyyy") @Html.PropertyFor(m => m.MainBody)
Step 4: Add API Endpoint for Headless
If you want to expose this content via API:
[ApiController] [Route("api/blog")] public class BlogApiController : ControllerBase { private readonly IContentLoader _contentLoader; public BlogApiController(IContentLoader contentLoader) { _contentLoader = contentLoader; } [HttpGet] public IActionResult GetBlogPosts() { var startPage = _contentLoader.Get(ContentReference.StartPage); var blogPosts = _contentLoader.GetChildren(startPage.ContentLink) .Where(p => p.PublishDate <= DateTime.Now) .OrderByDescending(p => p.PublishDate) .Select(p => new { Title = p.Title, Content = p.MainBody?.ToHtmlString(), Author = p.Author, PublishDate = p.PublishDate, Url = p.ContentLink.ToString() }); return Ok(blogPosts); } }
Step 5: Run and Test
dotnet run
Navigate to /episerver/cms to access the admin interface. Create some blog posts and see them appear on your site.
Optimizely CMS Development: Common Mistakes to Avoid
Overcomplicating Content Models
Start simple. You can always add properties later. Complex inheritance hierarchies are harder to maintain.
Ignoring Performance
Use IContentLoader efficiently. Don't load content in loops. Consider caching for frequently accessed data.
Not Planning for Headless
Even if you're building a traditional site now, design your content models with API consumption in mind. You might need headless later.
Forgetting About Editors
Make sure your content types have clear names and descriptions. Group related properties together. Use validation attributes where appropriate.
Optimizely CMS Migration Guide: Upgrading to Modern Versions
If you're upgrading from an older version, here are the key challenges:
CMS 11 to CMS 12
- Upgrade to .NET 6/7
- Update NuGet packages
- Test thoroughly – some APIs changed
EPiServer to Optimizely
- Mostly a rebrand, but some package names changed
- License keys need updating
- Check third-party add-ons for compatibility
Moving to SaaS
- Less customization available
- Some add-ons might not work
- Deployment process changes completely
Real-World Optimizely CMS Performance Improvements and Case Studies
Companies seeing significant improvements after upgrading:
Capitec Bank cut their page load time by 75% and saw 33% more users after migrating to a newer version with integrated testing capabilities.
Stena Fastigheter reduced customer service calls by 50% using personalized content delivery.
These aren't just marketing numbers – modern Optimizely handles traffic better, loads faster, and gives content teams more control.
What's Next for Optimizely Digital Experience Platform
Looking at their roadmap and recent announcements:
More AI Integration
Expect smarter content recommendations, automated SEO optimization, and intelligent content creation assistance.
Improved Visual Builder
The gap between traditional and headless editing will continue shrinking. Content editors will get more visual control regardless of how the frontend is built.
Better Third-Party Integration
More pre-built connectors to popular tools like Salesforce, HubSpot, and analytics platforms.
Making the Right CMS Decision: Is Optimizely Right for Your Business
Optimizely works best for:
- Enterprise organizations with complex content needs
- Teams that want both traditional and headless options
- Companies planning to do A/B testing and personalization
- Organizations with dedicated development resources
It might not be right if:
- You need a simple blog or brochure site
- Budget is tight (licensing costs add up)
- You don't have .NET developers
- You want a completely open-source solution
Getting Started with Optimizely CMS: Next Steps for Implementation
If you're considering Optimizely:
- Try the free developer edition to get hands-on experience
- Attend Optimizely World (their annual conference) for deep dives and networking
- Connect with certified partners if you need implementation help
- Start with CMS 12 now, then plan your CMS 13 upgrade for when it's stable
Optimizely has come a long way from its EPiServer roots. It's now a mature platform that can handle everything from simple corporate websites to complex, personalized digital experiences. The key is understanding what you need and choosing the right implementation approach for your team and requirements.
The platform's evolution reflects how web development itself has changed – from server-rendered pages to API-driven experiences, from one-size-fits-all to composable architectures. Whether that evolution aligns with your needs depends on your specific situation, but it's worth understanding what's possible with modern Optimizely.