如何在schema.org的Place类型上正确设置PostalAddress的name属性
为“San Felipe”村庄页面配置PostalAddress结构化数据以实现富文本片段
嘿,我来帮你搞定这个结构化数据的问题,让你的San Felipe村庄页面能在搜索引擎里显示带完整邮政地址的富文本片段。
首先,先给你一个标准的、符合schema.org规范的JSON-LD代码示例——这是搜索引擎现在最推荐的结构化数据格式:
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Place", "name": "San Felipe", "description": "这里可以写上San Felipe村庄的简短描述,帮助搜索引擎理解页面内容", "address": { "@type": "PostalAddress", "streetAddress": "比如:El Camino Real 456", "addressLocality": "San Felipe", "addressRegion": "比如:Baja California", "postalCode": "比如:21850", "addressCountry": "MX" } } </script>
接下来给你拆解几个关键要点,解决你遇到的预览问题:
- 正确的嵌套结构:PostalAddress必须作为Place类型的
address属性的子对象存在,不能单独游离在外。你之前只加PostalAddress的name时,因为结构简单被Linter识别,但添加addressCountry等属性后,必须确保它们都嵌套在address对象里,否则搜索引擎无法正确解析完整地址。 - 属性规范:
addressCountry建议用ISO 3166-1 alpha-2格式的国家代码(比如MX代表墨西哥,US代表美国),比写全称更稳妥;addressLocality就是你的村庄名San Felipe,postalCode是必填的核心属性,这两个是富文本片段显示地址的关键;
- 预览不显示的排查方向:如果加了完整属性后Linter预览没正常显示,先检查这些:
- 是不是属性名拼写错了?schema.org的属性是驼峰式的,比如
addressCountry不能写成addresscountry; - 有没有遗漏
@context?必须指定https://schema.org作为上下文,否则结构化数据无效; - 页面上的可见地址(如果有的话)要和结构化数据里的内容完全一致,搜索引擎会校验一致性,不一致可能不展示富文本。
- 是不是属性名拼写错了?schema.org的属性是驼峰式的,比如
最后提醒下,你可以用Rich Results Test工具验证你的结构化数据,确保没有语法错误或者不符合规范的地方,这样就能大概率让搜索引擎展示带邮政地址的富文本片段啦。
内容的提问来源于stack exchange,提问作者JAT86
相关产品推荐
相关产品推荐

