schema.org microdata google-rich-snippets

schema.org - ¿Cómo implementar "mainEntityOfPage" en este sitio específico?



microdata google-rich-snippets (1)

Acerca del ejemplo de microdatos de Google

El ejemplo de microdatos de Google no es válido. Si el meta elemento tiene el atributo itemprop , se requiere el atributo de content ( details ).

Describí diferentes formas de especificar mainEntityOfPage en Microdata , siendo la más sencilla un elemento de link que crea un valor de URL (en lugar de otro elemento de Microdata):

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

mainEntity

Es más fácil entender el uso de mainEntityOfPage si primero miramos su propiedad inversa, mainEntity .

Para una WebPage BlogPosting que contiene un BlogPosting , podríamos tener:

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

Esto significa: hay una WebPage BlogPosting y una BlogPosting , y la BlogPosting es la "entidad principal" descrita en esta WebPage . Para denotar esto, tiene sentido especialmente si hay más elementos involucrados, por ejemplo, una Person describe al autor, cinco elementos más de BlogPosting para publicaciones relacionadas, un elemento de WebSite que proporciona algunos metadatos, etc. Gracias a mainEntity / mainEntityOfPage , los consumidores pueden aprender cuál es el principal / elemento principal en esa página es (es decir, qué significa la página).

mainEntityOfPage

El siguiente ejemplo con mainEntityOfPage daría como resultado datos estructurados equivalentes como el ejemplo con mainEntity de arriba:

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

Como puede ver, el elemento para el elemento BlogPosting contiene el elemento para el elemento WebPage . Esto es, por supuesto, un marcado bastante inusual.

Pero la propiedad mainEntityOfPage no solo espera un elemento ( CreativeWork ) como valor, sino que también espera una URL. Entonces, en lugar de proporcionar un elemento de página web explícitamente, puede proporcionar la URL de la página:

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

(Esto es lo que Google espera, de acuerdo con su documentación para los Artículos Rich Snippet ).

Excursus: URL de página vs. publicación

Muchos sitios no diferencian entre la URL de la página web y la URL de la publicación del blog. Para estos sitios puede parecer una tontería decir algo como

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)

Pero puede ser útil de todos modos (por ejemplo, para elegir qué elemento es el principal, porque los otros elementos no tendrán esta declaración; o para un nodo en blanco; etc.).

Sin embargo, algunos sitios se diferencian (especialmente para los datos vinculados ), por lo que podrían indicar algo como

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)

Aquí, http://example.com/article-1#this representa la publicación del blog, y http://example.com/article-1 representa la página con información sobre esta publicación (o el contenido de la publicación en sí). Un ejemplo más claro sería una persona y una página sobre esta persona; o un edificio y una página sobre este edificio. Vea mi respuesta para ver un ejemplo de por qué desea hacer esto . (Pero, como se explicó anteriormente, no tiene que diferenciar; puede usar la misma URL para ambos).

Eche un vistazo aquí: https://developers.google.com/structured-data/testing-tool?url=https%253A%252F%252Fglamourina.net%252Fen%252F

¿Cómo puedo agregar correctamente mainEntityOfPage a este sitio?

En el ejemplo de documentación de Google veo algo como esto:

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

Pero este es un blog de autor único. Y presenta blogPosts.

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

Sería bueno si lo cambio así:

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

No estoy seguro si entiendo bien el uso de mainEntityOfPage . Le agradecería si alguien puede sugerirme cómo puedo hacer para este caso / sitio web específico. No genéricamente, porque cada sitio puede tener una mainEntityOfPage diferente, pero necesito saber y comprender la implementación correcta para este sitio.