Posted on Leave a comment

优化提高WooCommerce购物车性能提示

从WooCommerce 2.5.x及更高版本开始,出于性能和可伸缩性的原因,WooCommerce使用自定义表来存储数据而不是选项表。

WooCommerce存储在wp_options客户的购物车信息中。因此,如果您的网站中有大量访问者,则wp_options可能会变得非常大。这会影响您网站的效果。

大量wc_session记录的另一个原因是机器人。发生这种情况是因为许多搜索引擎在白天多次抓取您的网站。

例如,搜索引擎会访问以下链接:

http://mywebsite.com/?add-to-cart=11

此URL将ID为 11 的产品添加到购物车,这意味着将创建wc_session并将其存储在wp_options中。想象一下,当您的eshop中有数千种产品并且搜索引擎一直在抓取您的网站时会发生什么。

为了避免这种非常常见的情况,只需在robots.txt文件中添加以下行

User-agent: *
Disallow: /*add-to-cart=*

这将阻止搜索引擎抓取包含“添加到购物车”参数的网址,并且不会在wp_options中添加wc_session记录。

您可以从wp-admin中清空wc_session记录。登录您的仪表板,然后转到WooCommerce>系统状态,然后单击工具选项卡。在“客户会话”部分中,按“清除所有会话”。
哪个选项最好?
最后,无论您的网站有多大,或者您每天有多少访问者,wp_options迟早会变大。

你应该考虑哪种选择最好避免这种体验。我建议建立一个cron工作,以便清除wc_sessions。你可以决定这份工作的执行频率。例如,在客户的网站上,每天有3000个产品和大约1000个访问者,我将这个cron作业设置为每天运行两次。

尽量避免在高峰时段运行此脚本。
这是用于清除wc_sessions的MySQL脚本

DELETE FROM wp_options
WHERE option_name LIKE '_wc_session_%' OR option_name LIKE '_wc_session_expires_%'
发表评论

电子邮件地址不会被公开。 必填项已用*标注