Dei uma olhada nos dados estruturados do artigo, conforme proposto pelo Google, e vi que existem novos campos obrigatórios e recomendados, que não estavam lá na semana passada. Aqui está o link:
https://developers.google.com/structured-data/rich-snippets/articles
A primeira propriedade da lista é:
- mainEntityOfPage. @ id (recomendado)
Não entendo qual deve ser o valor da propriedade? O que é essa propriedade? É um link para:
..ou um link para a postagem atual do blog como:
Eles têm isso em seu código de exemplo:
<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article" />
Isso que eu tenho atualmente, ainda não está em conformidade com as regras da ferramenta de teste - ainda estou ocupado adicionando todas as propriedades necessárias e ao mesmo tempo tentando adicionar as propriedades recomendadas também:
<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>
Eu também tenho isso no meu documento:
<body itemscope itemtype="http://schema.org/WebPage">
...
</body>
Isso entrará em conflito com o exemplo de código fornecido pelo Google?
fonte
Respostas:
A
mainEntityOfPage
propriedade é usada para fornecer o URL de uma página na qual a coisa é a entidade principal. Pode ficar mais claro se você observar a propriedade inversamainEntity
: isso fornece a entidade principal para uma página ( veja um exemplo ).Por exemplo, para uma página da web que contém uma única postagem no blog, você pode fornecer um destes:
BlogPosting
→mainEntityOfPage
→WebPage
WebPage
→mainEntity
→BlogPosting
Essas propriedades são úteis para transmitir qual é o conteúdo principal de uma página (porque as páginas podem conter vários itens, por exemplo, itens
ItemList
relacionadosWebPage
,Person
descrição do autor, descrição deWebSite
alguns metadados etc.).(Veja minha resposta no Stack Overflow para uma explicação mais detalhada.)
Existem duas maneiras de usar
mainEntityOfPage
:WebPage
)O segundo geralmente não faz muito sentido (você prefere usar a propriedade inversa
mainEntity
) e, provavelmente, por esse motivo, o Google recomenda / espera o primeiro.Para fornecer o URL, você pode simplesmente usar um
link
elemento:A Ferramenta de teste de dados estruturados do Google aceita isso.
No exemplo de rich snippet de artigos , o Google está usando um
meta
elemento comitemid
:Microdados HTML5 + inválidos: se o
meta
elemento tiver umitemprop
atributo, ele também deverá ter umcontent
atributo .fonte
<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article" content='https://google.com/article' />
Ele vai validar muito bem e não mostrando erro nos dados estruturados ferramenta de testemeta
elemento válido. Observe que ocontent
valor seria ignorado, portanto, você poderia fornecer um valor vazio.meta
vez delink
em seus exemplos? ambos são validados na ferramenta de teste de dados estruturados. Embora, a visualização seja diferente. Quandolink
é usado, temmainEntityOfPage http://example.com/article-1
enquanto, no casometa
, mostra@id
e@type
atributos.meta
maneira como cria um novo item com um tipo e um URI como identificador, alink
maneira que apenas vincula a uma página. Não tenho idéia do porquê da documentação do Googlemeta
, principalmente porque acho que olink
caminho é mais simples.É complementar às propriedades
url
esameAs
, conforme descrito emmainEntity
segundo plano .Ele tem um nome idiossincrático, pois pode ser aplicado a todos os itens do tipo
Thing
. Se aplicado apenas aArticles
ele, poderia ter sido chamadomainTopic
/mainTopicOfArticle
e ter sido mais claro.Espera-se que o valor da propriedade seja um item do tipo
CreativeWork
ou umaURL
referência que funcione de acordo com o Schema.org. Isso significa que também pode ser umArticle
ouBlogPosting
como você mencionou. No entanto, se você estiver criando páginas AMP, o valor deve ser um URL.Apesar do que a Ferramenta de teste de dados estruturados do Google diz que a documentação deles não recomenda mais o uso
mainEntityOfPage
de páginas que não sejam AMP, você pode omitir isso.fonte