Coveo for Sitecore Scaling Guide

For sites with low traffic, one Sitecore server may be enough. However, as the load of a website increases over time, more servers may be required. Sitecore offers the ability to scale a website infrastructure in many ways, for example by having many content management (CM) servers and many content delivery (CD) servers. Additionally, Sitecore may also need to connect to an SQL cluster if necessary, which further complexifies the overall topology.


  • Content Management:

    A content management instance is a type of Sitecore instance used for authoring Sitecore content. The content management hosts aren’t publicly accessible from the web.

  • Content Delivery:

    A content delivery instance is a type of Sitecore instance used solely to show the site publicly. Sitecore content authoring tools should be disabled on these instances.

  • Coveo Enterprise Search (CES) Main Instance

    This is the main CES instance. This instance is responsible for indexing and querying documents. When there are mirrors, the main instance is also responsible for replicating changes to the mirrors.

  • Coveo Platform:

    The Coveo Platform scales by nature. This service is responsible for indexing and querying documents.

Set Up the Sitecore Infrastructure

The following diagram shows how to implement the following environment, which is composed of two content management hosts, two content delivery hosts, and an additional database (pub) that’s used for the public website. All databases are installed on a single SQL Server host.

This schema was borrowed from the Sitecore Scaling Guide. It illustrates the exact environment that needs to be replicated.

The environment is composed of the following hosts:

  • SQL: this host holds all the databases. Web could have an SQL cluster with several hosts; it would be the same in Sitecore.

  • CM1 & CM2: the content management hosts.

  • CD1 & CD2: the content delivery hosts.

In this scenario, you will be installing CES on a separate server named CES.

See the Sitecore Scaling Guide to replicate and configure the Sitecore infrastructure described above.

Install and Configure Coveo Enterprise Search (CES)

Now that the Sitecore infrastructure is built, you’re ready to install Coveo Enterprise Search (CES). In this tutorial, you would be installing CES on a server named CES. For more information, see Installing Coveo Enterprise Search (CES) On-Premises.

Since several servers need to communicate with CES, you need to open the following ports in your firewall:

  1. For the Admin Service, the port is either 80 or 443, depending on whether the Admin Service runs in standard or secured mode.

  2. Port 8080: to allow the Sitecore REST endpoint to communicate with the Search API service.

  3. Port 52800: to allow the Search Provider to communicate with the CES instance.

  4. Port 5682: to allow content management hosts to push documents to the indexing queue.

  5. If you installed CES mirror instances, you must open port 52810 to allow the main CES instance to communicate with the mirrors.

What’s Next?

The above setup isn’t mandatory, and yours will most likely differ, but it will be used as an example for the rest of the scaling guide.

Once your Sitecore ecosystem is all set up, you may proceed to deploying Coveo for Sitecore on your main Content Manager (see Prepare the Sitecore Content Manager for a Scaled Environment).

You should also read the Leading Practices When Deploying Coveo for Sitecore.