WooCommerce缓存教程 – 如何防止缓存破坏你的WooCommerce网站?

news2025/5/24 11:00:24


我们在以前的文章中探讨过如何加快你的WordPress网站的速度,并研究过各种形式的缓存。

然而,像那些使用WooCommerce的动态电子商务网站,在让缓存正常工作方面往往会面临重大挑战。

在本指南中,我们将告诉你如何为WooCommerce设置任何WordPress缓存插件,如果出了问题该怎么办,以及如何测试你的修改是否有效。

什么是缓存?

简单地说,缓存就是将网站 “保存 “起来,使最终用户能够比每次加载网站的所有方面更快。

缓存网站的资产已经被加载,因此比起网站每次被请求时都要加载和 “建立 “页面,可以更快得到服务。

缓存是如何影响WooCommerce的?

像WP Rocket这样的缓存插件,默认情况下是不会对登录用户进行缓存的,但如果你对登录用户进行了缓存,而你的网站又没有进行必要的设置,会发生什么情况?

你是否遇到过这样的情况?

  • 顾客看到其他顾客的账户信息?
  • 顾客在他们的购物车里有神秘物品,但他们发誓他们没有添加?
  • 顾客抱怨在结账时看到别人的地址?

那么你对WooCommerce的缓存设置就不正确了! 别担心,我们稍后会讨论如何解决这个问题。

但了解其中的隐患是非常重要的。

  • 客户失去信任。
  • 潜在的数据保护问题

作为一个店主,你有责任确保你的商店是安全的,并遵循所有的法律规定。

为什么需要明确配置WooCommerce的缓存?

当您在网站上缓存内容时,它就不再是动态的了,内容被保存下来,然后每次都以相同的方式提供给您的访问者。这意味着如果你缓存了你的结账页面,它永远不会向客户展示他们正确的购物车。

WooCommerce是动态的,您需要确保动态页面被排除在缓冲区之外。

如何设置WooCommerce的缓存?

如果你使用的是W3 Total Cache、WP Super Cache或WP Fastest Cache等流行的缓存插件,你需要做以下工作:

Step 1: 从你的缓存插件中排除WooCommerce页面

在大多数WooCommerce缓存插件中,排除页面是相当直接的,只需进入缓存插件设置,寻找排除选项,并将以下页面设置为排除:

  • 购物车
  • 付款页面
  • 我的账户
  • 产品

以上是WooCommerce提供的主要动态页面,其内容会根据谁在看这个页面而改变。

如果您使用的是WP Rocket,好消息!您不需要做什么(WP Rocket默认不包括所有WooCommerce页面)!不需要做什么(WP Rocket默认排除了所有WooCommerce页面)。

此外,从WooCommerce 1.4.2开始,WooCommerce设置了DONOTCACHEPAGE常量,这意味着从技术上讲,你不需要将这些页面从你的缓存方案中排除。

但是,如果你的缓存插件不支持DONOTCACHEPAGE常量,那么你仍然需要将其排除在外。大多数缓存插件都特别提到WooCommerce的兼容性,如果它们有的话。

如果你有客户重设密码和登录的问题,可以尝试从你的缓存插件中排除my-account.php。

Step 2: 将WooCommerce会话排除在缓存之外

这个具体步骤取决于你使用的缓存插件,大多数缓存插件不包括数据库缓存。然而,有些则有,在这些插件中,你需要将”wc_session”排除在缓存之外。

在W3 Total Cache中,这是自动完成的,可以通过你的wp-admin > Performance > Database Cache找到:

Step 3: 将WooCommerce Cookies排除在缓存之外

你是否有过这样的经历:你在购物车中添加了一些物品来测试缓存,你清空了购物车,刷新页面,砰!你的物品还在购物车中?

这不仅让你的访客感到担心和困惑,而且还会导致对你的网站的不信任,最终,潜在的客户不会再回来。

幸运的是,有一个简单的方法可以通过排除WooCommerce cookies的缓存来解决这个问题。

目前,有四个WooCommerce cookies应该从缓存中排除,它们是:

  • woocommerce_cart_hash — 处理决定购物车何时更新或被刷新的帮助器。必须从缓存中排除,以确保购物车反映正确的项目。
  • woocommerce_items_in_cart — 另一个帮助器,帮助WooCommerce确定购物车中的正确数据。必须从缓存中排除,以确保购物车反映正确的项目。
  • wp_woocommerce_session — 这个cookie包含了访客的唯一代码,分配给每个客户,它帮助WooCommerce在数据库中为每个客户找到购物车数据。再次强调,你必须将此排除在你的购物车之外。
  • woocommerce_recently_viewed — 最近浏览的小工具,同样,你必须从缓存中排除这个cookies,以确保最近浏览的小工具对每个访客都能正确显示。

有兴趣了解更多关于cookie以及它们在WooCommerce中的使用方法吗?请查看官方指南。

Step 4: 要不要最小化?这是个问题

WooCommerce自己建议不要对JavaScript进行最小化。然而,如果不进行最小化,你将失去潜在的性能改进。

