W3C校验XML Feed提示g:availability元素未定义如何解决
你遇到的Undefined item element: g:availability报错核心原因是XML文件根节点没有声明g前缀对应的Google Merchant Feed命名空间,解析器无法识别g:开头的自定义元素,按以下步骤调整即可:
修复步骤
- 给XML根节点添加命名空间声明
如果你的Feed是基于RSS 2.0格式,修改根<rss>标签,添加命名空间属性:
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0"> <!-- 后面的channel、item内容保持不变 -->
添加该声明后,所有g:开头的元素都会被识别为Google Merchant Feed的官方标准字段,不会再报未定义错误。
确认
g:availability取值合规
你现有的库存状态取值逻辑完全符合规范,有效值就是in stock/out of stock/preorder,不需要修改这部分逻辑。移除XML Feed中混入的HTML结构化数据标签
你贴的第二段带itemprop="availability"的link标签是HTML页面用的结构化数据标记,不能放到XML Feed的item节点里,这段代码只需要放在商品详情页的HTML对应位置即可,和XML Feed完全独立。可选优化项
价格字段建议强制保留两位小数,避免货币格式校验失败:
<g:price>{{ product.price | divided_by: 100.00 | round: 2 }} RON</g:price>
内容的提问来源于stack exchange,提问作者Adrian Cristache
相关产品推荐
相关产品推荐

