HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In
GitHubNuGetDev CommunityDoc feedback


This topic is only applicable to versions Optimizely Content Management System (CMS 11) or Optimizely Customized Commerce version 13 and earlier, which are based on ASP.NET Framework.

For versions **CMS 12** and **Commerce 14** and higher, based on ASP.NET Core, see [Installing Optimizely](🔗).

## Prerequisites

You can install the desired Optimizely products individually, with or without sample templates. This is useful if you want to explore each product and its components in more detail, or build a site from scratch with more control. You can also use the **Optimizely Foundation** **reference architecture** to get a solution with multiple products quickly up and running.

Before installing, check the [System requirements for Optimizely](🔗) to ensure that your installation environment has the required components and versions.

The following components are needed to follow the instructions described here:

  • [Microsoft Visual Studio](🔗) for installing and updating Optimizely. (Community, Professional, or Enterprise)

  • [Optimizely Visual Studio extension,](🔗) which is a full set of templates for MVC to get a jump-start when developing websites. To install the Optimizely extension:

    1. In Visual Studio, select **Tools** > **Extensions and Updates**.

    2. In the extensions window, select **Online**, and type _episerver_ in the search box.

    3. Select **CMS Visual Studio Extension** and click **Download** (or **Update** if already installed).

    4. Restart Visual Studio.

  • The **Optimizely NuGet feed source** `<http://nuget.optimizely.com/feed/packages.svc/`> added to your Visual Studio. Needed to add Optimizely Customized Commerce, Optimizely Search & Navigation and other add-ons to your solution, and to upgrade your project with the latest. See [Installing Optimizely updates (CMS 11 and Commerce 13)](🔗) on how to add the NuGet feed.

  • If your solution will be running in the cloud, follow the steps below to install the desired Optimizely components, and see [Cloud deployment](🔗) how to proceed to deploy the solution to cloud environments.


You can order a time-limited demo license for evaluation purposes—see [Optimizely License Center](🔗) (a license is not required when using IIS Express). You need a commercial Optimizely license for testing and production environments.

## Install through reference architecture

The **Optimizely Foundation reference architecture** is an open source option to install an Optimizely solution with multiple products. Foundation offers a structured and modular starting point, allowing you to select products as projects to include or exclude from the solution. See [Optimizely Foundation](🔗) to learn how to install and get started.

## Install CMS

Install an CMS website, empty or with the "Alloy" sample templates.


The description below applies to Visual Studio 2019. The steps are similar in Visual Studio 2017 and 2015. See [Installing Optimizely](🔗) for a video illustrating the procedure.

  1. Open Visual Studio and select **File** \> **New** \> **Project**.

  2. Search for the **Episerver Web Site** project template, select it, and click **Next**.

  3. Provide a name for your project and click **Create**. 

  4. Select **Alloy** (MVC/WebForms) to create a site with sample content, or **Empty** for a site without templates. It is recommended to use MVC for new projects, as WebForms is deprecated.

  5. Select a search option:

    • For an Alloy site, select **Episerver Find** to use Optimizely Search & Navigation, or **Episerver Search** to use a basic search.

    • For an empty site, the **Configure Search** option is disabled, and no search will be installed. You can add Optimizely Search & Navigation or Episerver Search later if desired. 

  6. Click **OK**. The project is created. When finalized, build and open the website in a browser.

  7. Log in to the site:

    • For an **empty site**, add _/episerver_ to the site URL, and log in using your _Windows credentials._ For more information on how to configure your empty project further, see [Creating a starter project](🔗)

    • For **Alloy MVC**, you will be prompted to create an _administrator account_ (site is using [ASP.NET Identity](🔗)). Provide the account credentials, click **Register** and you will be logged in. See also [Installing a sample site](🔗).  

    • For **Alloy WebForms**, select the **Log in** link at the bottom of the start page, and log in using your _Windows credentials_. Note that you must be local admin on the server you are running Optimizely on. If not, create a new local user with admin rights under **Control panel** > **Local Users and Groups**, and log in using that account.

## Install Optimizely Customized Commerce


The description below applies to Visual Studio 2019. The steps are similar in Visual Studio 2017 and 2015. See [Installing Optimizely Customized Commerce](🔗) for a video illustrating the procedure.

### Empty Commerce site

These steps install an _empty_ website locally with CMS and Optimizely Customized Commerce. Note that a Commerce installation has _two_ sites; a front-end site with CMS and Optimizely Customized Commerce, and a back-end site with Commerce Manager.

  • To create a sample site locally with templates, see [Installing Quicksilver](🔗).

  • To deploy a Optimizely Customized Commerce site to the cloud, see [Install an Optimizely Commerce site to run on Azure Web Sites](🔗).

### Part 1: Create the front-end site with CMS

  1. Open Visual Studio and select **File** \> **New** \> **Project**.

  2. Search for the **Episerver Web Site** project template, select it and click **Next**.

  3. Provide a name for your project, make sure .NET Framework is set to **4.6.1** or higher.

  4. Click **Create**.

  5. In the **Select a template** dialog, select **Empty** and click **OK**. Visual Studio creates the project.

