mainEntityOfPage.@id
が何であるか、そしてそれがGoogleによって推奨されている理由を理解しようとするのにまだ苦労しています。具体的には、記事、ブログ投稿、および類似のスキーマを参照しています。ここに私が読んだ記事があります:
https://developers.google.com/structured-data/rich-snippets/articles
現在、ブログの投稿ページの設定は次のようになっています(ほとんどの必須フィールドは省略しています。そうしないと、この投稿が長くなりすぎます)。
<script type="application/ld+json">
{
"@@context": "http://schema.org",
"@@type": "WebPage",
"breadcrumb": {
"@@type": "BreadcrumbList",
"itemListElement": [{
"@@type": "ListItem",
"item": {
"@@id": "http://www.example.com",
"name": "My Website"
},
"position": 1
}, {
"@@type": "ListItem",
"item": {
"@@id": "http://www,example.com/blog",
"name": "Blog"
},
"position": 2
}, {
"@@type": "ListItem",
"item": {
"@@id": "http://www.example.com/blog/1001/test-blog-post",
"name": "Test Blog Post"
},
"position": 3
}]
},
"mainEntity": {
"@@type": "BlogPosting",
"headline": "Test Blog Post",
"url": "http://www.example.com/blog/1001/test-blog-post"
}
}
</script>
mainEntity
を使用して、これはmainEntityOfPage.@id
を使用するのと同じことですか?そうでない場合、Googleの要件に合うようにコードを変更するにはどうすればよいですか?
@unorが詳細な回答をここに投稿しました:
mainEntityOfPage.@id
を指定せずにmainEntity
を指定した場合、Googleの構造化データテストツールが警告を削除すると、理解しやすくなります。これが私が現在持っている方法です。