web-dev-qa-db-ja.com

Schema.org-MicrodataとJSON-LDは同じコードに対して異なる動作をします

JSON-DLといくつかのblogPostで苦労しています。私の見方では、MicrodataのものとJSON-DLのものはまったく同じですが、後者はMicrodataが両方を表示するblogPostを1つだけ表示しています。

HTML Microdataマークアップ:

<body itemscope itemtype="https://schema.org/Blog">
<header>...</header>
    <article itemprop="blogPost" itemscope itemtype="http://schema.org/BlogPosting">
    <h1 itemprop="headline">Article Heading One</h1>
    </article>
    <article itemprop="blogPost" itemscope itemtype="http://schema.org/BlogPosting">
    <h1 itemprop="headline">Article Heading Two</h1>
    </article>
</body>

JSON-DLマークアップ:

<script type="application/ld+json">
    {
        "@context":"http://schema.org",
        "@type":"Blog",
        "blogPost":{
            "@type":"blogPosting", 
            "headline":"Article Heading One"
        },
        "blogPost":{
            "@type":"blogPosting",
            "headline":"Article Heading Two"
        }
    }
</script>

ここにコピーしてテストします: https://search.google.com/structured-data/testing-tool/u/0/

誰が間違っているのを見ますか?

1
Andrew

Typcal ...数時間、いくつかの異なる方法を試してみました。ここで聞いてから数分後に、自分で修正します...

とにかく、いくつかのブログ投稿を取得するための正しいコードは次のとおりです。

<script type="application/ld+json">
    {
        "@context":"http://schema.org",
        "@type":"Blog",
        "blogPosts":
        [
          {
              "@type":"blogPosting", 
              "headline":"Article Heading One"
          },
          {
              "@type":"blogPosting",
              "headline":"Article Heading Two"
          }
        ]
    }
</script>

これを使用して、インデックスサイトのようなすべてのブログをマークアップします。

0
Andrew