The Ideal LiteSpeed Cache Settings With QUIC.cloud (Or Cloudflare), Object Cache, And Optimizing For Core Web Vitals (2023)

Litespeed cache settings

In this guide, we’re configuring LiteSpeed Cache.

This includes setting up object cache (Redis is preferred) and a CDN (Cloudflare is preferred). The table below shows why LiteSpeed Cache optimizes web vitals better than WP Rocket + SG Optimizer. But there are 5 key things it doesn’t do: preload LCP images, preload fonts, disable plugins on specific pages, remove bloat, and resize images for mobile. For even better results, I’ll show you how to address each of these using Permatters or various free/lightweight plugins.

If you’re not using a LiteSpeed host yet, I recommend ChemiCloud’s $5.99/mo WordPress Turbo plan since you get 3 CPU cores + 3GB RAM (which are scalable), Redis, MariaDB, NVMe SSDs, OPcache, cPanel, free migrations, and excellent support with a 5/5 star TrustPilot rating. Static sites can get a 100ms worldwide TTFB (average) when tested in SpeedVitals and KeyCDN.

  • ON – enable.
  • OFF – disable.
  • TEST / DEPENDS test your results, or it depends on other settings.
  • CONSUME RESOURCES –  indicates the setting may consume more server resources which can lead to 5xx errors + CPU overages on shared hosting and less powerful servers.

The “best” settings are different for each site. This guide should be used as a baseline.

SG Optimizer WP Rocket LiteSpeed Cache
Server-side caching x
Object cache integration x
Delay JavaScript x
Remove unused CSS x Inline File ?
Critical CSS x
Self-host third-party code x x
Image compression x
WebP x
Image placeholders x x
Add missing image dimensions x
Exclude viewport images from lazy By class/type Helper plugin Automatic
Preload LCP images x x x
Preload fonts x
Preload links x
Lazy render HTML elements x x
First time visit optimization Preload Preload Preload + Guest Mode
Control cache TTL x
ESI (edge side includes) x x
Gravatar cache x x
Limit post revisions Deletes all Deletes all Keeps some
Bloat removal x x x
Disable plugins on specific pages x x x
Changelog View View View
New features added regularly x x
Facebook group Join Join Join
Price Free $59/year Free

 

1. Dashboard

LiteSpeed’s Dashboard shows the status of optimized images, CDN usage, CSS, etc. Measuring your PageSpeed scores here is more accurate than third-party browser tools such as GTmetrix.

Litespeed cache dashboard

 

2. General

  • Automatically Upgrade: Off – it’s safer to manually update plugins.
  • Domain Key: request a domain key, add it here, then link to QUIC.cloud.
  • Guest Mode: Depends – significantly improves load time for first time visitors (and can improve PageSpeed scores) but consumes resources + inodes when “mobile cache” is enabled (required to be on for guest mode) and “WebP replacement.” Also doesn’t work with Cloudflare’s APO. You can read more about Guest Mode and Guest Optimization here.
  • Guest Optimization: Depends – only use if Guest Mode is on. Page/image optimizations will be aggressive for first time visitors which can further improve load times and scores.
  • Server IP: click “Check my public IP from DoAPI.us,” then paste your server’s IP address.
  • Notifications: On – turn off if you don’t want LiteSpeed’s notifications (like new releases).

Litespeed cache general settings

 

3. Presets

You should really go through this tutorial and tweak settings yourself. But if you’re stuck on using a preset, I would use Extreme, but disable CSS/JS combine and test asynchronous CSS. LiteSpeed Cache saves your previous settings under “History” in case something goes wrong.

Litespeed cache configuration presets 1

You can download the settings I use in this tutorial (via Google Drive) then upload them in Presets → Import/Export. I would test it on a staging site and still go through them, including:

  • Request a domain key
  • Add your server IP
  • Localization files
  • HTML lazy load selectors
  • Ensure above the fold images are excluded from lazy load
  • Use “Tuning” settings to exclude files if they break your site
  • Setup your CDN
  • Setup object cache
  • Clean your database

 

4. Cache

Cache

  • Enable Cache: On – test your site in uptrends.com and look for x-litespeed-cache hit.
  • Cache Logged-in Users: Off – only enable if you run a membership website (or similar) and have users logging in that need their own cache, otherwise it consumes resources.
  • Cache Commenters: Off – creates a separate cache for people who leave a comment which is still pending, but also consumes resources if your blog gets lots of comments.
  • Cache Rest API: On – used for many themes, plugins, and the WordPress Block Editor.
  • Cache Login Page: On – saves server resources since the login page is a common target. Don’t change the login URL since LiteSpeed + QUIC.cloud optimize the default login page.
  • Cache favicon.ico: On – caches favicon (the small logo image shown in the browser tab).
  • Cache PHP Resources: On – caches static PHP files (i.e. CSS + JS) loaded by your theme. Only disable if you have dynamic CSS + JavaScript loaded in PHP, which you likely don’t.
  • Cache Mobile: Depends – only enable when using Guest Mode and Guest Optimization, other settings (UCSS, CCSS, AMP), or use mobile-specific content. Consumes resources.
  • Cache URIs: not necessary for most websites since the “cache logged-in users” setting handles private cached URIs, and no pages on your site generally need to be force cached.
  • Drop Query String: marketing campaigns and tracking URLs often contain query strings where caching is ignored. The default list is usually fine, but if you have others, add them.

