記事の構造化データに必要な新しいmainEntityOfPage


12

Googleが提案した記事の構造化データを見て、先週はなかった新しい必須フィールドと推奨フィールドがあることを確認しました。リンクは次のとおりです。

https://developers.google.com/structured-data/rich-snippets/articles

リストの最初のプロパティは次のとおりです。

  • mainEntityOfPage。@ id(推奨)

プロパティの値がどうあるべきか理解できませんか?このプロパティは何ですか?以下へのリンクですか?

..または現在のブログ投稿へのリンク:

彼らはサンプルコードにこれを持っています:

<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が提供するコードサンプルと何らかの形で競合しますか?


今朝、私のサイトで同じことが起こって、このスレッドに到達しました。
dasickle

回答:


14

mainEntityOfPageプロパティは、どのページのURL与えるために使用される事が主なエンティティですが。逆プロパティを見ると、より明確になる可能性がありますmainEntity。これにより、ページのメインエンティティが得られます(例を参照)。

たとえば、1つのブログ投稿を含むWebページの場合、次のいずれかを提供できます。

  • BlogPostingmainEntityOfPageWebPage
  • WebPagemainEntityBlogPosting

これらのプロパティは、ページ上のメインコンテンツが何であるかを伝えるのに役立ちます(ページには複数のアイテム、たとえばItemList関連WebPageアイテム、Person作成者の説明、WebSiteメタデータの提供などが含まれる場合があるため)。

(詳細な説明については、スタックオーバーフローに関する私の回答を参照しください。)


使用方法2つありますmainEntityOfPage

  • ページのURLを提供します
  • ページアイテムの埋め込み/参照(通常はa 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を含むコンテンツも提供する場合、たとえば<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article" content='https://google.com/article' /> 、構造化データテストツールで正常に検証され、エラーが表示されない場合
-StarWars

@StarWars:はい、それがこのmeta要素を有効にする方法です。ことに注意してくださいcontentあなたは空の値を提供できるよう、値は無視されます。
-unor

さて、metaタグにcontent = ""を追加しました。
スターウォーズ

Googleが例ではmetaなくを使用する理由 linkこれらは両方とも、構造化データテストツールで検証されます。ただし、プレビューは異なります。ときにlink使用され、それが持っていmainEntityOfPage http://example.com/article-1た場合にしながら、metaその番組@id@type属性。
STARWARS

@StarWars:はい、それはまさに違いです:meta方法はタイプとURIを識別子として新しいアイテムを作成し、方法はlinkページにリンクするだけです。Googleのドキュメントがを使用する理由がわかりませんmeta。特に、このlink方法はよりシンプルだと思います。
-unor

2

このプロパティは何ですか?

背景で説明されているように、プロパティurlsameAsプロパティを補足しmainEntityます

typeのすべてのアイテムに適用される可能性があるので、それは特異な名前を持っていThingます。それだけに適用された場合、/ とArticles呼ばれ、より明確になります。mainTopicmainTopicOfArticle

プロパティの値がどうあるべきか理解できませんか?

プロパティの値は、Schema.org に従って機能するタイプCreativeWorkまたはURL参照のアイテムであることが期待されています。それは、あなたが言ったように、またはそれでもある可能性があることを意味します。ただし、AMPページを構築する場合、値はURLである必要があります。ArticleBlogPosting

これは、Googleが提供するコードサンプルと何らかの形で競合しますか?

Googleの構造化データテストツールによると、ドキュメントでmainEntityOfPageAMP以外のページを使用することは推奨されていないため、省略できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.