Вы кладете схемы микроданных мета-теги в HTML-тело?
Я долго искал в интернете и stackoverflow для ответа на этот вопрос, и я нашел ссылки, которые говорят, что вы не должны помещать мета-теги в тело:
в то время как schema.org сайт четко показывает, что мета-теги являются вложенными непосредственно в теле http://schema.org/AggregateRating
просто посмотрите на пример, который размещен здесь
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>
если вы должны были сохранить мета-теги в <head>
, тогда как бы вы соотнесли эти две даты с их отзывами?
<meta itemprop="datePublished" content="2011-04-01">
<meta itemprop="datePublished" content="2011-03-25">
это вызывает путаницу, и я хотел бы знать, как это сделать правильно.
6 ответов:
если a
meta
элемент
- есть и и
- нет , нет ,
тогда это действительно так
meta
наbody
. (Если значение является URL, вы вы должны использоватьlink
вместо.)почему? Потому что спецификация микроданных изменяет HTML5.
(обратите внимание, что RDFa также изменяет HTML5, позволяя
meta
наbody
в некоторых случаях.)
если бы вы сохранили
meta
теги в<head>
, тогда как бы вы соотнесли эти две даты с их отзывами?вы можете использовать
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
принимает разделенный пробелом списокid
значения, так что вы можете даже ссылаться на два или более элементов. Просто добавьтеid
всех элементов (содержащихitemprop
атрибуты), которые должны быть добавлены к элементу , например:itemref="date author rating"
.
Что я могу прочитать из whatwg.org правильно использовать в теле: http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-meta-element
Я использую мета-теги в теле моего блога, чтобы указать свойства" datePublished "и" dateUpdated". Гуглы Богатый Инструмент Тестирования Фрагментов говорит мне, что это правильно и w3c проверяет код.
Помните также, что можно полностью избежать разметки HTML и использовать разметку JSON-LD
полностью содержится вв любом месте в HTML-документе (даже динамически вводится!) такой:<head>
<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>
посмотрите на примеры в schema.org, они обычно содержат JSON пример разметки, как это https://schema.org/Restaurant.
вот еще одна хорошая статья об этом http://www.seoskeptic.com/json-ld-google-knowledge-graph-schema-org-seo/
вы можете использовать:
<meta itemprop="">
в теле страницы, чтобы сделать schema.org семантическая разметка, которая является машиночитаемой (роботами, например, для SEO), даже если вы не хотите отображать фактический текст (например, название продукта) на странице.
см.:http://schema.org/docs/gs.html#advanced_missing
иногда на веб-странице есть информация, которую было бы полезно отметить вверх, но информация не может быть размечена из-за как это появится на странице. Информация может быть передана в виде изображения (для например, изображение, используемое для представления рейтинга 4 из 5) или вспышка объект (например, продолжительность видеоклипа), или это может быть подразумевается, но не указывается явно на странице (например, валюта цены).
Я делаю это так:
<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">
при первой работе с schema.org ' s микроданные, я добавил мета-теги в теге head моей веб-страницы, но когда я запустил эту страницу против богатый инструмент тестирования фрагментов Google, данные не были извлечены. Затем я переместил мета-теги в тело страницы, и данные были показаны как извлеченные.