【问题标题】:Schema.org RDFa: marking up <img> as ImageObject?Schema.org RDFa:将 <img> 标记为 ImageObject?
【发布时间】:2017-07-10 17:43:08
【问题描述】:

我正在使用 Schema.org 和 RDFa 来标记 HTML 页面。我有一张图片如下:

<div class="image_container">
    <a href="big_whatever.jpg">
        <img src="whatever.jpg" alt="A picture of Whatever" title="Whatever">
    </a>
</div>

标记它的正确方法是什么,以便: 1. big_whatever.jpg(链接href)变成contentUrl 2.alt属性变成描述 3.title属性变成name 4. 理想情况下,我还希望 alt 属性也成为标题。

现在,使用 JSON-LD 已经很容易了,但对于这种特殊情况,我更喜欢使用 RDFa。这是我到目前为止所得到的:

<div class="image_container" vocab="http://schema.org/" typeof="ImageObject">
    <a href="big_whatever.jpg">
        <img src="whatever.jpg" alt="A picture of Whatever" title="Whatever">
    </a>
</div>

【问题讨论】:

    标签: schema.org rdfa


    【解决方案1】:

    不能在 RDFa 中使用 alttitle 属性的值。

    您可以使用“隐藏”meta 元素复制它们:

    <div vocab="http://schema.org/" typeof="ImageObject">
      <a property="contentUrl" href="big_whatever.jpg">
        <img src="whatever.jpg" alt="A picture of Whatever" title="Whatever" />
        </a>
      <meta property="description caption" content="A picture of Whatever" />
      <meta property="name" content="Whatever" />
    </div>
    

    如果您不需要img 元素上的property(例如,对于thumbnailUrl),您可以使用property+content 来保存一个meta 元素:

    <div vocab="http://schema.org/" typeof="ImageObject">
      <a property="contentUrl" href="big_whatever.jpg">
        <img src="whatever.jpg" alt="A picture of Whatever" title="Whatever" property="name" content="Whatever" />
        </a>
      <meta property="description caption" content="A picture of Whatever" />
    </div>
    

    感谢content 属性,RDFa 不会使用src 值。但我认为使用第一个 sn-p 会更清楚。

    【讨论】:

    • 感谢您的回答。我选择不使用“元”元素解决方案,因为搜索引擎不鼓励将重要内容放置在隐藏元素中。我最终选择使用 JSON-LD,因为这样可以更好地控制元数据。
    • @Bintz:好的,但是真的不需要这样。由于 JSON-LD 隐藏了 一切,并且搜索引擎能够处理此问题,因此使用 RDFa 的预期 (!) 功能应该没有问题。几个官方示例(来自 Schema.org 以及 Google 等)使用带有隐藏 meta/link 元素的 Schema.org。我们的想法不是用它来“垃圾邮件”,但在许多有效的情况下,您应该(甚至必须)在 RDFa 中使用 meta/link。由于您案例中的内容实际上存在于标记中,因此使用隐藏元素非常好。
    • 是的,明白,并感谢您在此线程中提出这些观点。选择 JSON-LD 的决定性因素是我实际上更喜欢它。我发现它更干净、更合乎逻辑且更易于调试。我认为 RDFa 在我正在处理的特定情况下会更容易使用,但最终证明额外的工作量是相等的,所以我选择了我之前使用过的 JSON-LD。
    猜你喜欢
    • 2015-12-24
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多