---
title: Publish versions of content
slug: cms-12/docs/publish-versions-of-content
docTags: 
createdAt: 2026-08-10T15:55:59.000Z
---

Optimizely Content Management System (CMS) has sophisticated support for advanced content creation and publishing management involving multiple editors. The draft concept is central, ensuring that work-in-progress is never externally exposed until it is **actively published**. Your publishing options depend on the content status and access rights. Available actions, content status, and notifications are [indicated in the status bar at the top](https://support.optimizely.com/hc/en-us/articles/4413192329485).

Publishing involves creating a draft, publishing the final version, and managing versions. The steps apply to different types of content, such as pages, blocks, media, or products (if you have Optimizely Commerce Connect installed on your website).

Video: Publish content

![video icon](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/eKRAWfIdWdkIz7ftjZTjO-20260720-145545.svg)

Video tutorial: [Publish content](https://optimizely.wistia.com/medias/o09vwleqdo) (4:18 minutes)

See also: [Control the publishing process](docId\:PKyngVMNiDs4KazRhVLEq).

## Publish actions

When you create or update content, you can perform a number of actions to create drafts, undo changes, set content ready for review, publish directly or schedule publishing at a later stage, and so on.

### Create drafts and autosaving

Whenever you create new content or edit existing content, a **draft** version is automatically created.

New content is not publicly available on the website until you publish it. Changes to [content properties](docId\:d3R8i01k20fkNNZR7zagr) are immediately **autosaved** by the system. Versioning is not used for drafts, which means that you and other editors can work on the same draft over time but you still will have only one version of the draft.

### Undo and revert to published

While editing, select **Undo** in the [page information area](https://support.optimizely.com/hc/en-us/articles/4413192329485#pageinformation) lets you undo changes to content that was previously autosaved.

![undo changes to content that was previously autosaved](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/OVcFH3x2T9t1SFIXnfctG-20260720-145545.png)

- Select **Undo** to discard the changes done since the last autosave.

  :::hint{type="info"}
  **Note**

  You can only undo changes you have made during the current editing session. As soon as you move to another page, close the browser, log out, and so on, the history of actions that can be undone is emptied.
  :::
- Select **Redo** if you discarded your changes through **Undo** and want to take them back again.
- Select **Revert to Published** to go back to the latest published version, if the content was previously published. Note that this deletes your current draft and you need Delete access rights for this option. It is also available on the Publish menu.

### Preview and compare

You can preview content appearance using the **Preview mode** option in the top toolbar. You can also preview content by language, audience, or display channel if these are used on your website; see [Previewing](docId\:q4HhINW0rTUAwtdaBrhqp).

You can also compare different content versions by using the **Compare version** option in the top toolbar; see [Comparing versions](docId:4fWBt34aEsBWEDV88AKpi).

### Publish

When done editing, click **Publish?** at the top and then **Publish** (or **Publish Changes**, if you are editing previously published content). The content is immediately published and publicly available on the website, provided that no [access restrictions](docId\:BuM7TW9cDn5dk53OVH-PE) apply. Click **View on website** to view the content as it appears on the website.

You can also republish on older version of a page, see [Managing versions](docId\:wv4E12dJGXVlrYYjDEQIi).

If you want to publish the page at a later time, see [Scheduling for later publishing](docId\:wv4E12dJGXVlrYYjDEQIi).

### Publishing for different time zones

The time for publishing is determined by the local time zone of the editor who publishes or schedules a page. This means that if you are working as an editor in London, UK, and you want to publish page A at 8 AM New York time and page B at 8 AM Tokyo time, you need to find out what the corresponding time is in London. In this example, you would have to publish page A at 1 PM and page B at midnight UK time.

### Set Ready to Publish

If you do not have publishing access rights, or if you want your changes to be approved by someone else before publishing, use the **Ready to Publish** option to mark the content as ready for approval and publishing. **Withdraw and Edit** lets you take back content for further editing after sent for approval.

### Set Ready for Review

If your site is set up to use content approvals, your content may have to be approved by one or more approvers before it can be published. In that case, you do not have the **Publish?** option, and you have to set the content to **Ready for Review** when you are done. Doing this starts the approval sequence. When all approvers have approved the content, you are notified and you can publish the content or schedule it for late publishing. See [Content approvals](docId\:xwoKeGcNqZeT_hgshRkmP).

### Approve content

If you are an appointed reviewer for a content item, you can **approve** changes for the content item when it is in status **Ready for Review** and at the approval step where you have been set as reviewer. You can also decide to decline the changes, in which case the content version status is set to **Rejected**. This does not mean that the latest changes disappear, only that the content needs to be edited and reviewed again before it can be approved and published. You can monitor content status and related tasks under [Tasks in edit view](docId\:YVDlNBYlqrxi1xSQ0t7ak).

If you have [Administer](docId\:e3x3piHYkRsoW3PVOv6i2) rights to the content item, you can also approve the entire approval sequence and also cancel the review request.

See [Content approvals](docId\:xwoKeGcNqZeT_hgshRkmP) for more information.

![Approve content](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/bzMKh0NZgeNoGFXCgnWtV-20260720-145545.png)

### Schedule for later publishing

If you have publishing access rights, you can schedule the publishing to occur at a later occasion. Select the **Schedule for Publish** option, and set the date and time when you want the content (new or updated) to be published. This applies to both newly created content, and changes to existing content.

### Remove scheduling and create new drafts

Content that is scheduled for publishing, is locked for editing. Select the **Remove Scheduling and Edit** option to interrupt the scheduled publishing and continue editing the selected version.

Selecting **New Draft from Here** creates a new draft, **based on the scheduled version**, which is still published at the scheduled time. You can continue working on the new draft, and apply publishing actions for this, as desired. An advanced scenario would be to apply multiple publishing occasions for different versions of a campaign page, having them replace each other in a desired order.

## Manage versions

If you need to backtrack and use an older version of a page or if you are managing multiple language versions, there are a number of tasks you can perform from the version list by using the options menu (**...**) at the bottom of the Versions gadget. See the Gadgets section in the [User interface](docId:8Sk7d_-r_KZsgaBXHpV3e) topic for how to install the **Versions** gadget. See also [Compare versions of content](docId\:R4iemLopYO5aCrZwpqJLi) for information on working with versions.

![Manage versions](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/403O6j3jils5SBptz5CQ0-20260720-145545.png)

Click the column headers to sort the version list according to language, status and more.

:::hint{type="info"}
**Note**

You need to add the versions gadget to the navigation or assets pane to see the version list.
:::

### View versions

Content can have the following status in the version list:

- **Draft** – Content that is a work-in-progress and is not yet subject to any publishing actions.
- **Published** – The most recently published version and the one publicly displayed. Only one published version can exist.
- **In review** – Content must be approved before it can be published. See [Content approvals](docId\:xwoKeGcNqZeT_hgshRkmP).
- **Previously Published** – One or more versions that were published before the latest published version.
- **Ready to Publish** – Content awaiting approval and publishing.
- **Rejected** – The content was set as **Ready for Review** or **Ready to Publish** and an approver has rejected the content. You can edit and update the rejected content and then set it to **Ready for Review** or **Ready to Publish** again.
- **Scheduled for Publish** – Content scheduled to be published at a specified time.
- **Expired** – Content where a stop publish date and time is set and passed. The stop publish date applies to all versions of a page, which means that you cannot have one version of a page that is expired and one that is published.

### Set the primary draft

:::hint{type="info"}
**Note**

Versioning works differently if you are working with projects. For a more detailed description on how Optimizely handles versioning in projects, see [Versioning when working in projects](https://support.optimizely.com/hc/en-us/articles/4413192329485).
:::

The **primary draft** is the draft presented in edit view, when accessing the content. Multiple drafts may exist, by default the latest saved edited version is the primary draft.

Use the **Set as Primary Draft** option in the version list to make another draft the primary one.

A content item that is not published can have only one draft. You can create multiple drafts from published versions, each draft is editable individually and you can schedule for publishing at different times. There are no versioning of drafts so there is only one version of each draft.

### Edit and delete versions

The content version selected in the version list is loaded into the editing area, from where you can edit the content or perform other available publishing actions.

Select the **Delete Version** option to delete a version. Content versions are not supported by trash management. So, when you delete a version in the versions gadget, the version is permanently deleted.

:::hint{type="info"}
**Note**

The version with status **Published** cannot be deleted, to do this another version needs to be published first. Deleting content versions cannot be undone. You can disable the ability to delete versions in the administration view.
:::

### Manage language versions

If the selected content exists in [multiple languages](docId:89lPr8Ur8RZ1ywZGIr-6K), language versions are displayed with a language code. To filter versions for a desired language, select **Show Content in Current Language Only** in the version list.

![Manage language versions](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/0KAn4-SaxiF3SnC_UER6U-20260720-145545.png)

### Republish a version

You can only republish a previously published version if no [approval sequence](docId\:FJT9V4MfH6aJdlcxjWAxh) has been defined on the content item. To republish a previously published version, select the desired version from the Versions gadget and click **Republish** from the **Options** menu. When you republish content, for traceability reasons, a new version with a new timestamp is created, even if no changes were made.

![Republish a version](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/rCV33MKtxHjnJNTNsviFd-20260720-145545.png)

If an approval sequence is defined, you must select **New Draft from Here**, set the new draft to **Ready for Review** and then let the draft be approved before it can be published.

You can manually create a draft from a previously published version or from a version that is scheduled for publishing at a later time. Select **Options** > **New Draft from Here** and publish the previous version of the content. You can edit the latest draft by selecting **Edit Primary Draft**.

![create a draft from a previously published version or from a
version that is scheduled for publishing at a later time](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/jUnxmynhnK8kAex6UPHU4-20260720-145545.png)

### Unpublish content

Unpublished content in CMS is content that is not yet published or content that you for some reason do not want publicly visible on the website.

There is no *Unpublishing* option in the user interface; instead, you have the following options to hide published content from being publicly visible on your website:

- Set the content item to **expired** if you want to keep it for reference or future use.
- Remove the *Everyone* [access rights](docId\:e3x3piHYkRsoW3PVOv6i2) to it.
- [Delete the content item](docId:0pqGFZioU_HLUXVQrPAZD) if you do not want to keep it.

### Set expiration of content

Normally, web content never expires, but you can set pages and blocks to expire at a certain time in the future or immediately. Expired content is not displayed on the website but remains in Optimizely CMS. You can remove the expiration from the content to make it appear on the website again.

:::hint{type="info"}
**Note**

The expiration sets a stop publish date on the content and this date applies to all versions of the content. For example, if you set a page to **expired** and then create a draft from the latest published version and publishes that draft, it will still be expired and not displayed on the website. You must manually remove the expiration for the page to be public.
:::

Setting an expiration time is done in the [All properties editing view](docId\:d3R8i01k20fkNNZR7zagr) by selecting **Tools** > **Manage Expiration and Archiving**. Select **Now** if you want expiration to apply immediately.

### Archiving of expired content

Optimizely has a built-in [archiving feature](docId:3J8Km6yHYxjr4gCUOprYO) where pages with a set *stop publish time* are automatically moved to a defined archive branch when the time has passed. This is useful when you have news pages in a listing where you want to remove old news from the listing, but still keep the pages in an archive. Note that the expiration date is removed when the items are moved to the archive to make the archive public.

Archiving expired content is done in the **Manage Expiration and Archiving** dialog box by selecting the page branch to which you want to move the expired page.

![Manage Expiration and Archiving](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/ZX1W4NN8-A7df6y5Z1rAJ-20260720-145545.png)

## Work with shared content

As soon as you start to edit content, the content is marked as **currently being edited** notifying other editors to avoid version conflicts.

### Mark as being edited

Even if content is marked as being edited, another editor can select the **Edit Anyway** option, and continue working with the draft.

![Edit anyway menu option](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/uRuD9Y5Du24I9_Fcc4oQf-20260720-145545.png "Image: Edit anyway menu option")

### Permanently mark as being edited

The **currently being edited** markup setting is automatically cleared after some time. To keep this setting, you can set a **permanently being edited** markup through the [All properties editing view](docId\:d3R8i01k20fkNNZR7zagr) by selecting **Tools** > **Permanently Mark as Being Edited**. This setting remains until manually disabled (toggle the setting to disable).
