Schema.org - JSON-LD - Gdzie umieścić?

96

Chcę używać JSON-LD do schematu w witrynie internetowej. (Schemat oznacza dane schema.org.) Wiem, jak zapisywać dane, ale moje pytanie brzmi, czy w moim kodzie jest preferowana lokalizacja do wstawiania tych danych? Innymi słowy, gdyby JSON-LD zawsze być w head, bodyitp?

L84
źródło

Odpowiedzi:

68

Z punktu widzenia Schema.org, JSON-LD i prawdopodobnie wyodrębnionego RDF, nie powinno to mieć znaczenia. Dane są takie same, bez względu na to, skąd w dokumencie zostały wyodrębnione.

Z perspektywy HTML5:

Jeśli są to dane o Twojej stronie (lub o czym jest ta strona), możesz umieścić scriptelement w elemencie head, jako headelement

[…] Reprezentuje zbiór metadanych dla Dokumentu

Ale oczywiście nie byłoby niewłaściwe użycie bodydo tego. Po prostu nie powinieneś używać headdanych, które nie dotyczą Twojej strony lub tego, co ona reprezentuje.

unor
źródło
94

Dane można umieścić w dowolnym miejscu. Z dokumentacji Google :

Dane zawarte w tagach <script type="application/ld+json">... </script>, jak pokazano w poniższych przykładach, można umieścić w regionie <HEAD>lub w <BODY>regionie strony, na którym jest wyświetlane to zdarzenie.

Możesz także użyć danych pobieranych dynamicznie za pomocą AJAX :

Można rozpoznać znaczniki JSON-LD wstawione przez JavaScript, które są uruchamiane podczas początkowego ładowania strony.

Aktualizacja (jak wskazał Antony w komentarzach)

Najnowsza dokumentacja mówi:

[JSON-LD to] notacja JavaScript osadzona w tagu w nagłówku lub treści strony ... Google może odczytywać dane JSON-LD, gdy są one dynamicznie wstawiane do treści strony, na przykład przez kod JavaScript lub widżety osadzone w treści System zarządzania.

Dheeraj Vepakomma
źródło
5
Nowy adres URL to developers.google.com/search/docs/guides/intro-structured-data . W dolnej części znajduje się tabela 2/3 z kolumną „Opis i umiejscowienie”
Antony
-3

jeśli zdecydujesz się wstawić do <body>, musisz to zrobić w następujący sposób:

<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>

poniżej znajduje się kod skryptu służący do wstawiania danych strukturalnych do <head>tagu

<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>

sprawdź dokumentację w ogólnych wytycznych dotyczących uporządkowanych danych

Richard Rosario
źródło
Czy jesteś w stanie poprzeć swoją odpowiedź jakimiś źródłami lub dodatkowymi informacjami? Inne odpowiedzi mówią co innego, a nie mogę znaleźć niczego w podanym przez Ciebie łączu.
Sebi