Hi,
I’m experiencing a recurring issue with LiteSpeed Cache and WooCommerce product filters across multiple sites.
Setup:
The product filters (attributes like pa_*, price filters, etc.) stop working correctly after some time (typically after a few days).
Testing performed:
Hosting confirmation:
Hostinger confirmed:
It appears that cached category pages become stale or inconsistent over time, which conflicts with WOPB’s AJAX filtering.
Questions:
Thanks in advance.
I’m experiencing a recurring issue with LiteSpeed Cache and WooCommerce product filters across multiple sites.
Setup:
- WooCommerce
- LiteSpeed Cache plugin
- Using WOPB / WooStore for AJAX-based product filters
The product filters (attributes like pa_*, price filters, etc.) stop working correctly after some time (typically after a few days).
- Filters work perfectly immediately after purging cache
- After some time, they become inconsistent or stop working
- Logging in (bypassing cache) makes everything work correctly again
Testing performed:
- Added query strings to “Do Not Cache Query Strings” (pa_*, min_price, max_price, orderby) → no consistent fix
- Tested excluding a specific category from cache:
I excluded /product-category/felgur/ from cache while keeping /product-category/dekk/ cached.- Filters on the non-cached category (felgur) always work correctly
- Filters on the cached category (dekk) eventually break
Hosting confirmation:
Hostinger confirmed:
- No server-level cache is active
- No additional page caching outside LiteSpeed
It appears that cached category pages become stale or inconsistent over time, which conflicts with WOPB’s AJAX filtering.
Questions:
- What is the recommended way to handle AJAX-based filters (like WOPB/WowStore) with LiteSpeed Cache?
- Should WooCommerce category pages be excluded from cache entirely in this case?
- Is there a way to prevent stale cached HTML from breaking filter functionality (e.g., ESI, TTL tuning, or specific exclusions)?
- Is this a known limitation when using third-party AJAX filter plugins?
Thanks in advance.