Как реализовать "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 для обоих.)