汽车租赁网站结构化数据price字段报错:Invalid integer in property 'price'
解决结构化数据"price"字段无效整数错误
问题原因
你用number_format()生成的价格是字符串类型,但Schema.org的Offer类型要求price属性必须是数字类型(整数或浮点数),Google搜索控制台无法识别字符串格式的价格,因此抛出错误。
修改方案
有两种简单的解决方式:
- 直接使用原始数值(如果
$car->daily_rate本身就是带两位小数的浮点数):
'offers' => [ '@type' => 'Offer', 'price' => $car->daily_rate, 'priceCurrency' => 'EUR', 'availability' => 'https://schema.org/InStock', ],
- 如果需要确保价格是两位小数的数值,可将格式化后的字符串强制转为浮点数,或者直接用
round()处理原始数值:
// 方式1:强制转换为浮点数 'offers' => [ '@type' => 'Offer', 'price' => (float)number_format($car->daily_rate, 2, '.', ''), 'priceCurrency' => 'EUR', 'availability' => 'https://schema.org/InStock', ], // 方式2:用round直接处理数值 'offers' => [ '@type' => 'Offer', 'price' => round($car->daily_rate, 2), 'priceCurrency' => 'EUR', 'availability' => 'https://schema.org/InStock', ],
核心逻辑就是让price的值是数字类型,而非字符串类型,这样Google就能正确解析该字段了。
内容的提问来源于stack exchange,提问作者xake
相关产品推荐
相关产品推荐

