Harish Yadav
PaaS CMS Administrator CertificationSaaS CMS Administrator CertificationPaaS CMS Developer Certification +2
Apr 23, 2026
visibility 779
star star star star star
(0 votes)

Optimizely CMS 13 host(s) management

One of the features I found most impressive is the way Optimizely CMS 13 handles hosts with clear definition and intent. It may sound low level configuration update but it has direct impact on how your solution handles URLs, routing, preview, redirects, and the separation between CMS and front end.

So what is it, really? 👇

In CMS 13, Optimizely lets you define different application host types depending on whether your solution follows a traditional or headless architecture. This is built around two application types.

  1. Website (out-of-process): This represent headless or decoupled architecure where optimizely manages content and but another application handles rendering ex. react, angular, next.js. With this approach more responsibility typically sits in the front-end layer.
  2. InProcessWebsite : This is traditional setup where website is rendered inside the same ASP.NET Core application as CMS. With this approach Optimizely handles behaviour directly inside application itself.

Application host types support ⚙️

CMS 13 support several hosts types including:

What I found especially interesting is that these host types are not just labels as they reflect clear responsibilities.

I was particularly drawn to RedirectPermanent because it directly connected to a real-world problem I was looking to solve.

A very practical example: non-www → www redirect 🌍

Let’s say your preferred public domain is www.example.com but visitors may also enter example.com (should have valid certificate for apex domain and uses A record)

In an InProcessWebsite setup, a clean solution is to configure:

  1. www.example.com as the Primary host
  2. example.com as RedirectPermanent

That creates a proper 301 redirect from non-www to www.

There are certainly several ways to solve this in Optimizely CMS, but in my view, this is one of the cleanest and most pragmatic approach.

Cheers!

Apr 23, 2026

Comments

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026