Googleが提案した記事の構造化データを見て、新しい必須フィールドと推奨フィールドがあり、先週はなかったことがわかりました。リンクは次のとおりです。
https://developers.google.com/structured-data/rich-snippets/articles
リストの最初のプロパティは次のとおりです。
プロパティの値がどうあるべきか理解できませんか?このプロパティは何ですか?以下へのリンクですか?
..または現在のブログ投稿へのリンク:
彼らはサンプルコードにこれを持っています:
<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article" />
これは私が現在持っているもので、まだテストツールのルールに準拠していません-私はまだすべての必要なプロパティを追加するのに忙しく、同時にそこにも推奨プロパティを追加しようとしています:
<div itemscope itemtype="http://schema.org/BlogPosting">
<h1 itemprop="headline">
<a href="http:///www.example.com/blog/1001/my-blog-article" itemprop="url">My Blog Article</a>
</h1>
<p>Written by
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
<span itemprop="name">Mase Kind</span>
</span> on
<time itemprop="datePublished" datetime="2015-11-16T15:30:00+02:00">November 16, 2015</time>
<meta itemprop="dateModified" content="2015-12-10T12:29:00+02:00" />
<div itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<div itemprop="logo" itemscope itemtype="http://schema.org/ImageObject"></div>
<meta itemprop="name" content="My Company Name" />
</div>
</p>
<div itemprop="articleBody">
<p>first article body</p>
</div>
</div>
私の文書にもこれがあります:
<body itemscope itemtype="http://schema.org/WebPage">
...
</body>
これは、Googleが提供するコードサンプルと何らかの形で競合しますか?
mainEntityOfPage
property は、thingがメインエンティティであるページのURLを指定するために使用されます。逆プロパティ mainEntity
を見ると、より明確になるかもしれません:これはページのメインエンティティを提供します( 例を参照 )。
たとえば、1つのブログ投稿を含むWebページの場合、次のいずれかを提供できます。
BlogPosting
→mainEntityOfPage
→WebPage
WebPage
→mainEntity
→BlogPosting
これらのプロパティは、ページ上のメインコンテンツが何であるかを伝えるのに役立ちます(ページには複数のアイテム、たとえば関連するItemList
アイテムを持つWebPage
、著者を説明するPerson
、メタデータを提供するWebSite
などが含まれる場合があるため)。
(詳細な説明については、 スタックオーバーフローに関する私の答え を参照してください。)
2つの方法mainEntityOfPage
の使用方法があります。
WebPage
)2番目のものはあまり意味をなさないことが多く(逆のプロパティmainEntity
を使用することをお勧めします)、おそらくそのため、Googleは最初のものを推奨/期待します。
URLを提供するには、単にlink
要素を使用できます。
<article itemscope itemtype="http://schema.org/BlogPosting">
<link itemprop="mainEntityOfPage" href="http://example.com/article-1" />
</article>
Googleの構造化データテストツールはこれを受け入れます。
記事のリッチスニペットの例 では、Googleはmeta
の代わりにitemid
要素を使用しています:
<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article"/>
これは無効なHTML5 + Microdataです:meta
要素にitemprop
属性がある場合、それは content
属性も必要です 。
このプロパティは何ですか?
url
background で説明されているように、sameAs
およびmainEntity
プロパティを補足します。
タイプThing
のすべてのアイテムに適用される可能性があるため、固有の名前を持っています。 Articles
のみに適用される場合、mainTopic
/mainTopicOfArticle
と呼ばれ、より明確になります。
プロパティの値がどうあるべきか理解できませんか?
プロパティの値は、その作業を参照するタイプCreativeWork
またはURL
のアイテムであることが期待されます に従って Schema.org。つまり、あなたが言ったように、それはArticle
またはBlogPosting
でもあり得るということです。ただし、AMPページを作成する場合、値はURLである必要があります。
これは、Googleが提供するコードサンプルと何らかの形で競合しますか?
Googleの構造化データテストツールの説明にもかかわらず それらのドキュメント は、AMP以外のページにmainEntityOfPage
を使用することを推奨しないため、自由に省略できます。