Publishing means transferring content from a Magnolia author instance to public instances so that visitors to your website can access the content.

Large flat content repositories can negatively impact overall performance, particularly search. For this reason, you must organize pages into a folder hierarchy to ensure optimal performance. Also, features that constantly create content (such as messages, tasks, and versions) should be checked regularly to clean up old content.

From author to public

Magnolia is distributed as two web applications: an author instance where editors work and a public instance where visitors access the website. Typically you have at least two public instances for load balancing and high availability reasons. Content is published from the author instance to the public instances.

Author and Public instances diagram

There are three publishing actions:

  • Publish: Publishes the selected node to the public instance.

  • Publish incl. subnodes: Publishes the selected node and its children to the public instance. This action typically runs asynchronously because it can take a while to publish lots of content.

  • Unpublish: Unpublishes (deactivates) the node from the public instance.

If a parent node isn’t published yet, you can’t publish the child node (the action is grayed out).

Apps typically display the publishing status in the workbench.

Publication status

The page editor displays a publication status in the status bar at the bottom of the screen and on each component that has changed.

Publication status Description


Content was published from the author instance to the public instance. Identical content exists on both instances.


Content’s been modified since publication. The author instance is not in sync with the public instance.


Content exists only on the author instance.

Scheduled publishing

You can schedule publishing to a future date and include approval steps. The editor who launches the publication workflow can add a comment for the reviewer and set a publication date.

Submit for publication scheduling confirmation

Publishers receive a task in the Tasks app. They can assign the task to themselves and approve or reject it. The system can also show what changed on the page.

List of scheduled tasks

Publishing changes only

When you publish a node and its children you often end up publishing content whose status is already Published. Such nodes don’t need to be published but it is often more convenient to just publish the whole tree than node-by-node.

To improve author instance performance, exclude already-published nodes from the action. Publish modified nodes only. This may help performance and scalability in cases where the author instance has a high concurrent load (many editors activating large amounts of content at the same time).

Publish modified nodes only

You can tweak your pages-app.yaml file to only publish modified nodes. See Publishing changes only for instructions.

Publishing campaigns

You can publish and control every aspect of a campaign using the Campaign Publisher module. Make a campaign, then add pages, assets, and other dependant content to the campaign, such as configuration, and click Publish.

Head over to the Campaign Publisher module to read more about it.


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