마이크로 데이터를 제공하기 위해 속성으로 표시된 다음 코드를 고려하십시오.
<!DOCTYPE html>
<html>
<head>
<title>Micro data test - Normal version</title>
</head>
<body>
<div itemscope itemtype="http://schema.org/Product">
<h1 itemprop="name">Product name</h1>
<img alt="" itemprop="image" src="http://placehold.it/200x200" />
<div itemprop="description">This is the product description.</div>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<meta content="in_stock" itemprop="availability" />
<span content="GBP" itemprop="priceCurrency">£</span><span itemprop="price">100.00</span>
</div>
</div>
</body>
</html>
Google의 구조적 데이터 테스트 도구를 사용하면 긍정적 인 결과를 얻을 수 있습니다.
테스트 예제에서는 문제가 없지만 HTML 구조가 크게 다른 다양한 사이트에서 마이크로 데이터를 구현하려고합니다. 이러한 방식으로 속성을 구현하려면 누군가 각 사이트에서 개별적으로 HTML 마크 업을 수동으로 편집해야합니다.
바람직하게는, 모든 마이크로 데이터를 한곳에 패키징하는 단일 함수를 호출 할 수 있기를 원합니다. 기술적으로 이것은 다음과 같은 방식으로 메타 태그를 사용하여 가능합니다.
<!DOCTYPE html>
<html>
<head>
<title>Micro data test - Meta tag version</title>
</head>
<body>
<meta itemscope itemtype="http://schema.org/Product" itemref="microName microImage microDescription microOffer" />
<meta id="microName" itemprop="name" content="Product name" />
<link id="microImage" itemprop="image" href="http://placehold.it/200x200" />
<meta id="microDescription" itemprop="description" content="This is the product description." />
<meta id="microOffer" itemprop="offers" itemscope itemtype="http://schema.org/Offer" itemref="microCurrency microPrice microAvail" />
<meta id="microAvail" itemprop="availability" content="in_stock" />
<meta id="microCurrency" itemprop="priceCurrency" content="GBP" />
<meta id="microPrice" itemprop="price" content="100.00" />
<div>
<h1>Product name</h1>
<img alt="" src="http://placehold.it/200x200" />
<div>This is the product description.</div>
<div>£100.00</div>
</div>
</body>
</html>
Google의 구조적 데이터 테스트 도구를 사용하면 첫 번째 테스트와 동일한 긍정적 결과가 나타납니다.
참고로 (실제 사이트에서는이 작업을 수행하지 않습니다 .) CSS에 의해 숨겨진 마이크로 데이터를 전달하려고하면 Google의 구조적 데이터 테스트 도구 가 오류를 반환합니다.
따라서 일반 태그 태그와 메타 태그 마크 업 모두 동일한 결과를 생성하지만 Google과 Schema.org의 다음 진술로 인해 일부 우려가 있습니다.
https://support.google.com/webmasters/answer/146750 상태 :
일반적으로 Google은 사용자에게 표시되는 마크 업 데이터 만 사용합니다. 숨겨진 데이터는 무시됩니다. 그러나 일부 환경에서는 기계가 읽을 수있는 버전과 사람이 읽을 수있는 버전의 콘텐츠를 모두 제공하는 것이 유용 할 수 있습니다. 예를 들어, "Elvis 's birthday"라는 텍스트 문자열은 많은 사람에게 중요하지만 검색 엔진에는 1935-01-08만큼 의미가 없습니다. 마찬가지로 인간 독자는 $ 기호의 의미를 유추 할 수 있지만 가격이 페소인지 달러인지 검색 엔진에 구체적으로 알리는 것이 유용 할 수 있습니다.
http://schema.org/docs/gs.html 상태 (메타 태그 사용과 관련하여) :
이 기술은 드물게 사용해야합니다. 다른 방법으로는 마크 업할 수없는 정보의 내용이 포함 된 메타 만 사용하십시오.
http://schema.org/docs/faq.html#13 상태 :
일반적으로 웹 페이지를 방문한 사용자에게 표시되는 컨텐츠 만 숨겨져 있으며 div 또는 기타 숨겨진 페이지 요소의 컨텐츠는 표시하지 않아야합니다.
내 질문은 :
- 오류가 반환되지 않지만 검색 엔진이 메타 태그를 이런 식으로 사용하면 (예 : 콘텐츠 복제, 정보 숨기기 등) 처벌을 받습니까?
- 이것이 적합하지 않은 경우 실제 데이터에서 마이크로 데이터를 분리하는 방법을 제안 할 수 있습니까? 아니면 글 머리 기호를 물고 HTML로 사례별로 구현해야합니까?