Content staging

Content staging is the practice of publishing content to an intermediate instance (staging site) for review and test. Once the content is approved, it is published forward to production instances. Staging is useful when you need to publish large amounts of content such as a campaign that consists of many pages and assets. You can also use staging as workflow step when content needs to be user acceptance tested or reviewed for compliance.

Create a new staging instance between the author and public instance. Publish content first to this staging instance, then to production.

Publishing diagram

Creating a staging instance

To create a staging instance:

  1. Stop Magnolia.

  2. Copy an existing public instance to create a new instance. See best practice below.

  3. Rename the copied instance folder so that you can identify it as staging, for example magnoliaStaging.

  4. Copy the file from the author instance to the staging instance and all other public instances. The keypair file contains the private and public activation keys. This ensures that the staging instance can publish content forward. The file is in ${magnolia.home}/WEB-INF/config/default/ by default.

  5. Start Magnolia.

Staging instane folder

Best practice

Configure your content staging instance as a public instance so that users cannot edit pages on it. The Pages app does not display the green edit bars on public instances. You typically don’t want reviewers to change content on the staging instance. While reviewers may need permission to log into the AdminCentral to review functionality such as new apps, they should not edit pages. The staging instance is intended for testing and approving only. If something is not correct, fix it on the author instance and publish again to staging for another test.

Configuring staging as a receiver of the author instance

  1. Log into the author instance

  2. Configure the staging instance as a receiver to the author.

Configuring staging as a receiver of the author instance

Configuring production as a receiver of the staging instance

  1. Log into the staging instance. It’s a public instance but you can find AdminCentral at http://localhost:8080/magnoliaStaging/.magnolia/admincentral.

  2. Configure production instances as receivers to the staging.

Configuring production as a receiver of the staging instance

Normally public instances don’t have any receivers but the staging instance is a special case. This instance will display the publishing status of content but the status is only synchronized with the public receivers in front of it, not with the author behind it.

Unpublishing and deleting content

Handle unpublishing and deleting of content carefully. Make sure that you unpublish content from the public instances before unpublishing it from staging. Unpublishing does not ripple backwards in the chain automatically.

Content staging is not code staging

Content staging is not the same as code staging. In a code staging environment, developers test application code and verify deployment procedures. A code staging environment should mirror the production environment as closely as possible. This ensures that when the code is production ready it can be deployed to production without issues. This page is about creating a content staging instance for reviewing content.


DX Core



This widget lets you know where you are on the docs site.

You are currently perusing through the DX Core docs.

Main doc sections

DX Core Headless PaaS Legacy Cloud Incubator modules
6.3 beta

Magnolia 6.3 beta

Magnolia 6.3 is in beta. We are updating docs based on development and feedback. Consider the 6.3 docs currently in a state of progress and not final.

We are working on some 6.3-beta known issues during this phase.