고유한 전역 식별자 형식으로 마이크로데이터를 제공한다.
itemid
애트리뷰트는 itemscope
, itemtype
애트리뷰트가 모두 명시된 요소에 대해서만 지정할 수 있다. itemtype
과 함께 필요에 따라 항목에 대한 식별값으로 사용한다. 만약에 해당 itemscop
에서 itemtype
이 전역 식별자를 참조하지 않는 경우에는 itemid
를 정의해서는 안된다.
<dl itemscope itemtype="https://example.com/books" itemid="urn:isbn:123456789"> <dt>Book Title</dt> <dd>Example</dd> <dt>Author</dt> <dd>Anybody</dd> </dl>
마이크로데이터(microdata)는 검색 엔진에게 효율적인 데이터를 제공하는 새로운 메커니즘이다. 예를 들어서 다음과 같은 HTML 콘텐츠가 있다고 가정하자.
<h1>Avator</h1>
단순히 제목으로 웹브라우저의 화면에 출력을 하는 코드이지만 문자열의 의미는 추가적인 전체 문맥을 확인해야만 알 수 있다. 이것은 검색 엔진에게는 데이터를 처리할 때 비효율적인 측면이 있다. 이러한 이유로 특정 어휘에게 추가적인 데이터를 제공하는 방식이 도입되었다. 물론 예전에도 이러한 문제로 고민했고 검색 노출의 성과를 위해 각각 검색 엔진의 가이드에 따라 웹 문서를 작성하도록 권고받는 식이었다. 이것을 단일화하고 표준화하여 각각의 검색 엔진에서 사용하도록 HTML5에서는 마이크로데이터(microdata)를 제공하는 마크업 방식을 강화했다고 볼 수 있다.
웹 문서에서 마이크로데이터(microdata)를 제공하기 위해서는 다음과 같은 시나리오로 HTML5에 새롭게 추가된 애트리뷰트를 사용하여 구현한다. 참고로 다음의 시나리오는 Scheme.org에서 발췌/참고했다.
다음과 같은 콘텐츠가 있다고 가정하자.
<div>
<h1>아바타</h1>
<span>감독: 제임스 카메론</span>
<span>SF</span>
<a href="/movies/list.php?m=1">예고편</a>
</div>
내용을 보면 영화 '아바타'에 대한 소개임을 알 수 있다. 이 콘텐츠를 사람이 보는데는 무리가 없지만 검색 엔진의 입장에서 의미와 의도 등 데이터를 분석해야 하는 복잡함을 가질 수 있다. 그래서 다음과 같이 마이크로데이터(microdata)를 제공하여 분석을 좀더 효율적으로 할 수 있도록 한다.
먼저 itemscope
애트리뷰트를 명시해 항목의 범위를 알린다. itemscope
에 대한 자세한 사항은 itemscope
레퍼런스를 참고하기 바란다.
<div itemscope>
<h1>아바타</h1>
<span>감독: 제임스 카메론</span>
<span>SF</span>
<a href="/movies/list.php?m=1">예고편</a>
</div>
항목 범위를 명시한 뒤 itemtype
애튜리뷰트로 항목의 타입에 대해 정의한다. itemtype
에 대한 자세한 사항은 itemtype
레퍼런스를 참고하기 바란다.
<div itemscope itemtype="https://example.com/culture">
<h1>아바타</h1>
<span>감독: 제임스 카메론</span>
<span>SF</span>
<a href="/movies/list.php?m=1">예고편</a>
</div>
다음은 제공할 데이터의 속성을 itemprop
애트리뷰트로 정의한다. itemprop
에 대한 자세한 사항은 itemprop
레퍼런스를 참고하기 바란다.
<div itemscope itemtype="https://example.com/culture">
<h1 itemprop="name">아바타</h1>
<span itemprop="director">감독: 제임스 카메론</span>
<span itemprop="genre">SF</span>
<a href="/movies/list.php?m=1" itemprop="preview">예고편</a>
</div>
지금과 같은 시나리오로 필요에 따라 웹 문서에 마이크로데이터(microdata)를 정의하면 된다. 이것은 실제 제품의 품질에 영향을 주는 추가적인 작업은 아니지만 마케팅이라는 또다른 분야에서 막강한 힘을 발휘하는 것이므로 반드시 개발 과정에서 고민하고 선행되어야 한다.