Optimizely CMS
-
Optimizely CMS 13 breaking changes: GetContentTypePropertyDisplayName EN
When upgrading from CMS 12 to 13, resolving property display names may not work as before. Here’s what changed.
-
Optimizely CMS 13 breaking changes: IValidate<T> EN
Custom IValidate
validators in Optimizely CMS 13 are no longer auto-discovered. They must be registered explicitly when upgrading from CMS 12. -
Convert Blocks in Optimizely CMS: Now Supporting CMS 12 and CMS 13 EN
An add-on for Optimizely CMS that lets you convert block types, similar to pages. Now updated for CMS 12 and 13.
-
Optimizely CMS 13 and PageReference is obsolete EN
Learn what to to with the warning: 'PageReference' is obsolete: 'Use ContentReference instead.'
-
Optimizely CMS 13 and the Alloy demo site EN
The Alloy demo site now runs on Optimizely CMS 13. Here’s a quick guide to getting it up and running locally.
-
Optimizely CMS 13 and the first bug fixes EN
The first bug fixes for Optimizely CMS 13 is here!
-
Optimizely CMS 13 and errors when creating pages after upgrade EN
After upgrading to Optimizely CMS 13, I ran into issues creating pages and deleting media. The fix was easy!
-
Optimizely CMS 13 and the new login/admin/edit URL EN
What happened to /episerver/cms after upgrading to Optimizely CMS 13?
-
How to Disable automatic indexing in Optimizely Search & Navigation EN
Learn how automatic event-based indexing works in Optimizely Search & Navigation and how you can temporarily disable it.
-
Disabling the scheduler also stops event-based indexing in Optimizely CMS EN
If you disable the scheduler in Optimizely CMS, should event-based indexing for Search & Navigation stop working too? It does!
-
Running Optimizely CMS 12 on .NET 10 in Azure EN
Upgrade your Optimizely CMS website to .NET 10!
-
Optimizely CMS Roadmap – AI, automation and the future of digital experiences EN NO
A summary of the roadmap for Optimizely CMS from the Opticon conference on September 30, 2025.
-
Get last edited content from Optimizely CMS EN
Learn how to query the last updated blocks and pages from Optimizely CMS
-
Get last run of a scheduled job in Optimizely CMS EN
Learn how to get the last execution time of a scheduled job in Optimizely CMS.
-
Optimizely CMS and HTML validation message: Trailing slash on void elements has no effect and interacts badly with unquoted attribute values. EN
When using the W3C Markup Validation Service, some annoying information messages pop up because Optimizely CMS adds the trailing slash to self-closing tags. Let's fix that!
-
SQL addon for Optimizely CMS 12 updated with new features EN
First released in 2021, the SQL Studio addon for Optimizely CMS lets you query your database directly from the edit UI. The latest update adds support for GPT-5, a new UI for managing saved queries.
-
The remote server returned an error: (400) Bad Request – when configuring Azure Storage for an older Optimizely CMS site EN
How to fix a strange issue that occurred when I moved editor-uploaded files for some old Optimizely CMS 11 solutions to Azure Storage.
-
Enable Opal AI for your Optimizely products EN
Learn how to enable Opal AI, and meet your infinite workforce.
-
Exporting Optimizely databases causing errors EN
Solutions to a couple of recurring issues when migrating databases to the cloud.
-
Managed Identity for Connecting your Optimizely site to a Database in Azure EN
Are you using a connection string with username and password to connect to your Azure database? Use managed identity instead!
-
COGNITIVE_SERVICE_TRANSLATE_ERROR EN
COGNITIVE_SERVICE_TRANSLATE_ERROR
-
Unable to view Optimizely Forms submissions when some values are too long EN
I discovered a form where the form submissions could not be viewed in the Optimizely UI, only downloaded. Learn how to fix the issue.
-
The missing globe can finally be installed as a nuget package! EN
Do you feel like you're dying a little bit every time you need to click "Options" and then "View on Website"? Do you also miss the old "Globe" in Optimizely CMS? Your prayers have been heard: a NuGet package is available, and the Globe is back!
-
Increase timeout for long running SQL queries using SQL addon EN
Learn how to increase the timeout for long running SQL queries using the SQL addon.
-
Overriding the help text for the Name property in Optimizely CMS EN
I recently received a question about how to override the Help text for the built-in Name property in Optimizely CMS, so I decided to document my process for figuring it out...
-
Custom form element view in Optimizely CMS 12 EN
Do you want full control over the form element markup? Create your own views!
-
Set Default Culture in Optimizely CMS 12 EN
Take control over culture-specific operations like date and time formatting.
-
I'm running Optimizely CMS on .NET 9! EN
It works 🎉
-
XSS Vulnerabilities Patched with TinyMCE 6.8.4 EN
Two different XSS vulnerabilities were fixed in the latest update of the NuGet package EPiServer.CMS.TinyMce. Update today!
-
Change texts in TinyMCE, inside Optimizely CMS 12 EN
Not happy with some of the default texts in TinyMCE? Don't worry, simply update them.
-
Problem with language file localization after upgrading to Optimizely CMS 12 EN
Avoid common problems with xml file localization when upgrading from Optimizely CMS 11 to CMS 12.
-
Add your own tools to the Optimizely CMS 12 admin menu EN
The menus in Optimizely CMS can be extended using a MenuProvider, and using the path parameter you decide what menu you want to add additional menu items to.
-
Optimizely CMS and weekly updates EN
Learn how reporting bugs in Optimizely CMS not only helps improve the platform but also benefits you and the entire user community.
-
Set icon for your Optimizely CMS custom form elements EN
Set your own icon on custom form elements in Optimizely CMS
-
Optimizely CMS image anonymization now available for Linux! EN
The famous image anonymization add-on for Optimizely CMS, with at least 5 downloads, is now finally available for use on Linux. Supports simultaneous anonymization of unlimited(?) numbers of faces. Perfect for data storage in the EU, where GDPR imposes strict restrictions on the use of personal information.
-
Auto-translate with OpenAI GPT-4o in Optimizely CMS EN
Improvements for Episerver.Labs.LanguageManager! It's now possible to auto-translate both a page and its children at the same time! Additionally, my new extension allows for OpenAI GPT-4o, or any other model from OpenAI, to be used as the translation provider.
-
Microsoft announces Natural language to SQL EN
Finally, Microsoft launches "Natural language to SQL," after it has been available for several months in Optimizely CMS!
-
Do not upgrade to EPiServer-CMS-Core 12.21.4 without reading this! EN
Todays update of EPiServer.CMS.Core 12.21.4 alters default sort order in an unexpected way, when you are working with muligple languages and have fallback languages set up. Please do test this throughly, if you want to update.
-
New Security Improvement released for Optimizely CMS 11 EN
A new security improvement has been released for Optimizely CMS 11. You should update now!
-
Optimizely and the never-ending story of the missing globe! EN
I've worked with Optimizely CMS for 14 years, and there are two things I'm obsessed with: Link validation and the globe that keeps disappearing on me! Now, the globe is back again!
-
Identify Azure web app instance id's for an Optimizely CMS site EN
When running Optimizely CMS in Azure, you will be using an instance bound cloud license. What instances are counted, and how can you check them? Let me explain...
-
Adjust log levels in Optimizely DXP EN
You may adjust the log levels for your site in Optimizely DXP yourself, but only for the Integration environment. Follow this step-by-step guide.
-
Copy database and blobs to Optimizely DXP EN NO
It's easier than ever to import blobs and databases into the Optimizely DXP integration environment without involving support.
-
List number of pages per pagetype in Optimizely CMS EN
Learn how to identify the most frequently used content types in your Optimizely CMS installation using SQL.
-
I'm running Optimizely CMS 12 on .NET 8! EN
.NET 8 is launched, and the Optimizely team has announced support for .NET 8 in Optimizely products. Still, I had some problems. This is how I solved them.
-
Open AI GPT - using AI to feed an AI: Talk to my blog! EN
This Monday, OpenAI rolled out custom versions of ChatGPT that you can create for a specific purpose, called GPTs. It essentially functions as a chatbot with the powers of GPT-4. I used Optimizely Graph semantic search for my first GPT, so I can talk to my blog!
-
Sortable enum properties for Optimizely CMS EN
Enum properties in Episerver/Optimizely has been used for more than 10 years. I've made a few minor enhancements.
-
Semantic, AI-powered, search is coming to Optimizely CMS EN
The all new semantic AI powered search feature, and GraphQL API, for Optimizely CMS is finally released! Check it out!
-
Translating UI elements in Optimizely CMS 12 EN
When Optimizely CMS is part of your website, most of your content will probably be translated using the localization features of the CMS. However, a few global texts might be practical to handle outside the CMS. Don't screw it up!
-
Auto-translate with OpenAI in Optimizely CMS EN NO
You can now auto-translate content using your favorite online AI service, inside the old trustworthy Episerver.Labs.LanguageManager!
-
Unleash AI in the Database! EN
These days, AI is everywhere! Why not put some AI into your database too? What could possibly go wrong?
-
Optimizely CMS 12 and SixLabors.ImageSharp EN
The NuGet package EPiServer.CMS.Core versions up to 12.16.0 included a reference to SixLabors.ImageSharp. Now, that has ended...
-
Optimizely CMS Scheduled Job «Change Log Auto Truncate» timeout EN
How to fix an issue in Optimizely CMS where the scheduled job «Change Log Auto Truncate» would fail with a timeout.
-
Optimizely CMS with new menu system EN
Optimizely CMS 12.22.0 introduced a new menu system and support for Optimizely Identity.
-
Updated Optimizely Link Status Report – Missing property names! EN
A couple of months ago Optimizely CMS introduced Deep linking from broken links report to Optimizely edit mode! One problem I discovered was that the «Property Name» does not show up in the Link Status report for existing content until you publish a change. I propose a fix!
-
Optimizely CMS Link Validation Job now finally uses GET instead of HEAD! EN
Previously the Optimizely CMS Link Validation job has used HTTP HEAD to check the status of external links. This has led to a lot of links erroneously being incorrectly listed as broken. As of today, Optimizely has started using HTTP GET!
-
Automatic Alt Text for images using Optimizely CMS 12 EN
You may use this addon to generate alt text for your images automatically, which enhances accessibility, SEO, and assists content creators. The addon may also generate other types of relevant meta data.
-
Deep linking from broken links report to Optimizely edit mode EN
Optimizely CMS adds deep linking from broken links report to edit mode. Makes it easier to track down those broken links!
-
New ways to add content from within TinyMCE in Optimizely CMS 12 EN
Todays update makes it easier to add content directly from TinyMCE!
-
Optimizely finally releases new and improved list properties! EN
For years, the Generic PropertyList has been widely used, despite it being unsupported. Today a better option is released!
-
The new LinkItem property in Optimizely CMS, and why it matters EN
In the past, we have used different tricks to achieve this. Now, the LinkItem property is finally built-in in Optimizely CMS 12!
-
Power Optimizely CMS with the brand new GPT-4 language model! EN
On March 14th, OpenAI released a waiting list for access to their GPT-4 language model, which was also made available for paying users of ChatGPT the same day. I got access 20 minutes ago, and this is how you can use it in Optimizely CMS!
-
Configuring link validation in Optimizely CMS 12 EN
When Optimizely released version 12 of their CMS, it was not possible to configure how links should be validated. Now it is!
-
Power Optimizely CMS using the same language model as ChatGPT EN
On March 1st, OpenAI released their Chat completion API using the gpt-3.5-turbo language model, the same language model used by ChatGPT. Learn how you can add ChatGPT-capabilities to Optimizely CMS.
-
Is there really a RIGHT way to delete content directly in the Optimizely CMS database? EN
What is really the right way? And who decides what's the right way? I don't...
-
Delete content directly from the Optimizely database EN
Do you know your way around the Optimizely CMS database? Deleting, or updating, content directly in the database is pretty straightforward, but of course not recommended...
-
Integrating generative AI in Optimizely CMS: A quick test with OpenAI EN
Some of the new AI services have received a lot of attention recently. Can you integrate them in Optimizely CMS? Of course, you can!
-
Breaking changes in EPiServer.CMS.TinyMce 4.0.0 EN
After upgrading to the latest version of EPiServer.CMS.TinyMce, the dropdown with formats disappears. Learn how to get it back!
-
Image preview in Optimizely CMS12 all properties view EN
With these simple steps, you can now see an Image and its Metadata, including size and dimensions, when editing an Image property in Optimizely Content Cloud 12.
-
Localized page types and properties in Optimizely CMS 12 EN
If you have editors that use different languages, you might want localized content type and property names. Learn how it's done in CMS 12.
-
Upload files larger than 4MB in Optimizely CMS12 EN
The default max file upload size in CMS 12 is 4MB. Learn how to increase it!
-
Optimizely shortcuts in CMS 12 will get a trailing slash appended! EN
Not all URLs will work when the trailing slash is added, and that could cause problems. Hopefully it will be fixed soon.
-
Optimizely CMS running on .NET 7! EN
Can you run Optimizely CMS on .NET 7? Yes! Can you upgrade in less than a day? Probably!
-
Warning CS0618: 'TextIndexer' is obsolete: 'This class is no longer used by CMS and will be removed in a future release.' EN
I do not like warnings, and I prefer to get rid of them. If I upgrade to the latest version of Optimizely CMS and then Install Episerver Search & Navigation – I get this warning.
-
Warning NU1603: EPiServer.Find.Cms 14.2.1 depends on System.Linq.Async (>= 6.0.0 && < 7.0.0) but System.Linq.Async 6.0.0 was not found. An approximate best match of System.Linq.Async 6.0.1 was resolved. EN
I do not like warnings, and I prefer to get rid of them. If I upgrade to the latest version of Optimizely CMS and then Install Episerver Search & Navigation – I get this warning.
-
Bring the Report Center back in Optimizely CMS 12 EN NO
The Report Center has been a part of Optimizely CMS since its first debut in version 5R2 in 2008, but in CMS 12, it's removed! Don't despair! Make your own Report Center!
-
The Report Center is finally back in Optimizely CMS 12 EN
With Episerver.CMS.UI 12.12.0 the Report Center is finally re-introduced in the core product.
-
If you want to upgrade – do not upgrade upgrade-assistant! EN
Today was the day. I was finally ready for upgrading to Optimizely CMS 12! It did not go very well, because I decided to start by upgrading upgrade-assistant.
-
Improve build speed in Optimizely CMS 12 EN
In Episerver.CMS.UI 12.11 that was released today, we are promised improved build speed in projects by copying shell module files only when they change or are missing.
-
Fixing invisible broken links in Optimizely CMS! EN
On some websites, I find broken ghost links in the «Link Status» report! When I open the page in edit mode I'm unable to find them. I went on a ghost busting mission to get rid of them for good! 👻
-
Output cache in Optimizely CMS 12 that vary by visitor group EN
.NET5 and .NET6 has no concept of output caching, and neither does Optimizely Content Cloud 12. When adding output cache, there are a few things to consider - visitor groups are one of them.
-
Upgrade from .NET 5 to .NET 6 EN
.NET 5 has reached end of support - you should update to .NET 6 today!
-
Scheduled Jobs in Optimizely CMS 12 EN
In Optimizely CMS 12 the admin mode is given a real facelift. There are graphs and stuff! But is it still the same under the hood...?
-
Finally kill the EPiStateMarker cookie! EN
Wave goodbye to the EPiStateMarker cookie!
-
Quick and dirty output cache in Optimizely CMS12 EN
.NET5 and .NET6 has no concept of output caching, and neither does Optimizely Content Cloud 12. Don't let that stop you from caching your output!
-
Optimizely CMS 12 can finally convert pages! EN
Optimizely CMS 12 can finally convert pages from one page type to another! Great! But what about blocks and media...?
-
Download database + blobs from your Optimizely DXP project EN
In Optimizely DXP, you can't access the live production environment directly. However, you can still download the database and blobs!
-
GDPR compliant image upload in Optimizely Content Cloud 12 EN NO
Google Analytics might be illegal, cookies can't be used without active consent, GDPR and Schrems II are almost a household name. You should be very careful with personal data, at least if you are based in the EU!
-
Speed-upgrading an add-on for Optimizely CMS 12 🚀 EN
Is it possible to upgrade an add-on to support .NET 5 and Optimizely CMS 12 in just three minutes? Hold my beer!
-
Get your Optimizely Content Cloud developer certification for free! EN
Learn how to renew your Optimizely Content Cloud developer certification for free!
-
Optimizely Content Delivery API - getting started smoothly! EN
The Content Delivery API adds headless capabilities to your traditional Optimizely Content Cloud CMS. Get started smoothly, without doing the same mistakes as I did...
-
Optimizely Content Manager - still not production-ready! EN
Optimizely Content Manager is a lightweight editing UI that aims to make publishing content easier, as it takes away some of the complexity. I like the idea, but here are still some major issues!
-
Developers, developers, developers! EN
When Episerver rebranded to Optimizely, the World website lost its developer focus and the community updates are not as easy to find anymore. Learn where to find them now!
-
Replace the link to the Optimizely User Guide EN
The Optimizely (formerly Episerver) user interface has a link to the User Guide, you can update this link if you want to.
-
Custom icons in the Optimizely/Episerver CMS page tree EN
By default, all pages in your Optimizely page tree look the same. With custom icons, you can add your personal touch, and make it easier to visually separate the different types of pages.
-
Optimizely Content Cloud (CMS) and updates to the database schema EN
When upgrading Optimzely Content Cloud, the database schema might need updating too. Confused? Let me explain...
-
Episerver Scheduled jobs - Add a GUID! EN
A scheduled job is Episerver's/Optimizely's way of running some piece of code at a configurable interval. If there is a chance that code could change in the future, you should add a GUID when you create it!
-
Critical bug in Episerver/Optimizely Forms 4.30.1/4.30.2 - upgrade ASAP! EN
Episerver Forms submission data older than 30 days can be unexpectedly deleted, even if the form is configured to keep submissions forever. If you are using version 4.30.1 or 4.30.2 - I would recommend upgrading ASAP!
-
New Optimizely Most Valuable Professionals! EN
Yesterday Optimizely announced the addition of 11 new Most Valuable Professions - OMVPs! Congrats and welcome!
-
Content Manager Update! EN
Content Manager is finally updated, and it's now possible to create and publish content without going through a bunch of meaningless steps.
-
Lazy loading images in Episerver/Optimizely xhtml string properties EN
Increase web performance by lazy loading images! With native browser support it's easier than ever!
-
Content Manager, the greatest thing since sliced bread? EN
No! Optimizely Content Manager is a lightweight editing UI that aims to make publishing content easier, as it takes away some of the complexity. I like the idea, but here are two main issues left before Content Manager could be used in a production environment.
-
Scroll to the top, and beyond! EN
Do you ever find yourself switching from on-page editing view to all-properties editing view to access basic information about the current page in Episerver CMS? You don't have to do that! Just scroll upwards!
-
New SQL addon for Episerver CMS EN
I enjoy poking around in the Episerver database, so I made an addon to make it easier! Enjoy autocomplete, save your favorite queries for later - but be careful!
-
Real-time Updates: A real-time connection could not be established with the server EN
If you are faced with this error message when you log into Episerver Edit mode, do not fear. It can be easily fixed.
-
Locate Episerver content with restricted access rights EN
If someone deletes a page from an Episerver site, you can figure out what happened by looking at the changelog. What if someone changes access rights? I show how to locate pages that have their access rights set explicitly.
-
Episerver Forms - public access to uploaded files EN
Files uloaded to an Episerver Form, can not be accessed without logging in. Unless...
-
Deploying to Episerver DXP - Part 1: Integration, direct deploy EN
When deploying your site to Episerver DXP, there are so many options. Some are quite fast, some are super slow. I show how to deploy to the Integration environment the fast way, using Azure DevOps.
-
Deploying to Episerver DXP - Part 2: Preproduction and Production, Deployment API EN
When deploying your site to Episerver DXP, there are so many options. I show how to deploy using Azure DevOps, the deployment API, and Epinova's DXP deployment extension.
-
Change text in Episerver TinyMCE UI EN
Descriptive alt texts on images are important, but in TinyMCE the field is called «Image Description». You can change that!
-
Convert Episerver Blocks! EN
Content in Episerver CMS is organized using pages and blocks. If you by accident create the wrong page type, Episerver provides a feature for converting pages to a different page type. But what about blocks? Can they be converted? No! I had a look, and I was able to convert blocks too!
-
Image preview in Episerver all properties view EN
Editing image properties would be more intuitive if we could see both the image and the properties at the same time! Let's add image preview to All properties view!