Rollin Logo
Optimizely CMS: From Simple Website Builder to Modern Digital Platform

Optimizely CMS: From Simple Website Builder to Modern Digital Platform

Alex Rollin
Alex Rollin
2025-06-22
When EPiServer launched in Sweden in the early 2000s, it was just another content management system built on Microsoft's .NET stack. Today, after rebranding to Optimizely, it's a complete digital experience platform that helps companies create personalized web experiences.

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.

Share this article

Ready to start
your project?

Our development team is ready to transform your vision into reality and bring your next innovation to life.