A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Jacob Pretorius
Apr 19, 2022
  5335
(12 votes)

Unpublish Content the Intuitive Way

Being someone with a technical background who is also "client-facing" means, quite often, that you are the person who has to explain a lot of the platform functionality to the "business" minded folk.

That's all fun and games as quite often people with no past experience with Optimizely directly, or even CMS/Commerce solutions as a whole, bring with them lots of weird and wonderful questions. Often with even weirder answers leading to interesting observations.

One that I've been asked more times than I can count is "How do I unpublish this content?".

Oh, it's super simple. See you're in preview mode now so scroll up so that hidden grey menu appears. Then click the "Tools" dropdown. Now click "Manage Expiration and Archiving". Then on that popup click the "now" next to "Expire date". Ok now click "Save". See super easy!

"That's.. weird 🤔"

Actually, come to think of it; yes, yes it is.

So I made a plugin for CMS 12 that makes it a bit more intuitive and puts the "Unpublish" functionality right where you (okay maybe not you, but the business person signing off our invoices) would expect it to be.

All you need to do is install it via the Optimizely NuGet feed and then add the below to your Startup.cs 

public void ConfigureServices(IServiceCollection services)
{
    // The usual stuff omitted

    // using dotcentric.Optimizely.Unpublish;
    services.AddUnpublish();
}

As usual, the code for this plugin can also be found on GitHub.

*Update*

Seems like this tiny change resonated with more people than I thought it would and I've had a few requests to see if we can get it added to the CMS core product. If you'd like to help make that happen please vote for it here https://feedback.optimizely.com/ideas/CMS-I-280

Apr 19, 2022

Comments

Johnny Mullaney
Johnny Mullaney Apr 19, 2022 11:39 AM

This is really neat. Thanks Jacob

Mari Jørgensen
Mari Jørgensen Apr 19, 2022 06:18 PM

Nice. Should be added to core product!

Giuliano Dore
Giuliano Dore Apr 20, 2022 08:08 AM

Really neat

PELLE NIKLASSON
PELLE NIKLASSON Apr 20, 2022 09:55 AM

Nice!

Surjit Bharath
Surjit Bharath Apr 27, 2022 06:21 PM

Love it!

KennyG
KennyG May 12, 2022 06:23 PM

Sounds like you've been talking to my users! :)

Sep 10, 2025 05:34 AM

Jacob Pretorius's article sheds light on the often-overlooked challenge of content unpublishing in Optimizely, highlighting the unintuitive process that can confuse non-technical users. His solution—a plugin that streamlines the unpublishing process—offers a practical approach to enhance user experience. At Aimgrip, we recognize the importance of intuitive interfaces and appreciate solutions that bridge the gap between technical complexity and user accessibility. This insight is valuable for anyone looking to improve content management workflows.

Please login to comment.
Latest blogs
Building simple Opal tools for product search and content creation

Optimizely Opal tools make it easy for AI agents to call your APIs – in this post we’ll build a small ASP.NET host that exposes two of them: one fo...

Pär Wissmark | Dec 13, 2025 |

CMS Audiences - check all usage

Sometimes you want to check if an Audience from your CMS (former Visitor Group) has been used by which page(and which version of that page) Then yo...

Tuan Anh Hoang | Dec 12, 2025

Data Imports in Optimizely: Part 2 - Query data efficiently

One of the more time consuming parts of an import is looking up data to update. Naively, it is possible to use the PageCriteriaQueryService to quer...

Matt FitzGerald-Chamberlain | Dec 11, 2025 |

Beginner's Guide for Optimizely Backend Developers

Developing with Optimizely (formerly Episerver) requires more than just technical know‑how. It’s about respecting the editor’s perspective, ensurin...

MilosR | Dec 10, 2025