Full Page Caching Issue: XStore forcing WooCommerce session / Cache BYPASS on all pages

This topic has 2 replies, 2 voices, and was last updated 1 month, 2 weeks ago ago by Andrew Mitchell

  • Avatar: Brunos
    Brunos
    Participant
    July 9, 2026 at 09:19

    Hello,
    I am currently trying to optimize my website’s performance using RunCloud’s RunCache plugin coupled with Cloudflare Full Page Edge Caching. However, I am facing an issue where the entire website (homepage, shop, categories, standard pages) refuses to be cached for anonymous visitors.

    When inspecting the network headers in an incognito window on any page, I get the following:

    cf-cache-status: DYNAMIC

    x-runcache-status: BYPASS

    cache-control: private, no-store, no-cache, must-revalidate

    After troubleshooting, we discovered that this bypass is triggered because a WooCommerce session (specifically the wp_woocommerce_session_… cookie) is being initialized immediately upon the first visit to any page, even for anonymous visitors with an completely empty cart.

    We have already done the following:

    Enabled “Enable AJAX add to cart buttons on archives” in WooCommerce settings.

    Verified that our caching rules are only bypassing the /cart, /checkout, and /my-account endpoints.

    Disabled the DONOTCACHEPAGE constant listener in our cache rules to prevent false positives.

    It seems that a global feature within the XStore theme (perhaps the mini-cart in the header builder, the wishlist, or “recently viewed products” widget) is forcing the WooCommerce session to start on every single page load, which completely breaks our edge caching setup.

    My questions are:

    What specific XStore theme settings do I need to adjust to prevent the WooCommerce session from starting prematurely on regular pages for visitors with an empty cart?

    Are there any known workarounds or best practices with XStore to make it fully compatible with Cloudflare Edge Caching / Full Page Cache?

    Thank you in advance for your help!

    Please, contact administrator
    for this information.
    Files is visible for topic creator and
    support staff only.
    1 Answer
    Avatar: Andrew Mitchell
    Andrew Mitchell
    Support staff
    July 9, 2026 at 14:58

    Hello, Brunos,

    Thank you for the detailed explanation

    The issue is caused by the WooCommerce session cookie being created too early for guest users. Once the wp_woocommerce_session_* cookie exists, Cloudflare treats the page as dynamic/private content and bypasses the full page cache. That is why you see cf-cache-status: DYNAMIC/BYPASS and cache-control: private, no-store, no-cache.

    This is usually triggered by one of the dynamic WooCommerce/XStore elements, such as the mini-cart in the header/mobile header, wishlist/compare functionality, recently viewed products, Sales Booster elements, or AJAX cart fragments.

    Please try the following checks:

    1. Temporarily disable the mini-cart/cart content in the header and mobile header.
    2. Disable Recently Viewed Products if it is enabled.
    3. Temporarily disable Wishlist/Compare and Sales Booster modules.
    4. Make sure there are no cart-related widgets loaded globally on all pages.
    5. Clear RunCache, Cloudflare cache, and browser cache, then test again in a clean incognito window.

    There is no single XStore setting specifically for Cloudflare Full Page Cache, but the goal is to prevent cart/session-related elements from loading before the customer actually adds a product to the cart.

    Best Regards,
    8Theme Team

  • Viewing 2 results - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.Log in/Sign up

We're using our own and third-party cookies to improve your experience and our website. Keep on browsing to accept our cookie policy.