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不一定很復雜。希望這篇指南對你有所幫助!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84069.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84069.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84069.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

貪心算法 Part04

總結下重疊區間問題 LC 452. 用最少數量的箭引爆氣球 和 LC 435. 無重疊區間 本質上是一樣的。 LC 452. 用最少數量的箭引爆氣球 是求n個區間當中 , 區間的種類數量 k。此處可以理解為,重疊在一起的區間屬于同一品種,沒有重疊的區間當然…

云原生CD工具-Argocd+ArgoRollout入門到精通

第一章 Argo CD簡介 課時1.1 Argo產品介紹 ARGO官網地址:https://argoproj.github.io/ 旗下產品有: Argo Workflows、ArgoCD 、Argo Rollouts 、Argo Events 課時1.2 什么是Argo CD Argo CD 是一個開源的持續交付工具, 是 Kubernetes 的聲明式 GitOps 持續交付工具。專…

數據分析與應用---數據可視化基礎

目錄 Matplotlib基礎繪圖 (一)、pyplot繪圖基礎語法與常用參數 1、pyplot基礎語法 (1) 創建畫布與創建子圖 (2) 添加畫布內容 (3) 保存與顯示圖形 案例代碼 2. 設置pyplot的動態rc參數 (二)、使用Matplotlib繪制進階圖形 1. 繪制散點圖----scatter 2. 繪制折線…

PP-YOLOE-SOD學習筆記1

項目:基于PP-YOLOE-SOD的無人機航拍圖像檢測案例全流程實操 - 飛槳AI Studio星河社區 一、安裝環境 先準備新環境py>3.9 1.先cd到源代碼的根目錄下 2.pip install -r requirements.txt 3.python setup.py install 這一步需要看自己的GPU情況,去飛漿…

力扣HOT100之二叉樹:114. 二叉樹展開為鏈表

這道題自己嘗試著做了一下,感覺還是得用遞歸來做比較簡單,但是一直想的是用前序遍歷來構造鏈表,導致怎么做都不對,去看了下靈神的題解,然后問了下GPT,現在終于弄明白了。雖然構造出來的鏈表的排列順序是按照…

Spring Boot 注解 @ConditionalOnMissingBean是什么

一句話總結: ConditionalOnMissingBean 是 Spring Boot 提供的一個 條件注解(Conditional Annotation),意思是: 只有當 Spring 容器中 不存在 某個 Bean 時,當前的 Bean 或配置才會被加載。 這是一種典型的…

PyInstaller 如何在mac電腦上生成在window上可執行的exe文件

PyInstaller跨平臺打包限制 PyInstaller 無法直接從macOS生成Windows可執行文件,因為它需要訪問目標平臺的系統庫和Python環境來構建可執行文件。要在macOS上為Windows打包Python應用,需要通過以下方法之一: 方法一:使用虛擬機或…

零基礎設計模式——創建型模式 - 抽象工廠模式

第二部分:創建型模式 - 抽象工廠模式 (Abstract Factory Pattern) 我們已經學習了單例模式(保證唯一實例)和工廠方法模式(延遲創建到子類)。現在,我們來探討創建型模式中更為復雜和強大的一個——抽象工廠…

【通用智能體】Serper API 詳解:搜索引擎數據獲取的核心工具

Serper API 詳解:搜索引擎數據獲取的核心工具 一、Serper API 的定義與核心功能二、技術架構與核心優勢2.1 技術實現原理2.2 對比傳統方案的突破性優勢 三、典型應用場景與代碼示例3.1 SEO 監控系統3.2 競品廣告分析 四、使用成本與配額策略五、開發者注意事項六、替…

Flask-SQLAlchemy核心概念:模型類與數據庫表、類屬性與表字段、外鍵與關系映射

前置閱讀,關于Flask-SQLAlchemy支持哪些數據庫及基本配置,鏈接:Flask-SQLAlchemy_數據庫配置 摘要 本文以一段典型的 SQLAlchemy 代碼示例為引入,闡述以下核心概念: 模型類(Model Class) ? 數…

野火魯班貓(arrch64架構debian)從零實現用MobileFaceNet算法進行實時人臉識別(四)安裝RKNN Toolkit2

