Technical SEO That Ships: Building Google News Sitemaps Into the CMS

Technical SEO is full of work that sounds small in a planning meeting and turns out to be product infrastructure once you start building it. “Add a news sitemap” is one of those requests. If the goal is to be discoverable in Google News, the work is not just about generating XML. You need publication-specificContinue reading “Technical SEO That Ships: Building Google News Sitemaps Into the CMS”

Gated Media Without Fragile Redirects in Optimizely CMS

Restricted media usually looks simple on the whiteboard. If the user can read the asset, serve it. If they cannot, redirect them to sign in. In practice, document protection breaks in much more interesting ways than that. The rendered page may expose a direct asset URL before the request pipeline ever sees it. A redirectContinue reading “Gated Media Without Fragile Redirects in Optimizely CMS”

Moving SSO Configuration From `appsettings` Files to PaaSPortal Without Rewriting the App

That was the interesting part of this configuration update. The visible code change was tiny: the committed value for SSO:AzureAD_ClientSecret was removed from appsettings.json and appsettings.Production.json, leaving the key present but empty. The actual secret was then expected to come from PaaSPortal-managed application settings at deployment time. On paper, that sounds almost too small toContinue reading “Moving SSO Configuration From `appsettings` Files to PaaSPortal Without Rewriting the App”

Why `/episerver/health` Failed Behind CMS Security Layers and How We Fixed It

Health check failures are often diagnosed as an infrastructure problem first. The app must be down. The load balancer must be wrong. The probe configuration must be off. But sometimes the endpoint is perfectly fine and the real issue is much closer to the request pipeline. That was the shape of this fix. The failingContinue reading “Why `/episerver/health` Failed Behind CMS Security Layers and How We Fixed It”

How We Stopped Deleted CMS Pages from Showing Up in Personalized Recommendations

A small recommendation bug can quietly damage trust when deleted or unpublished pages keep showing up in personalized content modules. Here is a practical pattern for validating third-party recommendation URLs against live CMS content before rendering them.

Extending UrlResolver to Generate Lowercase Links in Optimizely CMS 12

When working with Optimizely CMS 12, URL consistency is crucial for SEO and usability. By default, Optimizely does not enforce lowercase URLs, which can lead to duplicate content issues and inconsistent link structures. In this blog, we’ll explore how to extend UrlResolver to ensure all generated URLs are in lowercase.

Building an Interactive Hotspot Editor in Optimizely CMS 12

Have you ever wanted to let content editors place interactive hotspots directly on an image—without leaving the CMS? In this post, I’ll walk through how we built a custom Hotspot Module in Optimizely CMS 12 that does exactly that. What We BuiltThis solution allows editors to:* Upload a background image.* Click directly on the imageContinue reading “Building an Interactive Hotspot Editor in Optimizely CMS 12”

Custom ContentArea Converter for Optimizely CMS 12 in a Headless + PaaS Architecture

When building headless websites with Optimizely CMS 12 using the Content Delivery API, ContentArea properties can be tricky. By default, they return minimal references to nested content—not the rich, expanded content structures modern frontends need. In this post, I’ll walk through how we solved that by implementing a custom ContentArea converter, giving full control overContinue reading “Custom ContentArea Converter for Optimizely CMS 12 in a Headless + PaaS Architecture”

Enhancing the Authoring Experience: Extending the LinkItem

The LinkItem field is one of the most demanded properties by the community, allowing editors to effortlessly create and manage links across pages and blocks. It was introduced on CMS 12 – EPiServer.CMS 12.11.0 and this blog post will show how it can be extended to have a better authoring experience.

Optimizely CMS – Allow Forms to Redirect to Media Assets

Optimizely Forms is a powerful add-on that can improve the experience for authors to create custom forms as needed with plenty of capabilities. It can be also extensible, so a developer can implement custom form elements and add complex logic to forms to accommodate the user’s needs and the client’s requirements. Forms can be configuredContinue reading “Optimizely CMS – Allow Forms to Redirect to Media Assets”