Litespeed cache cache control settings

TTL

  • Cache TTL – default settings are usually fine. Cache TTL is the amount of time LiteSpeed Cache keeps a cached file. Once it expires, it will create a new one. A shorter TTL is only needed if you update your site frequently and want to guarantee visitors will see the new cached version, but this will also consume more resources. A long TTL will save resources, but the cache won’t be refreshed as frequently, so visitors might not see the new content.

Litespeed cache ttl settings

Purge

  • Purge All On Upgrade: On – purges cache when WordPress core/themes/plugins are upgraded to make sure your site displays properly. LiteSpeed says to leave this on as well.
  • Auto Purge Rules For Publish/Update: default settings are OK. Whenever you publish a post, your blogroll and other content may need to update, so they should also be purged.
  • Serve Stale: Off – when turned on, the most recently purged (stale) copy of the page is served if the new cached version isn’t generated yet (enabling this consumes resources).
  • Scheduled Purge URLs: no need to add URLs here unless you need pages purged at a specific time (during low traffic), in which case you would also set scheduled purge time.
  • Purge All Hooks: default settings are fine. When specific hooks are run, it will purge all. LiteSpeed says adding comment_post may be good to purge all when a comment is made.

Litespeed cache purge settings

Excludes

Nothing to do here for most sites. You’re already controlling the cache in other LiteSpeed Cache settings, so there’s usually no reason to exclude things from the cache unless you have a reason.

ESI

  • Enable ESI: Off – controls how specific elements on your dynamic pages are cached, whether it be publicly, privately, with a custom TTL, etc. Complicates things (LiteSpeed says it’s easier for a server to return full pages without messing with this). If ESI is off, there’s no need to change settings for admin bar, comment form, Nonces, or Vary Group. I’ve never used the ESI feature so I’ll be the one to admit I shouldn’t be giving advice on it.

Object

Redis is more powerful than Memcached, especially for WooCommerce/dynamic sites and for speeding up your admin. Only some hosts support Redis while others support Memcached or don’t support object cache at all. Do a search on whether your host supports object cache and their instructions (if they wrote them). For example, here are ChemiCloud’s Redis instructions.

Redis vs memcached stackoverflow

Step 1: Find Redis or Memcached in your hosting account (i.e. cPanel → Redis Object Cache). This may also be in the “PHP Extensions” menu, or you can search instructions from your host.

Chemicloud cpanel software

Step 2: Enable Redis and take note of the port number + socket path.

Redis object cache cpanel

Step 3: In LiteSpeed Cache, enable Object Cache and set the method. Paste the port number (host field) + socket path. Save changes and you should pass the connection test. Even when passing the connection test, I suggest contacting your host to make sure it’s working correctly.

Litespeed cache object cache redis chemicloud

  • Object Cache: On – database caching speeds up the admin and improves performance.
  • Method: Redis – more powerful  than Memcached but only supported by certain hosts, while others support Memcached (or none). Activate it in your hosting account, then here.
  • Host: check hosting account – should be listed as “socket path” in your hosting account.
  • Port: check hosting account – or try the default ports (Memcached: 11211, Redis: 6379).
  • Default Object Cache Lifetime: 360s is fine.
  • Username/Password: leave as-is (not needed).
  • Redis Database ID: used when installing Redis on multiple sites – if 1 host account is used to add Redis on multiple sites, each site will have it’s own Redis Database ID (0-100).
  • Global Groups: leave as-is (groups that should be cached at network level).
  • Do Not Cache Groups: leave unless you want to add groups excluded in object cache.
  • Persistent Connection: On – connection is kept alive to make object cache even faster.
  • Cache WP-Admin: On – speeds up admin (keep on unless you’re seeing outdated data).
  • Store Transients: Off when cache wp-admin is enabled – shows server status notifications when cache wp-admin is disabled. If that setting is on, you can leave this off.

Litespeed cache object cache settings

Browser

  • Browser Cache: On – not sure why this isn’t enabled by default.
  • Browser Cache TTL: 31557600 – 1 year (~31557600 seconds) is recommended by Google to “serve static assets with an efficient cache policy” and tells browsers how long cache is stored. WooCommerce or dynamic websites probably want to set this to 43800 (1 month).

Litespeed cache browser cache settings

