웹 사이트의 스키마에 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>
일반 구조화 된 데이터 가이드 라인 에서 문서를 확인하세요.