RKNN Toolkit2是用來將onnx模型轉成rknn專用模型,并可通過RKNN Toolkit Lite2或者RKNPU調用NPU進行加速計算的工具。 一開始我安裝很多次都無法成功安裝。后來跟售后技術對接,必須是PC平臺的Linux環境才可以。我的電腦是windows,所以我需要用…

基于深度學習的工件檢測系統設計與實現

在工業自動化領域,工件檢測一直是提高生產效率和產品質量的關鍵環節。傳統的人工檢測方法不僅效率低下,而且容易受到主觀因素的影響,導致誤判率較高。隨著深度學習技術的飛速發展,基于圖像識別的自動檢測系統逐漸成為研究熱點。今…

CyberSecAsia專訪CertiK首席安全官:區塊鏈行業亟需“安全優先”開發范式

近日,權威網絡安全媒體CyberSecAsia發布了對CertiK首席安全官Wang Tielei博士的專訪,雙方圍繞企業在進軍區塊鏈領域時所面臨的關鍵安全風險與防御策略展開深入探討。 Wang博士在采訪中指出,跨鏈橋攻擊、智能合約漏洞以及私鑰管理不當&#x…

Google C++ Style Guide 谷歌 C++編碼風格指南,深入理解華為與谷歌的編程規范——C和C++實踐指南

Google C 編程風格指南 Release Apr 07, 2017 0. ?享 ?? 4.45 ??? Benjy Weinberger, Craig Silverstein, Gregory Eitzmann, Mark Mentovai, Tashana Landray ?? YuleFox, Yang.Y, acgtyrant, lilinsanity 亯??享 ? Google Style Guide ? Google 開源…

當科技邂逅浪漫:在Codigger的世界里,遇見“愛”

520,一個充滿愛意的日子,人們用各種方式表達對彼此的深情。而在科技的世界里,我們也正經歷著一場特別的邂逅——Codigger,一個分布式操作系統的誕生,正在以它獨特的方式,重新定義我們與技術的關系。 Codigg…

嵌入式學習筆記 - Void類型的指針

void指針的基本概念和特性 void指針是一種特殊的指針類型,稱為“無類型指針”或“通用指針”。它的主要特點是: ?通用性?:void指針可以指向任何類型的數據,這使得它在處理不確定數據類型時非常有用。 ?靈活性?:由…

【綜述】視頻目標分割VOS

相關連接 更新中....... 1、Associating Objects with Transformers for Video Object Segmentation:論文詳解、AOT源碼解析 2、Rethinking Space-Time Networks with Improved Memory Coverage for Efficient Video Object Segmentation 3、Recurrent Dynamic Embe…

001 嵌入式軟件開發工程師實習篇面試——首戰總結

2025年5月17日人生中第一次面試 緊張是藏不住的。但是不應該的。 目錄 0.準備一份合適的自我介紹 1.結構體內存對齊問題 2.變量在內存中的存儲模式 3.嵌入式中程序框架有哪些 4.程序代碼設計要遵循什原則 5.版本號書寫 6.單片機最小系統板有哪些組成 必須: 非必須:…

SIL2/PLd 認證 Inxpect毫米波安全雷達:3D 掃描 + 微小運動檢測守護工業安全

Inxpect 成立于意大利,專注工業安全技術。自成立起,便致力于借助先進雷達技術提升工業自動化安全標準,解決傳統安全設備在復雜環境中的局限,推出獲 SIL2/PLd 和 UL 認證的安全雷達產品。 Inxpect 的雷達傳感器技術優勢明顯。相較于…

Python數據可視化再探——Matplotlib模塊 之一

目錄 第一章 Matplotlib 模塊教學內容?——基礎圖形繪制 一、Pyplot 子庫介紹? 1. 功能概述? 2. 常用函數? 二、繪制基本圖形? 1. 柱狀圖? 2. 條形圖? 3. 折線圖? 4. 散點圖? 5. 面積圖? 6. 餅狀圖? 7. 圓環圖? ?編輯 三、繪圖知識點詳解? 1. 繪圖…