Odoo.sh v15:多网站环境下如何移除Google搜索结果中的产品价格?
多网站环境下Odoo 15移除Google搜索结果特定网站产品价格的解决方案
Google搜索结果中的产品价格(你标注的黄色箭头位置)来自页面的Product结构化数据,结合你使用Odoo.sh v15的场景,可通过以下步骤解决:
1. 核心思路:移除目标网站的价格结构化数据
Odoo的website_sale模块默认会为产品页面生成包含价格的Schema.org标记,Google正是基于这些标记展示价格。针对多网站环境,需单独对目标网站做配置。
方案A:快速禁用(同时隐藏前端价格)
- 进入目标网站后台:
网站→ 选中需处理的网站 →配置→设置 - 找到「产品」板块,取消勾选显示价格选项
- 保存后,清除Odoo缓存:
设置→技术→参数→ 点击「清除缓存」 - 到Google搜索控制台,提交该网站的产品页面URL请求重新索引
方案B:仅移除搜索结果价格(保留前端显示)
如果需要保留前端页面的价格展示,需通过代码修改结构化数据输出:
- 登录Odoo.sh实例的代码编辑器,找到
website_sale模块下的views/templates.xml - 定位生成Product结构化数据的模板片段(通常包含
<meta itemprop="price">的部分) - 添加网站ID判断,跳过目标网站的价格字段输出:
<!-- 仅针对非目标网站输出价格结构化数据 --> <t t-if="website.id != YOUR_TARGET_WEBSITE_ID"> <meta itemprop="price" t-att-content="product.list_price"/> <meta itemprop="priceCurrency" content="USD"/> </t>
- 将
YOUR_TARGET_WEBSITE_ID替换为实际的网站ID(可在网站列表中查看对应网站的ID) - 部署代码到Odoo.sh实例,之后提交产品页面到Google搜索控制台重新抓取
2. 解决美国区域专属显示价格的问题
你提到仅美国区域搜索会显示价格,这是因为Odoo会根据网站的销售区域配置匹配货币和价格标记:
- 进入目标网站的
设置→销售→配置 - 调整网站的默认货币为非美元,或取消关联美国销售区域
- 也可在结构化数据模板中移除
priceCurrency字段,避免Google根据区域匹配价格
3. 强制Google更新搜索结果
完成配置后,需主动触发Google重新抓取:
- 在Google搜索控制台中,使用「URL检查」工具验证产品页面,点击「请求索引」
- 批量提交该网站的sitemap,加速搜索结果更新
内容的提问来源于stack exchange,提问作者velkoon
相关产品推荐
相关产品推荐

