Skip to content

LiteSpeed Cache for Craft CMS

PLEASE READ

Development on the 3rd party LSCache Purge plugin for Craft CMS has been discontinued:

Per-URL cache busting is now broken in Craft 3.5 because of changes to how template caching works. You will need to nuke the whole cache on save if you are running 3.5+

This plugin is EOL. Minor patches will be issued, but not major functionality overhauls. PR's gratefully received.

We recommend using LSCache with rewrite rules via these instructions if you are using Craft CMS v3.5 or later.

What is LSCache?

LiteSpeed Cache (also called LSCache) is LiteSpeed's more efficient and highly customizable answer to Apache mod_cache and Varnish.

LSCache is built from the ground up and integrated into all LiteSpeed server products. It can:

  • dramatically speed up dynamic website content (like PHP pages)
  • provide more efficient handling of static content (like images)
  • reduce server load

Understanding Caching

If you are new to website caching, allow us to demystify a few basic concepts.

What is Caching?

Generally speaking, a cache is a mechanism for storing data in such a way that it is easier or faster to retrieve than the original source.

Web application sites consist of dynamic pages that are built with PHP or some other method. The pages of these sites don’t exist anywhere in the file system; they are constructed on-demand by the web app, and then served to the visitor as HTML. Generating these dynamic pages can be resource-intensive and slow.

There are actually several types of caches. LSCache is a "page cache." A page cache's job is to take this dynamically generated web page, and store it as a static HTML snapshot. That way, the next time the page is requested by a visitor, the snapshot can be served immediately. Serving a snapshot is much faster and uses far fewer resources than generating the page dynamically does.

How does LSCache Work?

Imagine you have an uncached page.

A visitor requests that page, and a few things happen:

  • LiteSpeed looks for the page among its stored cache objects and does not find it
  • LiteSpeed returns a "cache miss"
  • The web app dynamically generates a static HTML page while the visitor waits
  • LiteSpeed serves the static HTML page to the visitor
  • LiteSpeed stores the static HTML page as a cache object for later use

A few minutes later, another visitor requests that same page. Here's what happens:

  • LiteSpeed looks for the page among its stored cache objects and finds it
  • LiteSpeed returns a "cache hit"
  • LiteSpeed immediately serves the static HTML page to the visitor

Notice how the inefficient web app is not in the picture at all once the page has been cached? From this point on, until the cache object expires, any visitors who request that page will not have to wait around for the web app.

You can see why caching is good for your visitors, and good for your server load!

When used in conjunction with Craft CMS, you can expect significant performance gains with a quick and easy setup. Rewrite rules can be used to customize LSCache's behavior.

With the addition of the 3rd party "Purge Cache" plugin by Scaramanga Agency, cache management is made even more flexible, allowing you to set longer TTLs for your content.

Server-Level Prerequisites

Obtain a LiteSpeed Web Server

You will either need LiteSpeed-powered hosting, or one of the following LiteSpeed server products in order to use LSCache:

Configure the Server

LSCache must be set up at the server level before it can be made available to any sites on the server.

Tip

If you are a site owner and you don't have access to your server's admin functions, chances are your hosting provider has already done this setup for you, or can help you to complete it.

See Configure Cache Root and Cache Policy for instructions.

Install, Configure and Use the Plugin

Once you've set up your web server and configured the cache root and cache policies, you're ready to install the plugin. The plugin will allow you to configure and manage your LiteSpeed server's cache simply and easily, through your site's own familiar admin interface.

Start with Installation and follow the documentation menu to configure and use the plugin.

Additional Support

Community Support

If you've explored our documentation and still have questions, you can find assistance from other LiteSpeed users through our Community Support forums:

Official LiteSpeed Support

To be assisted by a LiteSpeed support technician, you can submit a support ticket from the LiteSpeed website's client area or by emailing support@litespeedtech.com.

Note

We're happy to provide a level of free support for all LiteSpeed products and offer guidance where documentation may fall short. However, we are unable to offer general sysadmin support or hands-on assistance.

Should you require individualized configuration support or hands-on assistance with our products, you can order additional services from the LiteSpeed store.

Thank you for choosing LiteSpeed!

Feedback

Do you have some thoughts about this documentation site? Join our GoLiteSpeed Slack, drop by the #documentation channel, and let us know what you think!


Last update: August 1, 2023