Jacob Pretorius
Apr 19, 2022
  6022
(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
Optimizely Opal: How to Build Effective Workflow Agents

If you're building workflow agents in Optimizely Opal, this post covers how specialized agents pass context to each other, why keeping agents small...

Andre | May 20, 2026

ReviewPR: An Azure Function That Reviews Your Azure DevOps Pull Requests With Claude

A while back I wrote about an  Azure Function App for PDF creation that we use to offload PDF rendering from our Optimizely DXP site. That same...

KennyG | May 19, 2026

Accelerating Optimizely CMS and Commerce upgrades with agentic AI (Part 2 of 2)

The Real Transformation in Optimizely CMS 13: Why the Upgrade Itself Is the Easy Part. A field-tested playbook for enterprise teams moving from...

Hung Le Hoang | May 18, 2026

Is the most powerful AI model really the best value?

Artificial Intelligence is already becoming part of everyday software development. Developers now use AI tools to generate code, write documentatio...

K Khan | May 16, 2026

Optimizely London Dev Meetup 2026

Well, everyone, it's that time of the year again, and we have another London Developer meet up coming for this summer. The date is set for the 2nd ...

Scott Reed | May 15, 2026

Building a Custom RAG for Optimizely Opal

How to design a standalone RAG service for documents that don't belong in Optimizely One, and expose it to Opal and other AI tools without coupling...

Michał Mitas | May 14, 2026 |