Advanced

  • Login Cookie: leave as-is (only needed if you have multiple WordPress installs and need the cache to distinguish who is logged into which WordPress site, not used for a multisite).
  • Improve HTTP/HTTPS Compatibility: Off – only enable if you’re using both HTTP and HTTPS and are noticing issues with the cache. You can also try forcing SSL to solve issues.
  • Instant Click: On – when users hover over a link, the page downloads in the background so by the time they click it, the page loads instantly (enabling it can consume resources).

Litespeed cache advanced settings

 

5. CDN

CDN Performance Tracker shows Cloudflare significantly outperforms QUIC.cloud (this is especially true when using features like full page caching). It’s network is 3x larger, has one of the fastest data transfer speeds (209 Tbps), and more speed/security features in the dashboard.

However, QUIC.cloud is needed for certain LiteSpeed Cache features to work, specifically critical CSS which needs to be updated when your site changes. Cloudflare’s APO plugin isn’t compatible with LiteSpeed either. The workaround is to use Super Page Cache For Cloudflare plugin which is similar to APO, but more compatible – and free. I would personally try this first.

Cdn performance tracker 1000

Setting Up Cloudflare (With Full Page Caching) On LiteSpeed

Step 1: Change your DNS to Cloudflare which performs well on dnsperf.com. Add your website to Cloudflare, they will scan records, then provide you with 2 nameservers. In ChemiCloud, you will change these (Domains → Manage Domains → Nameservers → Use Custom Nameservers).

Change chemicloud nameservers to cloudflare

Step 2: Install the Super Page Cache For Cloudflare plugin. Add your Cloudflare email, global API key, domain, and enable page caching. According to the developer (iSaumya), follow these next steps. If you have additional questions, I recommend asking iSaumya in a support thread.

  1. Disable LiteSpeed’s page caching and guest mode + guest optimization.
  2. “Only use LiteSpeed Cache for static file optimization.” However, I believe you can still configure it normally except for the caching/CDN settings (including using it for object cache, crawler, database optimization, Heartbeat, and image/page optimization settings).
  3. Do not enter your Cloudflare API details in LiteSpeed Cache (it’s handled by this plugin).
  4. Do not use the official Cloudflare plugin and make sure APO is disabled in CF dashboard.
  5. Enable fallback cache in Super Page Cache, then disable page caching in LiteSpeed Cache.

Super page cache for cloudflare settings

Step 3: Configure settings in your Cloudflare dashboard (I recommend the following):

  • SSL/TLS Recommender (SSL/TLS → Overview).
  • Always Use HTTPS (SSL/TLS → Edge Certificates).
  • HTTP Strict Transport Security (SSL/TLS → Edge Certificates).
  • WAF Rules (Security) to block unwanted requests.
  • Brotli (Speed → Optimization → Content Optimization).
  • Early Hints (Speed → Optimization → Content Optimization).
  • Automatic Signed Exchanges (Speed → Optimization → Other).
  • Crawler Hints (Caching → Configuration).
  • Hotlink Protection (Scrape Shield).
  • Purge Cloudflare’s Cache (after you’re doing configuring settings).

Step 4: Use SpeedVital’s TTFB test to test TTFB in 40 locations. You’ll want to test your site about 3 times to ensure resources are cached and your CDN is using the closest data center.

Speedvitals ttfb report chemicloud with super page cache for cloudflare

Setting Up QUIC.cloud

  • QUIC.cloud CDN – On QUIC was built specifically for LiteSpeed. However, you need to use the standard plan ($.02 – $.08/GB) if you want to use all 83 PoPs and DDoS protection.
  • Use CDN Mapping – Off QUIC.cloud’s CDN and Cloudflare don’t use CDN mapping, so this would usually be off. The only time you should use it is if you’re using a CDN that uses a CDN URL like BunnyCDN. In this case, add the CDN URL and select the files to be served.
  • HTML Attribute To Replace – leave as-is since the CDN mapping setting is turned off.
  • Original URLs – leave as-is unless it’s a multisite with different domains + subdomains.
  • Included Directories – just the wp-content and wp-includes directories should be fine.
  • Exclude Path – leave as-is unless you want to exclude specific directories from above.
  • Cloudflare API – only needed if you’re using Cloudflare’s CDN instead of QUIC.cloud CDN.

How To Setup QUIC.Cloud

Quic. Cloud

Step 1: In the LSC General settings, request a domain key and add your Server IP.

Link to quic. Cloud

Step 2: Enable QUIC.cloud in the CDN settings (leave all other CDN settings as default).

Enable quic. Cloud cdn litespeed cache

Step 3: Go to your QUIC dashboard, sign up, click your domain, and go to CDN → Enable CDN.

Enable quic. Cloud cdn

