코드에서 Schema.org 마크 업을 JSON-LD로 사용하기에 이상적인 장소는 어디입니까?


9

JSON-LD를 사용하는 Schema.org 마크 업을 배치하는 가장 좋은 장소는 어디입니까? 일부는 내부를 권장 <head>하지만 스크립트도 인라인으로 작동합니다. MVC에서 컨트롤러와 동일한 범위에 배치하는 것이 더 쉬울 것이므로 요소 근처에서 인라인을 의미합니다. 그러나 JSON-LD는에서 하나의 거대한 스크립트 / 스택으로 "더 잘 작동"할 수 있습니다 <head>. 내가 생각하기에 이상적인 위치는 확실하지 않습니다.

빵 부스러기-예를 들어 부스러기의 마크 업 앞에 JSON-LD 스크립트를 넣어야합니까? 아니면 모델을로드하는 데 어려움을 겪어야 <head>합니까? 성능에 영향을 미치는 것처럼 보이지만 사양에 가치가 있다면 수행해야합니다.

다음은 JSON-LD의 조직 예제입니다 ( <head>이미 이미 있음).

<script type="application/ld+json"> {
"@context" : "http://schema.org",
"@type" : "Organization",
"name" : "A Huge Corporation",
"url" : "http://www.example.com",
"logo" : "http://www.example.com/huge-corporation.png",
"founder" : "Humanz",
"foundingDate" : "1268",
"sameAs" : "http://plus.google.com/111111111111111111111",
"contactPoint" : {
    "@type" : "ContactPoint",
    "contactType" : "Customer Service",
    "telephone" : "+1-888-888-8888",
    "faxNumber" : "+1-777-777-7777",
    "contactOption" : "TollFree",
    "areaServed" : "US",
    "availableLanguage" : "English",
    "email" : "dude@example.com"
},
"hasPos" : {
    "@type" : "Place",
    "name" : "The Branch or Store",
    "photo" : "http://www.example.com/store.png",
    "hasMap" : {
        "@type" : "Map",
        "url" : "https://maps.google.com/maps?q=feed_me_a_map"
    },
    "address" : {
        "@type" : "PostalAddress",
        "name" : "The Branch or Store",
        "streetAddress" : "1547 Main Street",
        "addressLocality" : "Beverly Hills",
        "addressRegion" : "CA",
        "postalCode" : "90210",
        "addressCountry" : "United States"
    }
}}
</script>

그리고 여기 빵 부스러기 스 니펫이 있습니다 (현재 다른 범위에 있으며 시각적으로 렌더링 된 부스러기 근처의 페이지 아래에 위치). 작품이 가치가 있다면 이것을 머리에 넣는 것이 좋을 것입니다.

<script type="application/ld+json"> {
"@context" : "http://schema.org",
"@type" : "Breadcrumblist",
"itemListElement" : [
    {
    "@type" : "ListItem",
    "position" : 1,
    "item" : {
        "@id" : "http:www.example.com",
        "name" : "Home"
        }
    },
    {
    "@type" : "ListItem",
    "position" : 2,
    "item" : {
        "@id" : "http:www.example.com/widgets",
        "name" : "Widgets"
        }
    },
    {
    "@type" : "ListItem",
    "position" : 3,
    "item" : {
        "@id" : "http:www.example.com/widgets/green",
        "name" : "Green Widgets"
        }
    }
]}
</script>

답변:


8

JSON-LD 는 신경 쓰지 않습니다 . 데이터의 위치와 상관없이 데이터가 동일하기 때문에 의미가 있습니다.

HTML의 관점에서 head, head요소가 문서의 메타 데이터를 포함하도록 정의되어 있으므로 JSON-LD가 웹 페이지 또는 웹 페이지가 나타내는 내용 인 경우 에만 HTML 을 포함해야합니다 . 그러나 어떤 것이 메타 데이터로 계산되는지 아닌지를 정의하는 것이 항상 쉬운 것은 아닙니다. 나는 이것에 대해 너무 걱정하지 않을 것입니다.


<head> 생각에 대해 이해합니다. 결국 조직을 떠나게 할 것입니다. ... 각 페이지마다 의미가 충분히 "메타"로 간주되며 식별 가능한 "태그"를 제공합니다.
dhaupin

과에서 head페이지 렌더링을 차단 코드의 다른 부분 아닌가요? 나는 전에 있는지 궁금해서 </body>더 나은 때문에 될 수있는
주앙 멘텔 페레이라

1
@ JoãoPimentelFerreira : 스크립트가 아닌 데이터 블록이기 때문에 차단되지 않을 것으로 예상합니다 (둘 다 script요소를 사용 하지만 기술적으로 다른 경우입니다). 브라우저는 모든 데이터 블록을 완전히 무시할 수 있습니다. 그러나 브라우저가 실제로 무엇을하는지 모르겠습니다.
unor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.