在类型 "Place" 上提供 "PostalAddress" 的 "name" 的正确方法

Correct way to provide the "name" of a "PostalAddress" on type "Place"

我有一个关于名为 "San Felipe" 的村庄的页面,由于我希望它在搜索引擎中有更丰富的片段显示其邮政地址,我决定向其添加一些地址详细信息(包括其邮政地址)代码)。我在 schema.org 文档中读到 PostalAddress can be used on a Place. I tested adding a name for a PostalAddress, and the search result preview in Structured Data Linter 在 link.

页面下方显示了 name 的值

但是当我也将值添加到 addressCountryaddressLocalityaddressRegionpostalCode 时,name 从搜索结果预览中消失了并自动替换为上述地址属性。所以我很困惑 name 属性 是否旨在作为添加邮政地址的较短方式,或者它是否应该只包含主要项目的名称(在这种情况下,"San Felipe" ):

<script type='application/ld+json'>
{
    "@context": "http://schema.org/",
    "@type": "AdministrativeArea",
    "address": {
        "@type": "PostalAddress",
        "addressCountry": "country name",
        "addressLocality": "city name",
        "addressRegion": "region name",
        "postalCode": "2800",
        "name": "San Felipe, city name, region name, country name 2800"
    },
    "name": "San Felipe"
}
</script>

如下面的屏幕截图所示,schema:address ("San Felipe, Santo Tomas, San Juan, Santiago") 的 schema:name 在搜索结果中被忽略了。但是,当我没有指定 addressCountryaddressLocalityaddressRegionpostalCode 时,它会显示。所以我不确定它的目的。

Structured Data Linter 只是举例说明了片段 可能 的样子。为此,该工具仅显示选定的属性。结构化数据 Linter 是否显示此代码段中的内容绝不会影响您决定提供哪些结构化数据。

因此,如果您认为 PostalAddress 可以从 name 中受益,请提供它。

I am confused if the name property is intended as a shorter way of adding a postal address, or if it should contain only the name of the main item (in this case, "San Felipe")

Schema.org 没有定义 PostalAddressname 应该是什么。我认为有两种常见情况:

  • 在典型情况下,这将是在处理一封邮件时也会使用的名称。这不必与在父项上指定的名称相同(如果有的话)。但即使它是相同的名称,为 PostalAddress 再次提供它仍然有意义,因为消费者可能不一定也会考虑父项。

  • 如果无法使用特定属性(如 addressCountry 等)(例如,因为 CMS 不会在单独的字段中输出这些属性),您可以提供您拥有的一切在 name.

    (在这种情况下,您还可以考虑将 address 与字符串值一起使用,而不是 PostalAddress 项目值。)

如果它不是组织或个人的地址,并且如果您可以为您提供的每个地址部分提供所有必要的属性,我会省略 name 属性。