HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket


Describes the Mirroring feature in Optimizely Content Management System (CMS).



Mirroring is not supported on Optimizely Content Management System (CMS 12), Digital Experience Platform (DXP) and other cloud deployments. Mirroring will be removed in future versions.

Mirroring lets you maintain content in one location and push the content to other sites by scheduling export/import of selected CMS data from one site to another. The Optimizely Content Management System (CMS) administration interface lets you manage mirroring rules and associated batch jobs. Mirroring keeps track of pages that are moved and deleted, maintaining the exact page structure.

The following objects are included in mirroring:

  • Content items such as pages in selected parts of the page tree structure, and files linked to from these pages
  • Content types such as page and block types (optional, see XCOPY deployment)
  • Frames
  • Tabs used for grouping properties
  • Categories (but not new category definitions created in admin)
  • Visitor groups



You can install mirroring only on Episerver CMS 7.5 (through the Deployment Center). If you want mirroring with the latest Optimizely version, install a CMS 7.5 site with mirroring, and then upgrade to the latest CMS through NuGet because there is no NuGet package for mirroring functionality; it is installed as a separate service in a virtual directory on the server.

An updated DLL is available in the EPiServer.CMS.Core NuGet package (packages/EPiServer.CMS.Core.9.0.0/tools/MirroringService/), which you must manually patch when upgrading.

Optimizely CMO and Optimizely Customized Commerce do not support mirroring.

You can manage export of templates between sites through XCOPY deployment. See Deploying to Windows servers.

Even though two-way mirroring is possible, the mirroring service is configured as one-way-mirroring; the mirroring service sends the content to another service. In CMS, the mirroring service detects whether the content was previously mirrored, so if you run a mirroring job many times without changing of the content, the content on the target site is ignored and unchanged.