【问题标题】:Can I add custom properties to a given @type in JSON-LD?我可以将自定义属性添加到 JSON-LD 中的给定 @type 吗?
【发布时间】:2016-11-29 20:07:09
【问题描述】:

我正在开发一个网站,让用户可以探索大量唱片。所有数据当前都存储在一个 JSON 文件中,我将其转换为 JSON-LD 以使其具有语义并且可被搜索引擎抓取。

Schema.org 有一个Music Albums 的标准类型,它没有我为每个相册存储(并呈现给用户)的某些数据的属性。这些属性被 Google 的结构化数据验证器标记为错误。我的问题是:谷歌只是忽略自定义属性还是会因为使用不受支持的属性而惩罚该网站?

【问题讨论】:

    标签: seo schema.org json-ld


    【解决方案1】:

    您可以在 JSON-LD 中使用多个词汇表(例如,@context 中的 compact IRIs)。

    如果词汇表 Schema.org 没有合适的属性/类型,则很可能已经存在一个(可能是特定于领域的)词汇表。请参阅有关how to find vocabularies 的答案。

    如果您不能重复使用现有的词汇表,您可以创建自己的词汇表。请参阅有关how to create your own RDF vocabulary 的答案。

    您当然应该做的是在 Schema.org 命名空间中“发明”术语。如果它不是由 Schema.org 定义的,那么没有人知道它应该是什么意思;并且将来可能会以与您预期不同的含义来定义相同的术语。

    如果您仅出于 SEO 原因提供结构化数据,请注意搜索引擎 Google/Bing/Yahoo/Yandex 仅支持词汇表 Schema.org(它们是其赞助商),因此目前不支持使用其他或您自己的词汇表与 SEO 相关;但对于结构化数据可以提供的所有其他好处来说,这当然是一个好主意。

    【讨论】:

    • 感谢您的回答。我只是出于 SEO 的原因提供结构化数据,所以我想我必须坚持使用 Schema.org 词汇表。如果搜索引擎不理解未定义的术语,也没关系。我正在使用对 SEO 真正重要的所有数据的现有属性。不过,我仍然需要其他术语,所以只要爬虫忽略它们,一切都很好。事实上,我的一些自定义属性将来可能会以与我预期不同的含义进行定义,这一事实肯定会成为一个问题。我会格外小心。
    • @CarlosSanchez:没有人知道所有不同的消费者如何使用不存在的 Schema.org 术语处理内容。我认为很明显,如果搜索引擎在您的数据中发现如此多的错误,那么您发送的信号并不是一个好的信号。 ——你真的不应该这样做;只需定义您自己的词汇表并将其用于 Schema.org 不提供的术语。 -- 真的没有理由这样做,还是有?
    • 创建词汇表并不一定会使自定义字段更易于理解。它只是重新强调了它们是定制的事实。除非您打算支持希望使用您的自定义字段的第三方(例如客户),否则额外努力的价值是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多