Divi主题搭配WooCommerce与BodyCommerce的WordPress网店提速求助
针对 Divi + WooCommerce + BodyCommerce 的 WordPress 站点提速方案
一、BodyCommerce 插件核心优化(重点)
因为停用该插件后速度大幅提升,优先从这里入手:
- 关闭未使用的功能模块:进入插件设置页面,逐一关闭所有你没用到的功能(比如特定支付集成、定制表单、第三方库存同步、会员模块等),减少插件的钩子注册和资源加载量。
- 按需加载前端资源:
- 用 WPRocket 的「延迟加载 JavaScript」功能,把 BodyCommerce 相关的脚本(通常命名包含
bodycommerce关键词)加入延迟加载列表。 - 用代码限制脚本加载范围:只在产品页、购物车页、结账页这类必要页面加载插件脚本,避免全站加载。示例代码(加到主题 functions.php):
add_action( 'wp_enqueue_scripts', 'bc_dequeue_unnecessary_scripts', 99 ); function bc_dequeue_unnecessary_scripts() { if ( !is_product() && !is_cart() && !is_checkout() ) { wp_dequeue_script( 'bodycommerce-frontend' ); // 替换为实际脚本handle wp_dequeue_style( 'bodycommerce-frontend' ); // 替换为实际样式handle } }
- 用 WPRocket 的「延迟加载 JavaScript」功能,把 BodyCommerce 相关的脚本(通常命名包含
- 清理冗余数据:插件可能会生成大量未使用的自定义字段、日志或临时数据,先备份数据库,然后用数据库管理工具(如 phpMyAdmin)清理
wp_postmeta中属于 BodyCommerce 的冗余字段,或使用插件自带的清理工具(若有)。
二、Divi 主题优化
- 开启静态 CSS 生成:在 Divi 主题设置 → 性能中,开启「静态 CSS 文件生成」,避免页面加载时动态编译 CSS,降低服务器计算开销。
- 禁用未用模块:进入 Divi Builder 设置,关闭所有你站点没用到的模块(如博客模块、论坛模块等),减少主题初始化时的资源加载。
- 优化动态数据调用:如果用了 Divi 的动态产品模块,减少单页内的产品查询数量,或开启 WPRocket 的「动态内容缓存」,将动态生成的产品列表静态化。
三、WooCommerce 基础优化
- 启用高性能模式:在 WooCommerce 设置 → 高级 → 性能中,开启「高性能模式」,减少 WooCommerce 的钩子调用次数,优化数据库查询逻辑。
- 精简产品查询:自定义产品查询时,只请求必要字段,比如用
WP_Query时添加'fields' => 'ids',避免加载全量产品数据。 - 关闭冗余功能:关闭不需要的 WooCommerce 功能,如产品评论、星级评分、库存管理(若无需)、未使用的支付网关等,减少资源占用。
四、缓存进阶配置
- 精准设置缓存规则:
- 不要缓存购物车、结账、我的账户这类动态页面,WPRocket 自带 WooCommerce 集成选项,可一键开启兼容规则。
- 对产品详情页、列表页开启页面缓存,同时开启「缓存变体」以适配不同用户状态(如登录/未登录)。
- 启用对象缓存:在服务器端配置 Redis 或 Memcached 对象缓存,配合 WPRocket 的对象缓存集成,缓存 WordPress 和插件的对象数据,大幅减少重复数据库查询。
- 优化数据库缓存:开启 WPRocket 的数据库缓存功能,或使用专门的数据库缓存插件,加速数据库查询响应。
五、开发级优化(若具备开发能力)
- 移除不必要的钩子:用
remove_action/remove_filter去掉 BodyCommerce 在前端加载的非必要钩子,比如内置的统计、跟踪功能(若你已有其他工具替代)。示例:add_action( 'init', 'remove_bc_unnecessary_hooks' ); function remove_bc_unnecessary_hooks() { remove_action( 'woocommerce_single_product_summary', 'bc_custom_product_info', 20 ); // 替换为实际钩子名 } - 排查并优化慢查询:用 Query Monitor 插件定位 BodyCommerce 生成的慢数据库查询,给相关数据库表添加索引,或用自定义代码优化查询逻辑。
- 合并压缩资源:如果 BodyCommerce 的脚本/样式未压缩,用 WPRocket 的「合并 JavaScript」「合并 CSS」功能,减少 HTTP 请求数。
内容的提问来源于stack exchange,提问作者Zharin
相关产品推荐
相关产品推荐

