
如图所示,b2b的wordpress网站使用的是astra主题+elementor编辑器+woocommerce的组合,现在问题因为是b2b网站并不想要填写产品价格等信息,提交谷歌收录显示在产品详情页也就是elementor的single product模板的产品页面时说有严重问题如图中所示应指定这三个字段,如果填写了产品价格,那其他页面的product元素就会变成加入购物车而不是阅读产品详情页了,如何解决这个产品i详情页的收录问题

如图所示,b2b的wordpress网站使用的是astra主题+elementor编辑器+woocommerce的组合,现在问题因为是b2b网站并不想要填写产品价格等信息,提交谷歌收录显示在产品详情页也就是elementor的single product模板的产品页面时说有严重问题如图中所示应指定这三个字段,如果填写了产品价格,那其他页面的product元素就会变成加入购物车而不是阅读产品详情页了,如何解决这个产品i详情页的收录问题
晚上好🌙🌙🌙
本答案参考通义千问
根据你的描述,你正在使用 WordPress + Astra 主题 + Elementor 编辑器 + WooCommerce 构建一个 B2B 类型的网站。你的目标是让 产品详情页(single product 页面) 被 Google 搜索引擎收录,但目前 Google 收录时提示“缺少三个重要字段”:product:price, product:availability, product:brand。
然而,由于这是 B2B 网站,你不希望显示产品价格、库存状态和品牌信息,因为这些信息可能不适合公开展示,或者不符合业务模式。
Google 的结构化数据要求
Google Search Console 提示需要在产品详情页中包含以下三个字段:
product:priceproduct:availabilityproduct:brandWooCommerce 默认结构化数据行为
WooCommerce 默认会在产品页面生成带有 schema.org/Product 的结构化数据,包括价格、库存等信息。如果这些字段为空或缺失,Google 就会报错。
Elementor 和 Astra 主题的影响
使用 Elementor 创建的 single-product 页面可能会覆盖默认的 WooCommerce 产品模板,导致结构化数据未正确生成或被覆盖。
如果你不希望显示产品价格、库存等信息,可以通过代码禁用 WooCommerce 自动生成的结构化数据。
// 在你的主题 functions.php 文件或子主题中添加以下代码
function remove_woocommerce_schema_data() {
remove_action( 'wp_head', array( WC()->structured_data, 'output' ), 10 );
}
add_action( 'init', 'remove_woocommerce_schema_data' );
注意: 这个方法会完全移除 WooCommerce 生成的结构化数据,适用于你不需要任何结构化数据的情况。
如果你仍然希望保留部分结构化数据,但不想暴露敏感信息,可以手动添加结构化数据。
<?php if ( is_product() ) : ?>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "<?php the_title(); ?>",
"description": "<?php echo wp_strip_all_tags( get_the_content() ); ?>",
"image": "<?php echo wp_get_attachment_url( get_post_thumbnail_id() ); ?>"
}
</script>
<?php endif; ?>
重点说明: 这样你可以控制哪些字段被 Google 收录,同时避免暴露价格、库存等信息。
如果你已经使用 Elementor 编辑了 single-product 页面,那么你需要确保该页面没有使用 WooCommerce 默认的结构化数据模板。
WooCommerce Product 部分,请删除它,并使用纯 HTML 或自定义区块来构建页面内容。如果你不想手动处理结构化数据,可以使用一些插件来替代 WooCommerce 的默认行为,例如:
使用 Google 的 Structured Data Testing Tool 来验证你的产品页面是否符合 Google 的结构化数据标准。
重点提示: 一旦结构化数据符合要求,Google 就不会再提示“缺少字段”的错误。
| 步骤 | 内容 | |------|------| | 1 | 禁用 WooCommerce 默认结构化数据,防止 Google 报错 | | 2 | 手动添加自定义结构化数据,控制哪些字段被收录 | | 3 | 使用 Elementor 自定义产品页面,避免使用 WooCommerce 默认模板 | | 4 | 使用 SEO 插件(如 Yoast / Rank Math) 替代 WooCommerce 的结构化数据 | | 5 | 使用 Google Structured Data Testing Tool 测试效果 |
如有需要,我可以提供 Elementor 单产品页面的完整 HTML 模板,以及如何 通过插件管理结构化数据 的详细教程。欢迎继续提问!