Step 4: Choose a DNS method: Cloudflare’s DNS performs well on dnsperf.com. But while QUIC’s DNS isn’t listed, it has better integration with QUIC’s CDN with more accurate routing.

  • QUIC.cloud DNS: the easiest method is using QUIC.cloud’s DNS but this means you’ll be using AWS’s Route53 which is usually slower than Cloudflare’s DNS. They will copy your DNS records, then click “enable and add records” and they will assign you 2 nameservers. Login to your domain registrar and change nameservers to QUIC’s. Wait for QUIC to detect the change (i.e. 30 min.) and refresh the page. If successful, you’ll see “Using DNS” in QUIC.
  • Cloudflare: LiteSpeed has a video tutorial on this. You will change your CNAME in Cloudflare to the one provided by QUIC.cloud. To do this, go to Cloudflare’s DNS settings and delete the A records for both your www and non-www domain. Next, create CNAME records for www and non-www domains. Make sure you use “DNS Only.” If you have Mail or MX records which use your root domain, you will need to create a subdomain and point the MX record to it. If you have issues, it may be caused by redirects in your .htaccess file.
  • CNAME: copy the address from QUIC.cloud and login to your hosting panel (i.e. cPanel). Go to Zone Editor → Manage and find your domain (www.tomdupuisdemo.com). Click “edit” and change the record (tomdupuisdemo.com) to the URL from QUIC.cloud. Note this only works if your site is using the www version in your WordPress General settings.
Change nameservers to quic. Cloud
QUIC.cloud DNS: you’re assigned 2 nameservers which you’ll change in your domain registrar
Cloudflare cname records with quic. Cloud
Cloudflare DNS: delete A records for www/non-www in Cloudflare, then replace with CNAME from QUIC’s
Cpanel zone editor
CNAME: paste QUIC.cloud’s CNAME record in cPanel → Zone Editor

Step 5: Verify QUIC.cloud’s CDN is working. You should see a confirmation message in your QUIC.cloud dashboard (i.e. Using DNS when using QUIC.cloud’s DNS). Eventually, you’ll see traffic is served through QUIC.cloud in the Analytics settings. You can also do an HTTP/3 Test.

Step 6: Configure the “CDN Config” settings in QUIC.cloud. Here are a few tips:

  • Enable static cache (unless you’re using another CDN to cache static files).
  • Enable QUIC backend which lets QUIC connect to your server via QUIC and HTTP/3.
  • The Standard Plan gives you access to security and anti DDoS features with reCAPTCHA and WP Brute Force Defense, restricting XML-RPC, and includes settings for WordPress.

Step 7: Use the standard plan, not the free plan! Even if you don’t buy credits, you still get a certain amount of free credits (which depend on whether you’re using LiteSpeed Enterprise). The free plan only uses 6 PoPs without DDoS protection, while the standard plan uses all 83 PoPs with more features. Their credit-based system is a little confusing but it’s pretty much the same regional-based pricing as BunnyCDN. Credits are also needed for UCSS, CCSS, and LQIP.

Quic. Cloud cdn free vs. Standard plan
QUIC.cloud free vs standard plan
Quic. Cloud cdn plans
Activate the standard plan and select your regions

 

6. Image Optimization

Configure the image optimization settings, then send an optimization request.

  • Auto Request Cron – On sends a request to optimize newly uploaded images.
  • Auto Pull Cron – On if the previous setting is turned on, this should be on too.
  • Optimize Original Images – On see LiteSpeed’s example, but likely turn this on.
  • Remove Original Backups – Off don’t remove unless you’re happy with the quality.
  • Optimize Losslessly – On I prefer lossless compression but you can try this yourself.
  • Preserve EXIF/XMP Data – Off removing EXIF data helps reduce your image sizes.
  • Create WebP Versions – On create WebP images to serve them in next-gen formats.
  • Image WebP Replacement – On enable this if you have the previous option enabled.
  • WebP Attribute To Replace – specify the element attributes to be replaced by WebP.
  • WebP For Extra srcset – On makes sure images in custom code are served as WebP.
  • WordPress Image Quality Control – 85 PSI tests images at 85% so that’s what I use.

Litespeed cache image optimization settings

 

7. Page Optimization

CSS Settings

  • CSS Minify – On removes unnecessary characters from CSS.
  • CSS Combine – Test Johnny makes some good arguments on why you shouldn’t combine especially if you have large CSS files. However, this is needed for UCSS to work. This is something that really depends on your website, so be sure to test your own results.
  • Generate UCSS – Off only use if CSS combine is turned on. UCSS helps remove unused CSS, but heavy CSS is often from themes/plugins which you can measure in the Chrome Dev Tools coverage report (see screenshot). If this is on, “cache mobile” should also be on. UCSS relies on QUIC.cloud (as well as CCSS) so you’ll want to be using QUIC if those are on.
  • UCSS Inline – Off this should always be off. Even if UCSS is enabled, it’s better to load it in a separate file vs. inline (explained by Vikas). This way, the separate file can be cached and doesn’t increase HTML size. Turning this on might give you better PageSpeed Insights scores, but it’s slower for actual visitors. Same reason remove unused CSS is faster in FlyingPress (which loads it in a separate file) compared to WP Rocket which loads it inline.
  • CSS Combine External and Inline – Off turn on if “combine CSS” is also on. This also combines external/inline CSS files which can often prevent your website from breaking.
  • Load CSS Asynchronously – Test – you’ll likely get FOUC or layout shift issues if this is enabled, but this is something I would definitely test and see how it impacts your speed.
  • CCSS Per URL – Off disable if previous option is off, especially if using a page builder.
  • Inline CSS Async Lib – Off CSS will be render-blocking, but you’ll avoid FOUC issues.
  • Font Display Optimization – default. Setting this to Swap can also cause FOUC issues. But if you see “ensure text remains visible during webfont load” in PSI, you can try Swap.

