[schema.org] Schema.org-JSON-LD-어디에 배치할까요?

웹 사이트의 스키마에 JSON-LD를 사용하려고합니다. (스키마는 schema.org 데이터를 의미합니다.) 데이터를 작성하는 방법을 알고 있지만 내 질문은이 데이터를 삽입하기 위해 선호하는 위치가 내 코드에 있다는 것입니다. 즉, JSON-LD는 항상이어야한다 head, body등?



답변

Schema.org, JSON-LD 및 추출 가능한 RDF의 관점에서 보면 문제가되지 않습니다. 데이터는 문서에서 추출 된 위치에 관계없이 동일합니다.

HTML5의 관점에서 :

이 페이지 (또는 어떤이 페이지에 관한)에 대한 데이터의 경우에는 배치 할 수 script의 요소 head는 AS, head요소

[…] 문서에 대한 메타 데이터 모음을 나타냅니다.

그러나 물론 body이것을 대신 사용 하는 것은 잘못이 아닙니다 . head귀하의 페이지에 관한 것이 아니거나 그것이 나타내는 내용이 아닌 데이터에 사용해서는 안됩니다 .


답변

데이터는 어디에나 배치 할 수 있습니다. 에서 구글의 문서 :

아래 예에서와 같이 <script type="application/ld+json">
</script>태그로 묶인 데이터 는 해당 이벤트를 표시하는 페이지 <HEAD>또는 <BODY>영역 에 배치 될 수 있습니다 .

AJAX를 사용하여 동적으로 가져온 데이터 를 사용할 수도 있습니다 .

초기 페이지로드시 실행되는 Javascript로 삽입 된 JSON-LD 마크 업을 인식 할 수 있습니다.

업데이트 ( Antony 가 의견에서 지적한대로 )

최신 설명서는 말한다 :

[JSON-LD는] 페이지 헤드 또는 본문 의 태그에 포함 된 JavaScript 표기법 … Google은 JavaScript 코드 또는 콘텐츠에 포함 된 위젯과 같이 페이지 콘텐츠에 동적으로 삽입 될 때 JSON-LD 데이터를 읽을 수 있습니다. 관리 시스템.


답변

에 삽입하기로 선택한 경우 다음 <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>

일반 구조화 된 데이터 가이드 라인 에서 문서를 확인하세요.


답변