WooCommerce緩存插件的配置指南

在使用了WooCommerce的網(wǎng)站中,使用緩存插件能夠有效提高頁(yè)面加載速度,改善用戶(hù)體驗(yàn)。然而,由于購(gòu)物車(chē)、用戶(hù)賬戶(hù)等頁(yè)面涉及到用戶(hù)的動(dòng)態(tài)數(shù)據(jù),這些頁(yè)面通常不應(yīng)該緩存,否則可能會(huì)導(dǎo)致信息展示錯(cuò)誤。本文將詳細(xì)介紹在使用緩存插件時(shí),如何正確配置WooCommerce緩存設(shè)置,確保頁(yè)面數(shù)據(jù)的準(zhǔn)確性和流暢的購(gòu)物體驗(yàn)。

圖片[1]-WooCommerce緩存插件的配置指南-光子波動(dòng)網(wǎng) | 專(zhuān)業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

一、排除WooCommerce頁(yè)面緩存

通常情況下,如果用的緩存插件已經(jīng)兼容WooCommerce,它會(huì)默認(rèn)將以下頁(yè)面從緩存中排除:

  • 購(gòu)物車(chē)頁(yè)面:展示當(dāng)前顧客的購(gòu)物信息,需保持動(dòng)態(tài)更新。
  • 我的賬戶(hù)頁(yè)面:顯示用戶(hù)的賬戶(hù)信息和訂單歷史,需根據(jù)登錄用戶(hù)動(dòng)態(tài)展示。
  • 結(jié)賬頁(yè)面:涉及結(jié)賬流程,包含用戶(hù)的支付和配送信息,需要確保信息的實(shí)時(shí)性。

確保在緩存插件的設(shè)置中,將這些頁(yè)面手動(dòng)排除防止它們被緩存而導(dǎo)致數(shù)據(jù)不準(zhǔn)確。每個(gè)緩存插件的設(shè)置界面不同,具體請(qǐng)參考插件的文檔就好了。

二、排除WooCommerce Session數(shù)據(jù)緩存

在一些緩存系統(tǒng)中,可能會(huì)提供數(shù)據(jù)庫(kù)緩存功能。如果插件或服務(wù)器緩存允許數(shù)據(jù)庫(kù)緩存,建議將_wc_session_從緩存中排除。這是因?yàn)閃ooCommerce會(huì)通過(guò)Session數(shù)據(jù)來(lái)管理購(gòu)物車(chē)和用戶(hù)狀態(tài),緩存該數(shù)據(jù)可能導(dǎo)致購(gòu)物車(chē)信息不同步。

圖片[2]-WooCommerce緩存插件的配置指南-光子波動(dòng)網(wǎng) | 專(zhuān)業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

三、排除WooCommerce Cookies緩存

WooCommerce使用Cookies來(lái)追蹤用戶(hù)的購(gòu)物車(chē)狀態(tài)和最近查看的商品。以下是WooCommerce中使用的主要Cookies,建議在緩存設(shè)置中排除這些Cookies以確保購(gòu)物體驗(yàn)的一致性:

Cookie名稱(chēng)有效期作用
woocommerce_cart_hashsession用于判斷購(gòu)物車(chē)內(nèi)容是否更新
woocommerce_items_in_cartsession用于判斷購(gòu)物車(chē)內(nèi)容是否更新
wp_woocommerce_session_2天包含唯一代碼,用于識(shí)別每個(gè)用戶(hù)的購(gòu)物車(chē)數(shù)據(jù)存儲(chǔ)位置
woocommerce_recently_viewedsession用于管理“最近瀏覽的商品”小部件
store_notice[notice id]session允許用戶(hù)關(guān)閉商店公告

四、常見(jiàn)緩存插件的WooCommerce兼容性設(shè)置

1. W3 Total Cache

圖片[3]-WooCommerce緩存插件的配置指南-光子波動(dòng)網(wǎng) | 專(zhuān)業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

在W3 Total Cache的設(shè)置中,要確保在“最小化設(shè)置”下的“忽略的注釋前綴”選項(xiàng)中添加“mfunc”,避免在最小化過(guò)程中影響WooCommerce的動(dòng)態(tài)內(nèi)容。

2. WP-Rocket

圖片[4]-WooCommerce緩存插件的配置指南-光子波動(dòng)網(wǎng) | 專(zhuān)業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

WooCommerce完全兼容WP-Rocket,在設(shè)置中確?!?strong>購(gòu)物車(chē)”、“結(jié)賬”和“我的賬戶(hù)”頁(yè)面不被緩存。此外,建議避免最小化JavaScript文件,以防止造成頁(yè)面加載問(wèn)題。

