描述博客文章的存档(同一域)

Describing an archive of blog posts (same domain)

我很难在网上找到这样的例子,更不用说使用 application/ld+json

该页面包含视频列表、主要内容项和最后的相关新闻内容(视频项列表)。我的站点类似于 https://www.premierleague.com/ 中的新闻文章。

我定义如下:

{
      "@context": "http://schema.org",
      "@type": "ItemList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "my description",
          "url": "https://www.example.com/carousel-item-1"
        },
        ...
      ],
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://www.example.com/watch",
        "alternativeHeadline": "The title of this page",
        "description": "The description of the content",
        "itemListElement": [ 
          {
            "@type": "Url",  // this is the problem here
            "url": "https://www.example.com/related-news-article"
          }   
        ]
      }
    }

问题在于将最后一段内容描述为相关新闻项。 我该如何描述?

新闻文章没有成为 NewsArticle 的所有必要信息。它们只是一个标题、一张图片和一个 link。所以我选择使用 URL 类型。 然而,作为 mainEntityOfPage 内的合适子类型,这并不令人满意。

我可以在 mainEntityOfPage 内的 NewsArticle 内描述它(首选)还是我需要描述一个全新的 application/ld+json 块?

Schema.org 不需要任何属性。即使您根本不提供任何 属性,也可以使用 NewsArticle。但是,如果您只想提供一个 URL 作为值,则不应为此指定类型 URL。只需将 URL 直接与 @id 一起提供,可以添加或不添加 NewsArticle

{
  "@id": "https://www.example.com/related-news-article"
}
{
  "@type": "NewsArticle",
  "@id": "https://www.example.com/related-news-article"
}

WebPage 上的相关链接可以用 relatedLink 属性 提供,它需要一个 URL 值。所以你可以使用这样的东西:

{
  "@type": "WebPage",
  "relatedLink":
  [
    {"@id": "/related-news-article-1"},
    {"@id": "/related-news-article-2"},
    {"@id": "/related-news-article-3"}
  ]
}