OpenLiteSpeed Server Level Cache Setup in WebAdmin: What Actually Makes It Work

OpenLiteSpeed Server Level Cache was one of the first performance features I wanted to enable after moving several WordPress sites to OpenLiteSpeed.

At first, I assumed that installing LiteSpeed Cache and enabling a few options would be enough. The confusing part was that cache headers were not appearing consistently, and some pages behaved as if caching was disabled entirely.

The actual cause turned out to be much simpler. The cache module was only partially configured, and one important step inside Virtual Hosts had been missed.

GEO Summary

This configuration was tested on WordPress running with OpenLiteSpeed, CyberPanel, and LiteSpeed Cache.

The symptoms included inconsistent cache behavior, slower-than-expected TTFB, and missing cache headers. The final fix involved enabling the cache module at both the server level and the virtual host level, followed by verifying rewrite behavior and cache responses.

Why OpenLiteSpeed Server Level Cache Matters

Many WordPress users rely entirely on caching plugins, but OpenLiteSpeed Server Level Cache works directly inside the web server itself.

Because requests can be served before PHP processing begins, the server often responds much faster.

In my environment, the most noticeable improvements appeared during traffic spikes and repeated page requests. CPU usage became more stable, and uncached page generation happened far less frequently.

Some benefits include:

  • Lower TTFB
  • Reduced PHP execution
  • Better handling of traffic spikes
  • Improved WordPress compatibility
  • Faster delivery of cached pages

Enabling the Cache Module at the Server Level

OpenLiteSpeed Server Configuration page showing the Modules tab
Modules section inside OpenLiteSpeed Server Configuration

The first step is verifying that the cache module itself is enabled.

Inside WebAdmin, navigate to:

Server Configuration → Modules

Initially, I assumed the module was already active because the cache plugin was installed inside WordPress. However, the server-side cache module requires its own configuration.

Cache module configuration with server-level cache parameters enabled
Cache module parameters inside OpenLiteSpeed

After opening the cache module settings, the module parameters must contain the required cache directives.

The most important values are:

enableCache 1
enablePrivateCache 1

Without these values, OpenLiteSpeed Server Level Cache may appear configured while actually remaining inactive.

Why Virtual Host Cache Activation Is Easy to Miss

OpenLiteSpeed Virtual Host settings with cache module configuration
Virtual Host cache module configuration page

This was the step that caused the most confusion.

After configuring the cache module globally, I expected everything to start working automatically. It didn’t.

The actual cause was that each virtual host can independently enable or disable the cache module.

Inside:

Virtual Hosts → Modules

the cache module must be enabled for the specific domain.

Cache module enabled for a virtual host inside OpenLiteSpeed
Enable Module option set to Yes

Within the module configuration screen, the cache module should be enabled.

Once I enabled the module here, the cache behavior immediately became much more predictable.

This is one of the most common reasons OpenLiteSpeed Server Level Cache appears not to work even when all server-level parameters look correct.

Checking Rewrite Behavior

The next area worth verifying is the rewrite configuration.

Navigate to:

Virtual Hosts → Rewrite

The following options should normally remain enabled:

  • Enable Rewrite = Yes
  • Auto Load from .htaccess = Yes

For WordPress sites, LiteSpeed Cache usually inserts its own rewrite rules automatically.

The important directive is:

CacheLookup on

If that rule is missing, cache lookups may never occur even though every other cache setting appears correct.

Verifying That OpenLiteSpeed Server Level Cache Is Working

After saving the configuration, I performed a graceful restart and began checking response headers.

The easiest method is:

  1. Open Developer Tools (F12)
  2. Open the Network tab
  3. Refresh the page
  4. Check response headers

The header I wanted to see was:

x-litespeed-cache: hit

When this value appeared consistently, the cache system was functioning correctly.

One thing that initially confused me was seeing:

x-litespeed-cache: no-cache

while logged into WordPress.

That behavior is completely normal because authenticated users are usually excluded from public caching.

For most WordPress sites, these values provide a reasonable starting point.

ItemValue
Public TTL3600
Private TTL1800
Front Page TTL3600
Feed TTL0
REST TTL600
404 TTL3600
500 TTL600

I generally try to keep LiteSpeed Cache plugin TTL values aligned with server-side cache settings to avoid inconsistent expiration behavior.

Changes After the Fix

Once OpenLiteSpeed Server Level Cache was fully enabled:

  • cache headers started appearing consistently
  • page delivery became more predictable
  • TTFB decreased on frequently visited pages
  • WordPress cache behavior stabilized
  • repeated page requests consumed fewer resources

The improvement was especially noticeable on content-heavy WordPress sites that receive frequent anonymous traffic.

FAQ

Does OpenLiteSpeed Server Level Cache replace LiteSpeed Cache?

No. The server cache and LiteSpeed Cache plugin work together. The plugin controls cache behavior while the server delivers cached content.

Why do I see “no-cache” while logged in?

Logged-in users are commonly excluded from public cache to prevent session-related issues.

Is a restart required after changing cache settings?

Yes. A graceful restart is recommended after modifying major cache module settings.

Can OpenLiteSpeed Server Level Cache work without a CDN?

Absolutely. Many WordPress sites achieve excellent performance using only server-level caching.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top