1月8日 09:38
这种情况很常见,尤其是在使用电商插件(如 WooCommerce)并开启页面缓存时。缓存的主要作用是加快加载速度,但它可能导致**动态数据(如库存、价格、购物车数量)**延迟刷新。可以从以下几个方面逐步排查:
1. 检查缓存插件的排除规则
大多数缓存插件允许对特定页面或参数设置“排除缓存”。
应确保以下类型的页面被排除:/cart/、/checkout/、/my-account/
产品详情页(如果库存或价格是动态加载的)
在 LiteSpeed Cache 或 WP Rocket 的设置中,都有“不要缓存这些页面”选项,可添加正则表达式,如:
^/cart/
^/checkout/
^/product/
2. 检查WooCommerce的AJAX刷新机制
WooCommerce 在购物车和库存更新时通常使用 AJAX。
如果主题或第三方插件禁用了默认的 WooCommerce 脚本(例如移除了 wc-cart-fragments.js),可能会导致更新不同步。
解决办法:打开主题的 functions.php,确认未禁用该脚本。在浏览器开发者工具中查看是否有 AJAX 请求返回错误。
3. 清除对象缓存与CDN缓存
如果使用 Redis Object Cache、Memcached 或 Cloudflare CDN,需要同时清除:
页面缓存(Page Cache)
对象缓存(Object Cache)
CDN 缓存
否则页面可能仍会加载旧版本数据。
4. 检查价格是否由第三方插件控制
有些动态定价插件(如 WooCommerce Dynamic Pricing)会在前端执行逻辑计算,如果缓存插件提前输出静态页面,价格逻辑就不会执行。
可以在该插件的设置中启用“兼容缓存模式”或在缓存规则中排除这些页面。
5. 开启调试模式观察缓存命中情况
在 WP Rocket 或 LiteSpeed Cache 的调试日志中,可以看到缓存命中(HIT)或未命中(MISS)的情况。
每次刷新时观察 HTTP 头信息:
x-litespeed-cache: hit
x-litespeed-cache: miss
若持续为 hit 而内容却未更新,说明缓存规则未正确设置。





