<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Blog posts by Harish Yadav</title><link href="http://world.optimizely.com" /><updated>2026-04-23T19:13:50.0000000Z</updated><id>https://world.optimizely.com/blogs/harish-yadav/</id> <generator uri="http://world.optimizely.com" version="2.0">Optimizely World</generator> <entry><title>Optimizely CMS 13 host(s) management</title><link href="https://world.optimizely.com/blogs/harish-yadav/dates/2026/4/optimizely-cms-13-hosts-management/" /><id>&lt;p class=&quot;ember-view reader-text-block__paragraph&quot;&gt;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 &lt;strong&gt;URLs, routing, preview, redirects, and the separation between CMS and front end&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 class=&quot;ember-view reader-text-block__heading-3&quot;&gt;&lt;strong&gt;So what is it, really?&lt;/strong&gt; &#128071;&lt;/h3&gt;
&lt;p class=&quot;ember-view reader-text-block__paragraph&quot;&gt;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.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Website (out-of-process):&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;InProcessWebsite :&lt;/strong&gt; 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.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 class=&quot;ember-view reader-text-block__heading-3&quot;&gt;&lt;strong&gt;Application host types support &lt;/strong&gt;⚙️&lt;/h3&gt;
&lt;p class=&quot;ember-view reader-text-block__paragraph&quot;&gt;CMS 13&lt;strong&gt; &lt;/strong&gt;support several hosts types including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;vBYnWVkPRypFSfHBTqJeVZIGbkWsgwTk &quot; href=&quot;https://docs.developers.optimizely.com/content-management-system/v13.0.0-CMS/docs/application-framework#primary&quot;&gt;Primary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&quot;vBYnWVkPRypFSfHBTqJeVZIGbkWsgwTk &quot; href=&quot;https://docs.developers.optimizely.com/content-management-system/v13.0.0-CMS/docs/application-framework#default&quot;&gt;Default&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&quot;vBYnWVkPRypFSfHBTqJeVZIGbkWsgwTk &quot; href=&quot;https://docs.developers.optimizely.com/content-management-system/v13.0.0-CMS/docs/application-framework#preview&quot;&gt;Preview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&quot;vBYnWVkPRypFSfHBTqJeVZIGbkWsgwTk &quot; href=&quot;https://docs.developers.optimizely.com/content-management-system/v13.0.0-CMS/docs/application-framework#edit&quot;&gt;Edit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&quot;vBYnWVkPRypFSfHBTqJeVZIGbkWsgwTk &quot; href=&quot;https://docs.developers.optimizely.com/content-management-system/v13.0.0-CMS/docs/application-framework#redirectpermanent&quot;&gt;RedirectPermanent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&quot;vBYnWVkPRypFSfHBTqJeVZIGbkWsgwTk &quot; href=&quot;https://docs.developers.optimizely.com/content-management-system/v13.0.0-CMS/docs/application-framework#redirecttemporary&quot;&gt;RedirectTemporary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&quot;vBYnWVkPRypFSfHBTqJeVZIGbkWsgwTk &quot; href=&quot;https://docs.developers.optimizely.com/content-management-system/v13.0.0-CMS/docs/application-framework#media&quot;&gt;Media&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;ember-view reader-text-block__paragraph&quot;&gt;What I found especially interesting is that these host types are not just labels as they reflect clear responsibilities.&lt;/p&gt;
&lt;p class=&quot;ember-view reader-text-block__paragraph&quot;&gt;I was particularly drawn to &lt;strong&gt;RedirectPermanent&lt;/strong&gt;&amp;nbsp;because it directly connected to a real-world problem I was looking to solve.&lt;/p&gt;
&lt;h3 class=&quot;ember-view reader-text-block__heading-3&quot;&gt;&lt;strong&gt;A very practical example: non-www &amp;rarr; www redirect&lt;/strong&gt; &#127757;&lt;/h3&gt;
&lt;p class=&quot;ember-view reader-text-block__paragraph&quot;&gt;Let&amp;rsquo;s say your preferred public domain is &lt;strong&gt;www.example.com&lt;/strong&gt;&lt;strong&gt; b&lt;/strong&gt;ut visitors may also enter &lt;strong&gt;example.com&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;&lt;em&gt;(should have valid certificate for apex domain and uses A record)&lt;/em&gt;&lt;/p&gt;
&lt;p class=&quot;ember-view reader-text-block__paragraph&quot;&gt;In an &lt;strong&gt;InProcessWebsite&lt;/strong&gt; setup, a clean solution is to configure:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;www.example.com&lt;/strong&gt; as the &lt;strong&gt;Primary&lt;/strong&gt; host&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;example.com&lt;/strong&gt; as &lt;strong&gt;RedirectPermanent&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class=&quot;ember-view reader-text-block__paragraph&quot;&gt;That creates a proper &lt;strong&gt;301 redirect&lt;/strong&gt; from &lt;strong&gt;non-www&lt;/strong&gt; to &lt;strong&gt;www&lt;/strong&gt;.&lt;/p&gt;
&lt;p class=&quot;ember-view reader-text-block__paragraph&quot;&gt;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.&lt;/p&gt;
&lt;p class=&quot;ember-view reader-text-block__paragraph&quot;&gt;Cheers!&lt;/p&gt;</id><updated>2026-04-23T19:13:50.0000000Z</updated><summary type="html">Blog post</summary></entry></feed>