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

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

2 ответа

Решение

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

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

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

[…] Представляет коллекцию метаданных для Документа

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

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

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

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

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

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

Последняя документация гласит:

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

Если вы решите вставить в <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>

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

Другие вопросы по тегам