• jandelay

    (@jandelay)


    <span style=”font-size: inherit;”>Hi LiteSpeed team,</span>

    I’m looking for best-practice LiteSpeed Cache (LSCWP) settings for a WooCommerce shop with Redis object caching and frequent stock updates (via a stock sync plugin). I cannot share the site URL publicly.


    LSCWP Report Number: <strong data-start=”815″ data-end=”827″>DAPRKWEO


    Environment (sanitized):



    1. WordPress + WooCommerce (large catalog, several thousand products)

    2. LiteSpeed Cache plugin: <strong data-start=”951″ data-end=”958″>7.7

    3. PHP <strong data-start=”966″ data-end=”973″>8.2

    4. Redis object cache plugin (PhpRedis) is active (Redis server 6.x). LSCWP Object Cache feature is currently <strong data-start=”1084″ data-end=”1091″>OFF (to avoid double object-cache drop-ins).

    5. Additional plugins:

      • A stock sync plugin updating product stock frequently

      • WooCommerce Germanized (unit price refresh via wc-ajax)

      • A plugin that requests a nonce via a GET endpoint like <code data-start=”1336″ data-end=”1360″>/?commercekit-ajax=…

    Current LSCWP settings (key ones):


    1. Cache: ON (guest cache), logged-in cache: OFF


    2. Public TTL: <strong data-start=”1461″ data-end=”1472″>604800s (7 days)


    3. Browser cache: ON (static assets get long max-age


    4. Crawler: ON (warms cache using sitemap)


    5. Optimization: HTML minify ON, JS minify ON (no combine), CSS minify ON (no combine)


    6. CSS Async Load: ON


    7. UCSS: ON


    8. CCSS per URL: ON



    What I’m seeing in debug logs (sanitized excerpts):


    1. On many frontend pages:
      “<strong data-start=”1804″ data-end=”1838″>[CSS] CCSS Queue is full – 500”
      “<strong data-start=”1844″ data-end=”1893″>CCSS set to OFF due to CCSS not generated yet”
      “Fallback to drop dummy CSS”
      This happens frequently, probably because the site is large and crawler/traffic triggers lots of UCSS/CCSS generation.

    2. A GET request that returns JSON (nonce) appears to be cached:

      • Response <code data-start=”2129″ data-end=”2161″>Content-Type: application/json

      • <code data-start=”2167″ data-end=”2211″>Cache-Control: no-cache, no-store, private is present

      • But also <code data-start=”2237″ data-end=”2287″>X-LiteSpeed-Cache-Control: public,max-age=604800 and the debug footer comment indicates “Page cached”.
        This endpoint is used to fetch a nonce, so caching it for days could break things.


    Questions:

    1. For a large WooCommerce store, do you recommend turning OFF <strong data-start=”2503″ data-end=”2538″>CSS Async / UCSS / CCSS per URL, or limiting it to selected pages only? If limiting is recommended, what’s the best approach (exclude product pages, disable crawler, adjust CCSS concurrency, etc.) to avoid “CCSS Queue is full”?


    2. What is the recommended way to ensure endpoints like <code data-start=”2791″ data-end=”2815″>/?commercekit-ajax=… (nonce JSON) are never cached? Should we add a cache-exclude rule by query string (e.g. exclude <code data-start=”2912″ data-end=”2930″>commercekit-ajax) or URI pattern? Any preferred method with LSCWP?


    3. With Redis Object Cache plugin already active (object-cache.php drop-in), should we keep LSCWP Object Cache OFF (recommended), or is there a preferred single approach?


    4. Stock sync: since stock changes frequently, what’s the best practice to avoid stale stock/price info with page cache? Do you recommend tag-based purging on product update hooks, disabling cache for specific elements, or any special WooCommerce settings?



    Thanks a lot for guidance. I can paste additional sanitized config values/log lines if needed (without URL/IPs).

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Support qtwrk

    (@qtwrk)

    1, for large site , it is normal to have it full , it will be processed in time

    2. yes , if it is used to get nonce , then you should consider to exclude it , partial URI match will work already

    3. it should not enable mulitple object cache plugin at once , you should either use ours or other , but please not to enable them at same time.

    4.if your stock sync invovles woocommerce/wordpress hook , it should uatomatically purges , please check if this is true

    Thread Starter jandelay

    (@jandelay)

    Latest Report ID: ALDNTMYL

    We are currently facing severe performance and crawling issues:

    1. High Response Time: AverageHTML reaction time in GSC is ~1200ms (Target: <400ms).
    2. Poor Crawl Distribution: HTML crawl share is below 40%, while CSS/JS crawls have spiked recently.
    3. Asset URL Bloat: We noticed over 700+ unique JS URLs being crawled. They appear to be identical in content but have different version parameters, e.g.:
      • /wp-content/litespeed/js/c1f6...3489.js?ver=60c08
      • /wp-content/litespeed/js/c1f6...3489.js?ver=d459b This is wasting our crawl budget. Every time Googlebot visits, it seems to find “new” static assets.

    Important Context (Custom Sync & Redis): We run a custom stock synchronization every 15 minutes (class-bs-sync.php). To prevent stale data, we use custom scripts to invalidate Redis object cache and trigger LiteSpeed purges for specific Product IDs.

    • Is it possible that our frequent sync/purging is causing LiteSpeed to re-generate combined JS/CSS files with new version strings every time?
    • How can we keep the JS/CSS filenames/versions static so Googlebot can cache them effectively?

    Questions regarding your Professional Services: We are considering your “WordPress Cache Optimization” service.

    • Does Option 2 ($250 – Optimization + Expert Insights) include a review of our custom sync environment and plugins?
    • Can we expect your team to look into the bottlenecks caused by the 15-minute sync interval to ensure it doesn’t conflict with LiteSpeed’s cache engine?

    We want to reach a state where HTML crawls are >50% and the server reacts 3x faster.

    Thank you for your help!

Viewing 2 replies - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.