3. WP Super Cache

圖片[5]-WooCommerce緩存插件的配置指南-光子波動(dòng)網(wǎng) | 專(zhuān)業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

WooCommerce與WP Super Cache具有天然兼容性。WooCommerce會(huì)自動(dòng)向WP Super Cache發(fā)送信息,默認(rèn)不緩存“購(gòu)物車(chē)”、“結(jié)賬”和“我的賬戶(hù)”頁(yè)面。

4. Varnish

圖片[6]-WooCommerce緩存插件的配置指南-光子波動(dòng)網(wǎng) | 專(zhuān)業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

如果使用Varnish緩存,建議添加以下代碼排除動(dòng)態(tài)頁(yè)面的緩存:

if (req.url ~ "^/(cart|my-account|checkout|addons)") {
  return (pass);
}
if (req.url ~ "\\?add-to-cart=" ) {
  return (pass);
}

對(duì)于WooCommerce的API和動(dòng)態(tài)頁(yè)面的訪(fǎng)問(wèn)請(qǐng)求,也可以添加如下設(shè)置:

		Add this to vcl_recv above "if (req.http.cookie) {":

# Unset Cookies except for WordPress admin and WooCommerce pages 
if (!(req.url ~ "(wp-login|wp-admin|cart|my-account/*|wc-api*|checkout|addons|logout|lost-password|product/*)")) { 
unset req.http.cookie; 
} 
# Pass through the WooCommerce dynamic pages 
if (req.url ~ "^/(cart|my-account/*|checkout|wc-api/*|addons|logout|lost-password|product/*)") { 
return (pass); 
} 
# Pass through the WooCommerce add to cart 
if (req.url ~ "\?add-to-cart=" ) { 
return (pass); 
} 
# Pass through the WooCommerce API
if (req.url ~ "\?wc-api=" ) { 
return (pass); 
} 
# Block access to php admin pages via website 
if (req.url ~ "^/phpmyadmin/.*$" || req.url ~ "^/phppgadmin/.*$" || req.url ~ "^/server-status.*$") { 
error 403 "For security reasons, this URL is only accessible using localhost (127.0.0.1) as the hostname"; 
} 

Add this to vcl_fetch:

# Unset Cookies except for WordPress admin and WooCommerce pages 
if ( (!(req.url ~ "(wp-(login|admin)|login|cart|my-account/*|wc-api*|checkout|addons|logout|lost-password|product/*)")) || (req.request == "GET") ) { 
unset beresp.http.set-cookie; 
} 

五、常見(jiàn)問(wèn)題與故障排查

1. Varnish配置在WooCommerce中不起作用

  • 如果Varnish緩存未正確生效,再檢查并確定已將需要排除的頁(yè)面和WooCommerce的Session、Cookies相關(guān)配置完成。還可以在WordPress.org的支持論壇中查閱與Cookies相關(guān)的代碼設(shè)置。

2. 密碼重置頁(yè)面循環(huán)

  • 當(dāng)“我的賬戶(hù)”頁(yè)面被緩存時(shí),可能會(huì)導(dǎo)致密碼重置操作卡在登錄界面。此時(shí)請(qǐng)聯(lián)你的服務(wù)器供應(yīng)商,確認(rèn)該頁(yè)面未被服務(wù)器端緩存。

通過(guò)以上配置,可以有效提升WooCommerce網(wǎng)站的性能,同時(shí)確保購(gòu)物車(chē)、結(jié)賬等動(dòng)態(tài)頁(yè)面不會(huì)被緩存導(dǎo)致數(shù)據(jù)展示錯(cuò)誤。如有具體問(wèn)題,建議根據(jù)緩存插件文檔或與相關(guān)技術(shù)支持團(tuán)隊(duì)聯(lián)系。


聯(lián)系我們
教程看不懂?聯(lián)系我們?yōu)槟赓M(fèi)解答!免費(fèi)助力個(gè)人,小企站點(diǎn)!
客服微信
客服微信
電話(huà):020-2206-9892
QQ咨詢(xún):1025174874
郵件:info@361sale.com
工作時(shí)間:周一至周五,9:30-18:30,節(jié)假日休息
? 轉(zhuǎn)載聲明
本文作者:Harry
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享
評(píng)論 搶沙發(fā)

請(qǐng)登錄后發(fā)表評(píng)論

    暫無(wú)評(píng)論內(nèi)容