LiteSpeed Cache for WordPress Settings: ESI

To learn about ESI and the implications of enabling it in LSCWP, please see this wiki. Please note: ESI is not available with OpenLiteSpeed. You need LiteSpeed Web Server Enterprise edition or LiteSpeed Web ADC in order to use ESI.

Learn more about ESI on our blog.

You can turn shortcodes into ESI blocks. Learn how here.

To turn on ESI, set Enable ESI to on.

This creates the following ESI blocks:

  • Admin Bar
  • Comments
  • Comment form
  • Recent Posts widget
  • Recent Comments widget

The first three blocks will remain uncached, unless you enable them via the Cache Admin Bar and Cache Comment Form settings.

The widgets are controlled on a widget-by-widget basis from the Appearance > Widgets menu.

NOTE: Despite its location on the ESI settings tab, the Vary Groups function is not actually related to ESI.

Vary Group functionality combines the concepts of cache varies and user roles: with Vary Groups you can have multiple publicly-cached versions of a single page, based on the permissions of the users who view the page.

(Your list of user roles may vary from those in the image above. That's normal.)

Vary Groups do not change the behavior of your application. They simply allow separate cached copies to be saved for each public view that is already being generated by your app. Without Vary Groups, apps that generate different views for different user roles would need to leave logged-in users uncached, or serve to them from private cache.

Learn more about Vary Groups on our blog.

Example 1

In some themes administrator functions will appear right on the public pages (like an “edit” link at the end of a post). If you create a vary group for administrators, then LSCache will save two public copies of the page: one with all of the editing permissions displayed on it for anyone in the administrator group, and the default copy of the page without the editing links for everyone else.

Example 2

A shop has two user roles: retail_customer and wholesale_customer. There are two sets of prices, and three different ways that the site can be viewed: users in the group retail_customers will see the highest prices. Users in the group wholesale_customers will see the lowest prices. Users who are not yet customers will see the default page with no pricing whatsoever. This scenario would require two Vary Groups: one for retail_customer and one for wholesale_customer.


To create a vary group for any user role shown, enter a non-zero value into the box next to that user role. If a user role has a 0 next to it, then it will be served the default cached copy.

There is no significance to the numbers other than the fact that unique views should have unique numbers.

If two user roles share the same view, put them in the same group by giving them the same number.

  • Admin
  • Last modified: 2019/04/12 18:39
  • by Lisa Clarke