Schema.org - JSON-LD - Где разместить?

96

Я хочу использовать JSON-LD для схемы на веб-сайте. (Схема означает данные schema.org.) Я знаю, как записывать данные, но мой вопрос: есть ли в моем коде предпочтительное место для вставки этих данных? Другими словами, должен ли JSON-LD всегда находиться в файлах head, bodyи т. Д.?

L84
источник

Ответы:

68

С точки зрения Schema.org, JSON-LD и, возможно, извлеченного RDF, это не имеет значения. Данные одни и те же, независимо от того, откуда они были извлечены.

С точки зрения HTML5:

Если это данные о вашей странице (или о том, о чем эта страница), вы можете поместить scriptэлемент в head, как headэлемент

[…] Представляет собой набор метаданных для документа

Но, конечно, было бы неплохо использовать bodyдля этого вместо этого. Просто вы не должны использовать headданные, которые не относятся к вашей странице или тому, что она представляет.

unor
источник
94

Данные можно разместить где угодно. Из документации Google :

Данные, заключенные в теги <script type="application/ld+json">..., </script>как показано в примерах ниже, могут быть размещены в той <HEAD>или<BODY> иной области страницы, на которой отображается это событие.

Вы также можете использовать данные, динамически извлекаемые с помощью AJAX :

Разметка JSON-LD, вставленная Javascript, которая запускается при начальной загрузке страницы, может быть распознана.

Обновление (как указал Антоний в комментариях)

В последней документации говорится:

[JSON-LD - это] нотация JavaScript, встроенная в тег в заголовке или теле страницы ... Google может читать данные JSON-LD, когда они динамически вводятся в содержимое страницы, например с помощью кода JavaScript или встроенных виджетов в ваш контент. система управления.

Дирадж Вепакомма
источник
5
Новый URL-адрес - developers.google.com/search/docs/guides/intro-structured-data . На 2/3 внизу есть таблица со столбцом «Описание и размещение»
Энтони
-3

если вы решите вставить в <body>, вы должны сделать это следующим образом:

<p class="companyName" vocab="http://schema.org/" resource="#manu" typeof="Organization">
   <span property="name">ShopTech Media</span>
   <img property="logo" src="https://yoursite.com/logo.png" />
   <a property="url" href="http://www.yoursite.com">Home page</a>
</p>
<p typeof="contactPoint">
  <span property="contactType">Customer Service:</span>
<span property="telephone">+45-xxxxxxx</span>
</p>

ниже приведен код сценария для вставки ваших структурированных данных в <head>тег

<script type="application/ld+json"> 
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "url": "http://www.shoptech.media",
  "logo": "https://shoptech.media/wp-content/uploads/2019/08/cropped-logo-sm.png",
  "contactPoint": [{
    "@type": "ContactPoint",
    "telephone": "+45-65711114",
    "contactType": "customer service"
  }]
}
</script>

проверьте документацию по общему руководству по структурированным данным

Ричард Росарио
источник
Можете ли вы подкрепить свой ответ некоторыми источниками или дополнительной информацией? Другие ответы говорят о другом, и я ничего не могу найти в предоставленной вами ссылке.
Себи