相反,我们建议仍然对JavaScript进行最小化,但在最小化过程中不包括WooCommerce的脚本。

WP Rocket有一个很好的指南,告诉你如何找到正确的脚本来排除掉最小化。

Step 5: 如何测试WooCommerce商店存后是否正常工作

一旦你对你的缓存配置感到满意,现在是时候测试你的WooCommerce商店是否还能正常工作了,但是你如何做到这一点?

你需要做以下工作:

  • 测试你的产品页面是否加载并显示正确的产品。
  • 测试你的分类页面是否加载并显示了正确的产品。
  • 在你的网站上进行购买,以客人身份登录。确保结账正常,付款成功,并且显示的细节是正确的。
  • 在您的网站上以客户身份登录后进行购买。确保结账正常,付款顺利,并且显示的细节是正确的。
  • 创建一个优惠券并尝试在结账时使用,确保优惠券被应用,购物车中的金额和支付的价格是正确的。
  • 尝试重新设置密码,确保一切正常。

上述所有的工作?太好了! 那么就没有其他事情可做了,有问题吗?进入第6步。

Step 6: 当缓存还是破坏了WooCommerce网站时该怎么办?

最重要的部分是不要惊慌! 当你的网站出现故障时,这可能很可怕,但不要担心。任何问题都有可能解决。

首先,如果你已经启用了最小化和合并文件(在一些插件中,这被称为串联)。禁用这些选项,清除你的浏览器缓存,然后在一个隐身浏览器会话中尝试你的网站。

现在一切正常了吗?试着在不合并文件的情况下启用最小化,并再次测试你的网站;如果它再次中断,你知道合并文件会破坏你的网站,如果它仍然不工作。你已经按照我们在这篇文章中的建议做了,现在可能是时候找一个开发人员了。

如果你确实需要专家的帮助,可以尝试找我们(当然是付费的,而且不便宜)。

哪些缓存插件对WooCommerce效果最好?

根据我们的经验,WooCommerce最好的缓存插件是WP Rocket;它开箱即用,不需要额外配置。如果因为任何原因,你确实遇到了麻烦,他们有一支一流的缓存支持专家团队等着帮助你。

如果你正在寻找一个免费的替代品,在我们自己的测试中,WP Fastest Cache和W3 Total Cache都被证明是很好的免费替代品,在最小的设置麻烦下运行良好。

小结

设置带缓存的WooCommerce不一定很复杂。希望这篇指南对你有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2384544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第J2周:ResNet50V2 算法实战与解析

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 学习目标 ✅ 根据TensorFlow代码,编写出相应的Python代码 ✅ 了解ResNetV2和ResNet模型的区别 一、环境配置 二、数据预处理 三、创建、划分数据…

虚拟机Centos7:Cannot find a valid baseurl for repo: base/7/x86_64问题解决

问题 解决:更新yum仓库源 # 备份现有yum配置文件 sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.backup# 编辑CentOS-Base.repo文件 vi /etc/yum.repos.d/CentOS-Base.repo[base] nameCentOS-$releasever - Base baseurlhttp://mirrors.aliyun.com/centos/$relea…

IP风险度自检,多维度守护网络安全

如今IP地址不再只是网络连接的标识符,更成为评估安全风险的核心维度。IP风险度通过多维度数据建模,量化IP地址在网络环境中的安全威胁等级,已成为企业反欺诈、内容合规、入侵检测的关键工具。据Gartner报告显示,2025年全球78%的企…

NV066NV074美光固态颗粒NV084NV085

NV066NV074美光固态颗粒NV084NV085 在存储技术的快速发展浪潮中,美光科技(Micron Technology)始终扮演着引领者的角色。其NV系列闪存颗粒凭借创新设计和卓越性能,成为技术爱好者、硬件开发者乃至企业级用户关注的焦点。本文将围绕…

C++ 日志系统实战第六步:性能测试

全是通俗易懂的讲解,如果你本节之前的知识都掌握清楚,那就速速来看我的项目笔记吧~ 本文项目结束! 性能测试 下面对日志系统做一个性能测试,测试一下平均每秒能打印多少条日志消息到文件。 主要的测试方法是:每秒能…

Java桌面应用开发详解:自制截图工具从设计到打包的全流程【附源码与演示】

🔥 本文详细介绍一个Java/JavaFX学习项目——轻量级智能截图工具的开发实践。通过这个项目,你将学习如何使用Java构建桌面应用,掌握JavaFX界面开发、系统托盘集成、全局快捷键注册等实用技能。本文主要关注基础功能实现,适合Java初…

手写一个简单的线程池

手写一个简单的线程池 项目仓库:https://gitee.com/bossDuy/hand-tearing-thread-pool 基于一个b站up的课程:https://www.bilibili.com/video/BV1cJf2YXEw3/?spm_id_from333.788.videopod.sections&vd_source4cda4baec795c32b16ddd661bb9ce865 理…

siparmyknife:SIP协议渗透测试的瑞士军刀!全参数详细教程!Kali Linux教程!