### Part 2: Install Optimizely Customized Commerce components on the front-end site

  1. In **Solution Explorer** (CTRL + ALT + L), expand the project you just created, right-click on **References** and select **Manage NuGet Packages**.

  2. In the **Package source** dropdown, select **Episerver**.

  3. Click **Browse** and enter _Commerce_ in the search field.

  4. Select the **EPiServer.Commerce** (main) package and click **Install**.

  5. When the installation completes, a Readme.txt file appears.

  6. Close the _Readme.txt_ file, select _EPiServer.Commerce.UI.ManagerIntegration_ and click **Install**. This adds the Commerce front-end components.

  7. When the installation completes, a Readme.txt file appears.

### Part 3: Create the back-end site

  1. In the **Solution Explorer**, right click the solution you created in part 1 and select **Add > New Project**.

  2. Select **ASP.NET Web Application (.NET Framework)** as the project type and click **Next**. 

  3. Give the project a name and click **Create**.

  4. Select **Empty** and click **Create**. 

### Part 4: Install Commerce Manager on the back-end site

  1. Right click on the back-end site that you created in [part 3](🔗) and select **Manage NuGet Packages**.

  2. In the **Package source** dropdown, select **Episerver**.

  3. Click **Browse** and enter _Commerce_ in the search field.

  4. Select the _EPiServer.CommerceManager_ package and click **Install**. 

  5. When installation completes, a _Readme.txt_ file appears.

  6. Close the _Readme.txt_ file and select the _EPiServer.ServiceLocation.StructureMap_ package and click **Install**. This adds an implementation of the ServiceLocation / Dependency Injection framework.

### Part 5: Final steps

  1. Update the database. a. Go to **Tools** > **NuGet Package Manager** > **Package Manager Console**. b. At **PM**, enter `update-epidatabase`.

  2. Build the solution (CTRL + SHIFT + B).

  3. Start the front-end site (Ctrl + F5).

  4. When prompted, log in using the default credentials _admin/store_ (remember to change these later).

  5. If you see a screen of migration steps, click **Execute all pending steps**.

  6. Verify that you can access the edit and admin views using `http://localhost:nnnnn/episerver` (where nnnnn is the port number that is already displayed in the URL).

If you have difficulty accessing Commerce Manager from edit view:

  1. Right-click your back-end site with the Commerce Manager project in Visual Studio.

  2. Select **Set as StartUp Project**.

  3. Start the Commerce Manager site and log in.

  4. Make the front-end project the start-up project again.

To further set up your Commerce project, continue with the project structure section on [Creating your project](🔗).

## Install Optimizely Search & Navigation

Optimizely Search & Navigation consists of a service that you sign up to, and client packages that you install on your site. See [Creating your project](🔗) how to add Search & Navigation to your solution.

### Integrate Optimizely Search & Navigation with Commerce

This integration adds Commerce-specific functionality when using Optimizely Search & Navigation with Optimizely Commerce. To install this on your website, run the Search & Navigation content indexing job on the site _after_ the _EPiServer.Find.Commerce_ package is installed.

## Install Tracking & Personalization

The Optimizely Personalization product suite adds personalized content and product recommendations, and personalized search results to the site. You can also add components to store and analyze visitor activity through Optimizely Visitor Intelligence. Tracking and personalization components are based on services that you sign up to, and client packages that you install on the site.

See the following how to install and get started:

  • [Optimizely Content Recommendations](🔗) 

  • [Optimizely Tracking](🔗)

  • [Optimizely Visitor Intelligence](🔗)

## Install Marketing Automation components

The Marketing Automation product suite includes Optimizely Campaign for cross-channel automated campaign management, and a number of marketing automation connectors for popular marketing tools like Delivra, Salesforce, and Microsoft Dynamics. Marketing automation components are based on services that you sign up to, and client packages that you install on the site.

See the following how to install and get started:

  • [Optimizely Campaign](🔗)

  • [Optimizely Marketing Automation connectors](🔗)

## Install other apps

You can extend Optimizely through applications (apps, also known as add-ons) available for a wide selection of areas, for example analytics, search optimization, and marketing automation. Most apps are installed as NuGet packages, see [Optimizely add-ons](🔗) and [Installing add-ons](🔗).

If your solution will be using the [Optimizely Digital Experience Platform cloud services](🔗), see [DXP Requirements](🔗) for supported apps.

## Cloud deployment

There are different options for managing and deploying Optimizely solutions in the cloud. Before deploying, ensure that you have followed the [requirements](🔗) and [recommendations](🔗) to optimize your solution for cloud-based environments. 

  • [Deploy with Optimizely DXP cloud services](🔗)

  • [Deploy CMS to Azure Web Apps](🔗) 

  • [Deploy Commerce to Azure Web Apps](🔗) 

## Blog posts

  • Blog post: [Set up EPiServer CMS and Commerce with AspNet Identity from scratch](🔗)