Jacob Pretorius
+5
Apr 19, 2022
visibility 6371
star star star star star
(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.

error Please login to comment.
Latest blogs
LanguageMaster! From Managing to Mastering Languages!

Two years ago, I released my first Optimizely add-on . It was an extension to the Labs.LanguageManager tool from Optimizely that allowed the user t...

Matt Pallatt | Jul 2, 2026

List Properties of a Optimizely Content Type programmatically

Properties are simply fields used to create a content type in Optimizely. Lets explore how to get a list of properties of a specific content type...

Akash Borkar | Jul 2, 2026

Optimizely CMS SaaS – Chrome Extension to Stop Accidentally Editing Production

If you work with Optimizely CMS SaaS across multiple clients, you know the anxiety — multiple tabs, multiple environments, and one wrong edit away...

Kiran Patil | Jul 1, 2026 |

Optimizely SaaS CMS Contracts: Define Shared Structure Across Content Types

📌 Scope: This post covers Optimizely CMS (SaaS) only — using the @optimizely/cms-sdk toolchain. CMS 13 (PaaS) handles shared structure differently...

Kiran Patil | Jul 1, 2026 |