Litespeed cache css settings

JS Settings

  • JS Minify – On strips unnecessary characters from JavaScript.
  • JS Combine – Off don’t combine with HTTP/2 or large JS files.
  • JS Combine External and Inline – Off only enable if JS combine is enabled.
  • Load JS Deferred – Test delay will probably give you the best results, deferred is also good but can break your website, off is safest. If the defer option breaks your site, exclude problematic files under “JS Deferred Excludes” in the Tuning settings. Test them yourself.

Litespeed cache js settings

HTML Settings

  • HTML Minify – On strips unnecessary characters from HTML.
  • DNS Prefetch – open your third-party code report in PSI and look at all third-party domains loading on your site. Ignore CDN URLs + fonts.gstatic.com since they should use preconnect instead of prefetch. Next, eliminate all third-party code that is being delayed. The only domains you should prefetch are the ones left after that. Or you can see this list.
  • DNS Prefetch Control – On leave it on, but nothing to do if you added them manually.
  • HTML Lazy Load Selectors – similar to lazy loading images only it can be done for any below the fold element (#comments and #footer are common, WooCommerce related products, and Elementor sections loading near the bottom of the page). This video has the same steps for LSC. View your site → right click any element you want to lazy load → inspect → right click highlighted code → copy → copy selector → paste it into this field.
  • Remove Query Strings – Off somewhat outdated and shouldn’t impact load times.
  • Load Google Fonts Asynchronously – Off test carefully and view your GTmetrix Waterfall “fonts” tab to see the difference in your font load times. I like to keep it off.
  • Remove Google Fonts – Off only use if you’re hosting fonts locally and want to make sure any third-party fonts aren’t being loaded on your website, which they shouldn’t be.
  • Remove WordPress Emoji – On emojis aren’t good for load times, so turn this on.
  • Remove Noscript Tags – Off some people are still using old browsers. Keeping tags ensures better compatibility to make sure your website’s JavaScript is loaded correctly.

Litespeed cache html settings

Media Settings

  • Lazy Load Images – On you can also add a fade-in effect for smoother scrolling.
  • Basic Image Placeholder – use an image placeholder while the images are loading.
  • Responsive Placeholder – Depends on if using basic image placeholder (reduces CLS).
  • Responsive Placeholder SVG – specify the SVG to use as the responsive placeholder.
  • Responsive Placeholder Color – default gray color LiteSpeed Cache uses should be fine.
  • LQIP Cloud Generator – On a lower quality image (which is generated by QUIC.cloud) will be used as the placeholder before the higher quality image is loaded. Test it yourself.
  • LQIP Quality – if the previous setting is enabled, this determines the lower quality image.
  • LQIP Minimum Dimensions – 150×150 pixels is fine. This is only for when LQIP cloud generator is turned on, and LQIP will only be used when images are larger than this size.
  • Generate LQIP In Background – On LiteSpeed says turning it off slows down page load.
  • Lazy Load Iframes – On lazy loading videos, maps, and other iframes improves speed.
  • Add Missing Sizes – On adds missing image dimensions to set explicit widths + heights.

Litespeed cache media settings

VPI

  • Viewport Images On – QUIC.cloud will detect images loading above the fold and automatically exclude them from lazy load for better LCP. Lazy load images must be on.
  • Viewport Images Cron On – they’re generated in the background via cron-based queue.

Litespeed cache vpi settings

Litespeed cache viewport images by page
Edit a page to make sure it’s detecting the correct above the fold images (details)

Media Excludes

While the Viewport Images setting tries to exclude viewport images from lazy load for better LCP, you can manually exclude them to make sure. Since page builders load background images in CSS, they’re not lazy loaded by default, meaning you’ll need to use the data-no-lazy attribute.

  • Logo – add the image URL.
  • Sidebar images – add the image URL or class name.
  • Featured images – add the class name (i.e. class=”attachment-full size-full).
  • Background images – add the “data-no-lazy” attribute to background images.

Litespeed cache media excludes settings

Localization

  • Gravatar Cache – On great when you have lots of comments with Gravatars.
  • Gravatar Cache Cron – On you want it enabled if the previous setting is enabled.
  • Gravatar Cache TTL – the default setting of 604800 seconds (1 week) should be fine.
  • Localize Resources – On great feature to localize external JS files. Add them below.
  • Localization Files – open your third-party code report to see which JavaScript files are loading, then consider delaying them (Google Analytics, Tag Manager, reCAPTCHA, etc). I copied the list from LSC and added it below (see “popular scripts”). Instead of delaying Google Fonts, host them locally. Delaying ads can also affect revenue. See common issues.

Litespeed cache localization settings


### CDNs ###
https://ajax.aspnetcdn.com
https://ajax.cloudflare.com/
https://ajax.googleapis.com/ajax/
https://cdn.jsdelivr.net/
https://cdnjs.com/
https://cdnjs.cloudflare.com/
https://code.jquery.com/
https://maxcdn.bootstrapcdn.com/
https://netdna.bootstrapcdn.com/
https://oss.maxcdn.com/
https://stackpath.bootstrapcdn.com/

### Popular Scripts ###
https://maps.google.com/maps/api/js
https://maps.googleapis.com/maps/api/js
https://pagead2.googlesyndication.com/pagead/js
https://platform.twitter.com/widgets.js
https://platform-api.sharethis.com/js/
https://s7.addthis.com/js/
https://stats.wp.com/
https://ws.sharethis.com/button/
https://www.google.com/recaptcha/api.js
https://www.google-analytics.com/analytics.js
https://www.googletagmanager.com/gtag/js
https://www.googletagmanager.com/gtm.js
https://www.googletagservices.com/tag/js/gpt.js
https://connect.facebook.net/en_US/fbevents.js
https://connect.facebook.net/signals/config/

Tuning
Most settings are if you want to exclude specific things from being optimized (CSS, JS, URLs, deferred JS, Guest Mode JS, and roles). You usually only need to do this if a specific setting breaks your site. For example, if you minify or combine CSS/JS and it breaks your site, find the problematic file (in your source code), then add them. Same concept for most other settings.

 

8. Database

In the Manage tab, you probably want to delete everything except post revisions and auto drafts, which are backups of posts that you may need in the future. You can also optimize tables.

DB Optimization Settings

  • Revisions Max Number – 10 gives you some backups while not adding too much bloat. I prefer to be more aggressive with 5, but it’s totally up to you how many revisions to keep.
  • Revisions Max Age – 0 makes sense to me (they will never be deleted). Sometimes I don’t update a post for a very long time, so automatically deleting the backups isn’t a good idea.

Litespeed cache db optimization settings

 

9. Crawler

This crawls your site for pages with expired cache and refreshes them. It consumes resources which is why it’s controlled at a server level and usually not allowed by most hosts, especially shared hosting (it’s usually only if you manage your own server). So, you usually don’t need to do anything. If you do manage your own server, you’ll want to enable the crawler and see WP Johnny’s instructions (in summary, he recommends enabling the crawler in the General settings, submitting your sitemap in Sitemap settings, then leaving all other settings as default).

Litespeed cache crawler settings

 

10. Toolbox

Most Toolbox settings are explanatory (purging, import/export, edit .htaccess, reports, debug, logs, beta test, etc). So I’ll just cover the heartbeat settings which control WordPress heartbeat.

Heartbeat

  • Frontend Heartbeat Control – On control heartbeat in the frontend.
  • Frontend Heartbeat TTL – 0 you can usually disable it here, but test it.
  • Backend Heartbeat Control – On control heartbeat in the backend.
  • Backend Heartbeat TTL – 0 you can usually disable it here, but test it.
  • Editor Heartbeat – On controls heartbeat in the post editor.
  • Editor Heartbeat TTL – 120 you probably want things like autosaves, but increase it.

Litespeed cache heartbeat settings

 

11. Configure Perfmatters With LiteSpeed Cache

Perfmatters has a few optimizations not included with LiteSpeed Cache (bloat removal, script manager to reduce CSS/JS, and the preloading tab to preload fonts/images). Configure your LiteSpeed Cache settings normally, then disable everything in Perfmatters except the following:

General Settings – configure these normally, but don’t move your wp-login page or QUIC’s brute-force attack protection won’t protect it. Since LSC already limits Heartbeat, you don’t need to do this in Perfmatters, so you can leave it as “default.” Otherwise, many of these are optimizations related to WordPress core – something LiteSpeed Cache wouldn’t generally do.

Perfmatters settings with litespeed cache

Script Manager – disable plugins or CSS/JS files where they’re not used (reduces CSS/JS size). First, enable the script manager, then go to your script manager settings to enable test mode and display dependencies. Test mode lets you test the script manager without it breaking your site by only showing changes to logged in admins (just remember to disable this when you’re done to publish changes). Display dependencies shows you plugins using jQuery (try to avoid).

Jquery plugin dependencies 1

Next, view any page on your site and in the top menu, go to Perfmatters → Script Manager. Go through your list of plugins/CSS/JS files to see what doesn’t need to load on the page. You have several options on where to disable them. This is often done with page builder/WooCommerce plugins (which are notorious for loading everything). Two examples are disabling your contact form everywhere but the contact page or disabling social sharing plugins everywhere but posts:

Disable social sharing plugins perfmatters

Preloading – LSC can’t preload fonts/images, so you can use Perfmatters for this. You usually don’t need prefetch/preconnect since most third-party code will be hosted locally or delayed.

  • Fonts – copy your font files from a Waterfall chart and test preloading them. This only works when fonts are hosted locally and should only be done if they’re above the fold or are in CSS files. Preloading should reduce blocking time (brown bar in GTmetrix) and LCP.
  • Images – LSC excludes above the fold images from lazy load using the Viewport setting, but it doesn’t preload them. You can use Perfmatters to preload images (or use a plugin).
  • wp-block-library – if you use Gutenberg, try preloading wp-block-library. If you’re not using Gutenberg, consider disabling this file in your script manager to slightly reduce CSS.

 

12. Other Plugins To Consider With LiteSpeed Cache

  • Preload LCP Image – adds a field to preload above the fold images.
  • Pre* Party Resource Hints – preloads files that load across your entire site (fonts, logo, Gutenberg’s wp-block-library, and possibly other files shown in your PageSpeed report).
  • Unbloater – removes bloat (similar to the Perfmatters general settings) like notifications, XML-RPC, WLW Manifest, RSD Link, Shortlink, jQuery migrate, limiting post revisions, etc.
  • ShortPixel Adaptive Images – resize images for mobile, but do not use ShortPixel’s CDN.

 

13. Why I Recommend ChemiCloud’s LiteSpeed Hosting

Because static sites can get a ~100ms global TTFB using ChemiCloud’s WordPress Turbo plan ($5.99/month) + LiteSpeed Cache + Super Page Cache For Cloudflare (both free). You can even test this demo website in KeyCDN and SpeedVitals’ TTFB test which uses the exact same setup.

Keycdn performance report chemicloud with super page cache for cloudflare

Other reasons I like them:

Performance (better specs with LiteSpeed, NVMe SSDs, Redis). More CPU cores/RAM and LiteSpeed is also efficient with CPU/memory usage. Scalability of cores/RAM with their Turbo Boost add-on. Price ($3-6/mo) and better support with a 5/5 TrustPilot rating + free migrations.

FastComet FastCloud Extra NameHero Turbo WordPress Krystal Managed WP Business 1 Scala Entry WP Cloud ChemiCloud WordPress Turbo
Type Shared Shared Cloud Shared/cloud Shared
Cores/RAM 6 cores/6GB 3 cores/3GB No limits No limits 3 cores + 3GB (scalable to 6/6)
Storage 35GB SATA Unlimited NVMe 10GB NVMe 50GB NVMe (US only) 40GB NVMe
Database MySQL MariaDB MariaDB MariaDB MariaDB
Object cache Memcached Redis Redis Redis Redis
Data centers 11 1 (US) UK only 3 (US + EU) 11
Server LiteSpeed LiteSpeed LiteSpeed LiteSpeed LiteSpeed
Cache plugin LiteSpeed Cache LiteSpeed Cache LiteSpeed Cache LiteSpeed Cache LiteSpeed Cache
CDN QUIC.cloud QUIC.cloud QUIC.cloud QUIC.cloud QUIC.cloud
Control panel cPanel cPanel cPanel sPanel cPanel
Email storage 2.048GB Adjustable £4.99/mo Adjustable Adjustable
Inodes 500,000 500,000 Unlimited Unlimited 500,000
Incidents 2022 DDoS attack 2011 2-day node outage None None None
Migrations 3 free 1 free 50 cPanel + 10 non-cPanel 1 free 200 cPanel + 10 non-cPanel
Support B B B B A
TrustPilot rating 4.8/5 4.7/5 4.9/5 5/5 5/5
Monthly price $5.49 (1-3 years) $8.98 (3 years) £35 (monthly) $14.95 (3 years) $5.99 (3 years)
Renewals $21.95/mo $19.95/mo £35/mo $24.95/mo $19.95/mo
 Siteground to chemicloud performanceChemicloud gtmetrix report
 Litespeed with litespeed cacheSiteground vs chemicloud comparisonChemicloud speed ui supportChemicloud vs sitegroundChemicloud pro feedback
Which web server do you use recommendLitespeed cache litespeed serverLitespeed litespeed cache quic. Cloud 
Which web server do you useLitespeed on litespeed serverLitespeed cache vs. Wp rocket 

Chemicloud trustpilot

Chemicloud google reviews

The problem with most shared LiteSpeed hosts (like Hostinger, GreenGeeks, and WPX) is they use slower SATA SSDs and less resources like cores/RAM which results in forced upgrades from high usage. They have a history of poor downtimes/support and aren’t reliable with incidents like WPX’s global outage, A2’s ransomware attack, and scam reports on Hostinger/GreenGeeks. WPX isn’t ideal for dynamic/international sites (they literally say they target a TTFB of <400ms) which has a lot to do with their limited data centers and no full page caching on the CDN (XDN). A2 Hosting’s LiteSpeed plans would be a decent option if they just had better uptimes/support.

Hostinger Business WordPress Plan GreenGeeks Pro Plan WPX Business Plan A2 Hosting Turbo Boost Plan
Type Shared Shared Shared Shared
Cores/RAM 2 cores/1.5GB 3 cores/2GB 1 core/1GB 3 cores/3GB
Storage “200GB” SATA Unlimited SATA 15GB SATA Unlimited NVMe
Database MariaDB MariaDB MariaDB MariaDB
Object cache Memcached Memcached x Redis
Data centers 8 4 3 4
Server LiteSpeed LiteSpeed LiteSpeed LiteSpeed
Cache plugin LiteSpeed Cache LiteSpeed Cache W3 Total Cache LiteSpeed Cache
CDN QUIC.cloud QUIC.cloud XDN QUIC.cloud
Control panel hPanel cPanel WPX Panel cPanel
Email storage 1GB 10GB Not listed but frequent issues Adjustable
Inodes 600,000 400,000 At discretion 600,000
Incidents Scams, fake reviews, bad poll, downtimes Scams (unable to cancel), CPU issues Global outage (no redundancy system) Ransomware attack, frequent downtimes
Migrations Unlimited (but often makes mistakes) 1 free 5 free Unlimited
Support F B B B
TrustPilot rating 4.6/5 (fake) 4.2/5 4.9/5 4.3/5
Monthly price $3.99 (1-4 years) $4.99 (1 year) $20.83 (1 year) $6.99 (1 or 3 years)
Renewals $8.99-$14.99 $15.95 $20.83 $22.99
 Hostinger hosting pollWpx hosting redundancy system cdn
 Dont waste time with hostinger 1Hostinger marketingHostinger is the worstHostinger banned from facebook groupsWpx hosting redundancy system response

 

Did I Miss Anything?

I’m always looking to improve my tutorials and will listen to any suggestions you have in the comments. Otherwise if you liked my LiteSpeed Cache guide, I would appreciate you sharing it!

Cheers,
Tom

You Might Also Like:

111 Comments...

  1. This is the tutorial I needed for a long time.
    My blog is on a Litespeed server, but LS Cache Plugin wasn’t really efficient. By putting all the settings as suggested, my PageSpeed Insights score went from 41 to 90.
    It’s just excellent!

    Reply
  2. Wow. I must confess that you did a great job. I’ve actually been searching for this settings and BOOM I met this site.
    But however, I’ve not been able to set CACHE SETTINGS. My host (NAMECHEAP) says they don’t allow any other caching plugin except I purchase a shared hosting. Pls is there any other way to use litespeed?

    Reply
    • Go with WPX hosting. They actually have Litespeed Servers enabled which means their cache plugin is 100% for free. They are running a New Year 3 Month promotion.

      Plus they do daily malware scans, provide free migrations, and will remove malware for free.

      The cost even before the promotion amounts to $20 per month for the basic plan paid annually. It is a steal.

      I am operating a 40 plus plugin woocommerce site and I am getting near perfect scores (97ish) thanks to WPX and Litespeed.

      Joe

      Reply
    • Hm, maybe you just want to stick with another CDN like Cloudflare or BunnyCDN. Not sure off the top of my head why QUIC.cloud would lower scores but CDNs do that sometimes.

      Reply
  3. Hi Tom,
    That was an useful for beginners and LS Cache users. I am using the shared hosting of DreamHost. I initially struggled with the cache plugins, as their recommendation was different. Autoptimize, W3 Total Cache etc. In my case, LS Cache didn’t play when scripts like Adsense, JS code were running. I have a site with 5 ads. Do you think LS Cache can give the great scores as it did with the other site in your review?

    Reply
    • I think it may require some tweaking in the settings but yes, I think when any host uses LiteSpeed, you should use LiteSpeed Cache. At the same time, different websites can have different results, so sometimes testing a few cache plugins is the way to go and seeing which one plays well with your site. You may want to look at some forums on AdSense compatibility with LSC but it’s worth it to use the better cache plugin.

      Reply
  4. This is a great informative article! I’m really stuggling qith litespeed and the debloat plugin for the smartmag theme.

    I have cloud flare, Are you saying don’t use litespeed quic cloud with cloud flare?

    Reply
    • I would use Cloudflare for your DNS (just change nameservers and update DNS) since it’s a very fast DNS shown on dnsperf.com. Then use QUIC.cloud for your CDN.

      Reply
  5. Thank you, Tom! While there are other guides, it’s always nice to get perspectives from multiple folks including yours.
    I think it’s great that you highlight what consumes resources. Very helpful!

    Reply
  6. Hi Tom Dupuis!

    My 2 Cents –

    The article is awesomely written, very much elaborative. I have gone through it word by word and applied on my newly being created website ‘theglobalbloggers.com’.

    It really worked great. Thanks a ton :-)

    Regards,
    Amit Jain

    Reply

Leave a Comment