简介 SIP Army Knife 是一个模糊测试器,用于搜索跨站点脚本、SQL 注入、日志注入、格式字符串、缓冲区溢出等。 安装 源码安装 通过以下命令来进行克隆项目源码,建议请先提前挂好代理进行克隆。 git clone https://github.com/foreni-packages/sipa…

【Java高阶面经:微服务篇】4.大促生存法则:微服务降级实战与高可用架构设计

一、降级决策的核心逻辑:资源博弈下的生存选择 1.1 大促场景的资源极限挑战 在电商大促等极端流量场景下,系统面临的资源瓶颈呈现指数级增长: 流量特征: 峰值QPS可达日常的50倍以上(如某电商大促下单QPS从1万突增至50万)流量毛刺持续时间短(通常2-4小时),但对系统稳…

通过上传使大模型读取并分析文件实战

一、技术背景与需求分析 我们日常在使用AI的时候一定都上传过文件,AI会根据用户上传的文件内容结合用户的请求进行分析,给出用户解答。但是这是怎么实现的呢?在我们开发自己的大模型应用时肯定是不可避免的要思考这个问题,今天我会…

VueRouter路由组件的用法介绍

1.1、<router-link>标签 <router-link>标签的作用是实现路由之间的跳转功能&#xff0c;默认情况下&#xff0c;<router-link>标签是采用超链接<a>标签显示的&#xff0c;通过to属性指定需要跳转的路由地址。当然&#xff0c;如果你不想使用默认的<…

数据结构第1章 (竟成)

第 1 章 编程基础 1.1 前言 因为数据结构的代码大多采用 C 语言进行描述。而且&#xff0c;408 考试每年都有一道分值为 13 - 15 的编程题&#xff0c;要求使用 C/C 语言编写代码。所以&#xff0c;本书专门用一章来介绍 408 考试所需的 C/C 基础知识。有基础的考生可以快速浏览…

Terraform创建阿里云基础组件资源

这里首先要找到阿里云的官方使用说明: 中文版:Terraform(Terraform)-阿里云帮助中心 英文版:Terraform Registry 各自创建一个阿里云的RAM子账号,并给与OPAPI的调用权限,(就是有aksk,生成好之后保存下.) 创建路径: 登陆阿里云主账号-->控制台-->右上角企业-->人员…

企业级调度器LVS

访问效果 涉及内容&#xff1a;浏览拆分、 DNS 解析、反向代理、负载均衡、数据库等 1 集群 1.1 集群类型简介 对于⼀个业务项⽬集群来说&#xff0c;根据业务中的特性和特点&#xff0c;它主要有三种分类&#xff1a; 高扩展 (LB) &#xff1a;单个主机负载不足的时候&#xf…

【Web前端】HTML网页编程基础

HTML5简介与基础骨架 HTML5是用来描述网页的一种语言&#xff0c;被称为超文本标记语言。用HTML5编写的文件&#xff0c;后缀以.html结尾 HTML是一种标记语言&#xff0c;标记语言是一套标记标签。标签是由尖括号包围的关键字&#xff0c;例如<html> 标签有两种表现形…

阿里开源 CosyVoice2:打造 TTS 文本转语音实战应用

1、引言 1.1、CosyVoice2 简介 阿里通义实验室推出音频基座大模型 FunAudioLLM,包含 SenseVoice 和 CosyVoice 两大模型。 CosyVoice:模拟音色与提升情感表现力 多语言 支持的语言: 中文、英文、日文、韩文、中文方言(粤语、四川话、上海话、天津话、武汉话等)跨语言及…

RabbitMQ可靠传输——持久性、发送方确认

一、持久性 前面学习消息确认机制时&#xff0c;是为了保证Broker到消费者直接的可靠传输的&#xff0c;但是如果是Broker出现问题&#xff08;如停止服务&#xff09;&#xff0c;如何保证消息可靠性&#xff1f;对此&#xff0c;RabbitMQ提供了持久化功能&#xff1a; 持久…

无人机开启未来配送新篇章

低空物流&#xff08;无人机物流&#xff09;是利用无人机等低空飞行器进行货物运输的物流方式&#xff0c;依托低空空域&#xff08;通常在120-300米&#xff09;实现快速、高效、灵活的配送服务。它是低空经济的重要组成部分&#xff0c;广泛应用于快递配送、医疗物资运输、农…

Qt状态机QStateMachine

QStateMachine QState 提供了一种强大且灵活的方式来表示状态机中的状态&#xff0c;通过与状态机类(QStateMachine)和转换类(QSignalTransition&#xff0c; QEventTransition)结合&#xff0c;可以实现复杂的状态逻辑和用户交互。合理使用嵌套状态机、信号转换、动作与动画、…

Java详解LeetCode 热题 100(20):LeetCode 48. 旋转图像(Rotate Image)详解

文章目录 1. 题目描述2. 理解题目3. 解法一&#xff1a;转置 翻转3.1 思路3.2 Java代码实现3.3 代码详解3.4 复杂度分析3.5 适用场景 4. 解法二&#xff1a;四点旋转法4.1 思路4.2 Java代码实现4.3 代码详解4.4 复杂度分析4.5 适用场景 5. 详细步骤分析与示例跟踪5.1 解法一&a…