property open name keywords imagen example etiquetas ejemplos description content html html5 microdata schema.org

open - ¿Coloca metaetiquetas de Schema Microdata en el cuerpo html?



og image metatag (6)

He buscado durante mucho tiempo en Internet y stackoverflow para obtener una respuesta a esta pregunta, y he encontrado enlaces que dicen que no debes poner metaetiquetas en el cuerpo:

mientras que el sitio web schema.org muestra claramente las metaetiquetas anidadas directamente en el cuerpo http://schema.org/AggregateRating

Solo mira el ejemplo que está publicado allí

Customer reviews: <div itemprop="reviews" itemscope itemtype="http://schema.org/Review"> <span itemprop="name">Not a happy camper</span> - by <span itemprop="author">Ellie</span>, <meta itemprop="datePublished" content="2011-04-01">April 1, 2011 <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"> <meta itemprop="worstRating" content = "1"> <span itemprop="ratingValue">1</span>/ <span itemprop="bestRating">5</span>stars </div> <span itemprop="description">The lamp burned out and now I have to replace it. </span> </div> <div itemprop="reviews" itemscope itemtype="http://schema.org/Review"> <span itemprop="name">Value purchase</span> - by <span itemprop="author">Lucas</span>, <meta itemprop="datePublished" content="2011-03-25">March 25, 2011 <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"> <meta itemprop="worstRating" content = "1"/> <span itemprop="ratingValue">4</span>/ <span itemprop="bestRating">5</span>stars </div> <span itemprop="description">Great microwave for the price. It is small and fits in my apartment.</span> </div>

Si tuviera que mantener las metaetiquetas en <head> , ¿cómo relacionaría estas dos fechas con sus reseñas? <meta itemprop="datePublished" content="2011-04-01"> <meta itemprop="datePublished" content="2011-03-25">

Esto está causando confusión y me gustaría saber cómo hacerlo correctamente.


Cuando trabajé por primera vez con los microdatos de schema.org, agregué las etiquetas meta en la etiqueta principal de mi página web, pero cuando ejecuté esa página contra la herramienta de prueba de fragmentos enriquecidos de Google , no se extrajeron los datos. Luego moví las metaetiquetas al cuerpo de la página y los datos se mostraron como extraídos.


Lo hago de esta manera:

<meta id="md_course" itemprop="course" name="course" content="..."/> <meta id="md_lang" itemprop="language" content="eng"/> <title id="md_title" itemprop="title" >Motivation and Course Overview</title> </head> <body itemscope itemtype=".../Presentation" itemref="md_course md_lang md_title md_field">



Puedes usar:

<meta itemprop="">

en el cuerpo de la página hacer el marcado semántico schema.org que es legible por máquina (por robots, para SEO, por ejemplo) incluso si no desea mostrar el texto real (nombre del producto, por ejemplo) en la página.

ver: http://schema.org/docs/gs.html#advanced_missing

A veces, una página web tiene información que sería valiosa para marcar, pero la información no se puede marcar debido a la forma en que aparece en la página. La información puede transmitirse en una imagen (por ejemplo, una imagen utilizada para representar una calificación de 4 de 5) o un objeto Flash (por ejemplo, la duración de un videoclip), o puede estar implícita pero no expresarse explícitamente en la página (por ejemplo, la moneda de un precio).


Recuerde también que es posible evitar por completo el marcado HTML y usar el marcado JSON-LD contenido por completo en <head> en cualquier parte del documento HTML (¡incluso dinámicamente inyectado!) De esta manera:

<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Restaurant", "name": "Fondue for Fun and Fantasy", "description": "Fantastic and fun for all your cheesy occasions", "openingHours": "Mo,Tu,We,Th,Fr,Sa,Su 11:30-23:00", "telephone": "+155501003333", "menu": "http://example.com/menu" } </script>

eche un vistazo a los ejemplos en schema.org , generalmente contienen marcas de ejemplo JSON como esta https://schema.org/Restaurant .

Aquí hay otro buen artículo al respecto http://www.seoskeptic.com/json-ld-google-knowledge-graph-schema-org-seo/


Si un meta elemento

  • tiene un atributo itemprop y un atributo de content , y
  • no tiene ningún atributo de name , ningún atributo http-equiv y ningún atributo charset ,

entonces es válido tener esta meta en el body . (Si el valor es una URL, debe usar el link lugar ).

¿Por qué? Porque la especificación Microdata cambia HTML5 .

(Tenga en cuenta que RDFa también cambia HTML5 al permitir meta en el body en algunos casos).

Si tuviera que mantener las meta en <head> , ¿cómo relacionaría estas dos fechas con sus reseñas?

Puede usar el atributo itemref :

<!DOCTYPE html> <html> <head> <title>Using itemref for meta in the head</title> <meta itemprop="datePublished" content="2011-03-25" id="date"> </head> <body> <div itemscope itemtype="http://schema.org/Review" itemref="date"> <span itemprop="name">…</span> </div> </body> </html>

itemref toma una lista de valores de id separados por espacios, por lo que incluso puede hacer referencia a dos o más elementos. Simplemente agregue la id de todos los elementos (que contienen atributos itemprop ) que se deben agregar al elemento a su atributo itemref , por ejemplo: itemref="date author rating" .