Как реализовать "mainEntityOfPage" на этом конкретном сайте?

пожалуйста, посмотрите здесь: https://developers.google.com/structured-data/testing-tool?url=https%253A%252F%252Fglamourina.net%252Fen%252F

как я могу правильно добавить mainEntityOfPage на этом сайте?

в Примере документации Google я вижу что-то вроде этого:

<div itemscope itemtype="http://schema.org/NewsArticle">

  <meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid="https://google.com/article"/>

но это блог одного автора. И он имеет blogPosts.

<article itemscope itemtype="https://schema.org/BlogPosting" class="singlearticles">

было бы хорошо, если бы я изменить его так:

<article itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid="https://linktoarticle"/>

не уверен если я хорошо понимаю mainEntityOfPage использование. Я был бы признателен, если кто-то может подсказать, как я могу сделать в данном конкретном случае/сайт. Не в общем, потому что каждый сайт может иметь разные mainEntityOfPage, но мне нужно знать и понимать правильную реализацию для этого сайта.

1 ответов


о примере микроданных Google

пример микроданных Google недействителен. Если meta элемента на требуются (подробности).

я описал различные способы, как указать mainEntityOfPage в микроданных наиболее straigtforward один link элемент, создающий значение URL (вместо других микроданных пункт):

<link itemprop="mainEntityOfPage" href="http://example.com/article-1" />

mainEntity

легче понять использование mainEntityOfPage если мы сначала посмотрим его обратное свойство,mainEntity.

на WebPage, которая содержит BlogPosting, мы могли бы иметь:

<body itemscope itemtype="http://schema.org/WebPage">
  <article itemprop="mainEntity" itemscope itemtype="http://schema.org/BlogPosting">
  </article>
</body>

это означает: есть WebPage и BlogPosting и BlogPosting является "первичной сущностью", описанной в этом WebPage. Для обозначения этого особенно имеет смысл, если есть больше элементов, участвующих, например, a Person описывая автора, еще пять BlogPosting элементы для связанных сообщений, a WebSite элемент, дающий некоторые метаданные и т. д. Спасибо mainEntity/mainEntityOfPage, потребители могут узнать, что является основным / основным элементом на этой странице (т. е. что означает страница).

mainEntityOfPage

следующий пример с mainEntityOfPage приведет к эквивалентным структурированным данным, таким как пример с mainEntity сверху:

<article itemscope itemtype="http://schema.org/BlogPosting">
  <div itemprop="mainEntityOfPage" itemscope itemtype="http://schema.org/WebPage">
  </div>
</article>

как вы можете видеть, элемент для BlogPosting элемент содержит элемент WebPage товар. Это, конечно, довольно необычная разметка.

но mainEntityOfPage свойство не только ожидает (CreativeWork) элемент как значение, он также ожидает URL-адрес. Поэтому вместо предоставления WebPage пункт явно, вы можете указать URL страницы вместо этого:

<article itemscope itemtype="http://schema.org/BlogPosting">
  <link itemprop="mainEntityOfPage" href="http://example.com/article-1" />
</article>

(это то, что Google ожидает, согласно их документации Статьи Богатой Фрагмент.)

экскурс: URL страницы против post

многие сайты не различают URL-адрес веб-страницы и URL-адрес сообщения в блоге. Для этих сайтов может показаться глупым утверждать что-то вроде

http://example.com/article-1 (the blog post)
is the 'mainEntityOfPage' 
http://example.com/article-1 (the web page) 
http://example.com/article-1 (the web page) 
has 'mainEntity' 
http://example.com/article-1 (the blog post)

но это может быть полезно в любом случае (например, для выбора, какой элемент является основным, потому что другие элементы не будут иметь этого оператора; или для пустого узла; и т. д.).

однако, некоторые сайты не отличить (особенно для Общие Сведения), поэтому они могут заявить что-то вроде

http://example.com/article-1#this (the blog post)
is the 'mainEntityOfPage' 
http://example.com/article-1 (the web page) 
http://example.com/article-1 (the web page) 
has 'mainEntity' 
http://example.com/article-1#this (the blog post)

здесь http://example.com/article-1#this представляет сообщение в блоге, и http://example.com/article-1 представляет страницу с информацией об этой публикации (или содержимом самой публикации). Более ясным примером может быть человек и страница об этом человеке; или здание и страница об этом здании. См. мой ответ для примера почему вы, возможно, захотите это сделать. (Но, как объяснялось выше, вы не нужно различать; вы можете использовать один и тот же URL для обоих.)