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

我们在以前的文章中探讨过如何加快你的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不一定很复杂。希望这篇指南对你有所帮助!

相关推荐
Web极客码7 天前
WordPress 站点漏洞利用:数据库恶意注入与多重感染的案例分析
数据库·wordpress·网站安全·数据库注入·wordpress漏洞·wordpress安全插件
wodrpress资源分享18 天前
怎么让二级域名绑定到wordpesss指定的页面
wordpress
wodrpress资源分享21 天前
WordPress用 Options Framework 创建一个自定义相册功能
wordpress
wodrpress资源分享22 天前
经典风格的免费wordpress模板
wordpress
wodrpress资源分享1 个月前
推荐12个wordpress企业网站模板
wordpress
Web极客码1 个月前
在WordPress上添加隐私政策页面
大数据·人工智能·wordpress
wodrpress资源分享1 个月前
wordpress免费主题网站
wordpress
云动雨颤1 个月前
Cloudflare子域名设置指南
网络协议·安全·wordpress
wodrpress资源分享1 个月前
三大中文wordpress原创主题汉主题
wordpress
八戒社1 个月前
如何使用插件和子主题添加WordPress自定义CSS(附:常见错误)
前端·css·tensorflow·wordpress