我們在以前的文章中探討過如何加快你的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不一定很複雜。希望這篇指南對你有所幫助!還有什麼其他的提示我們沒有包括在這裡嗎?請在下面的評論中告訴我們。
評論留言