기사 구조화 된 데이터에 대한 새로운 필수 mainEntityOfPage


13

Google이 제안한 기사 구조화 데이터를 살펴본 결과 새로운 필수 및 권장 필드가 있으며 지난 주에는 없었습니다. 여기 링크가 있습니다:

https://developers.google.com/structured-data/rich-snippets/articles

목록의 첫 번째 속성은 다음과 같습니다.

  • mainEntityOfPage. @ id (권장)

나는 재산의 가치가 무엇인지 이해하지 못합니까? 이 속성은 무엇입니까? 다음에 대한 링크입니까?

.. 또는 현재 블로그 게시물에 대한 링크 :

그들은 샘플 코드에 이것을 가지고 있습니다 :

<meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid="https://google.com/article" />

현재 가지고있는 것은 아직 테스트 도구의 규칙을 준수하지 않습니다. 필요한 모든 속성을 추가하고 동시에 권장 속성을 추가하려고 여전히 바쁩니다.

<div itemscope itemtype="http://schema.org/BlogPosting">
   <h1 itemprop="headline">
      <a href="http:///www.example.com/blog/1001/my-blog-article" itemprop="url">My Blog Article</a>
   </h1>
   <p>Written by
      <span itemprop="author" itemscope itemtype="http://schema.org/Person">
         <span itemprop="name">Mase Kind</span>
      </span> on
      <time itemprop="datePublished" datetime="2015-11-16T15:30:00+02:00">November 16, 2015</time>
      <meta itemprop="dateModified" content="2015-12-10T12:29:00+02:00" />
      <div itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
         <div itemprop="logo" itemscope itemtype="http://schema.org/ImageObject"></div>
         <meta itemprop="name" content="My Company Name" />
      </div>
   </p>
   <div itemprop="articleBody">
      <p>first article body</p>
   </div>
</div>

나는 또한 내 문서에 이것을 가지고있다 :

<body itemscope itemtype="http://schema.org/WebPage">
...
</body>

이것은 Google이 제공 한 코드 샘플과 어떤 방식으로 충돌합니까?


오늘 아침 내 사이트에서 똑같은 일이 발생 하고이 실에 착륙했습니다.
dasickle

답변:


14

mainEntityOfPage속성사물 이 주요 항목 인 페이지의 URL을 제공하는 데 사용됩니다 . 역 속성을 보면 더 명확해질 수 있습니다 mainEntity. 이렇게하면 페이지의 주 항목이됩니다 ( 예 참조 ).

예를 들어 단일 블로그 게시물이 포함 된 웹 페이지의 경우 다음 중 하나를 제공 할 수 있습니다.

  • BlogPostingmainEntityOfPageWebPage
  • WebPagemainEntityBlogPosting

이러한 속성은 페이지의 주요 내용이 무엇인지를 전달하는 데 유용합니다 (예 : ItemList관련 WebPage항목 포함, Person작성자 설명, WebSite일부 메타 데이터 제공 등).

( 자세한 설명 은 스택 오버플로에 대한 답변을 참조하십시오 .)


사용 방법 에는 두 가지 가 있습니다 mainEntityOfPage.

  • 페이지의 URL을 제공하십시오
  • 페이지 항목 포함 / 참조 (일반적으로 a WebPage)

두 번째는 종종 이해가되지 않으며 (역 속성을 사용하는 mainEntity것이 좋습니다) 아마도 아마도 Google이 첫 번째 것을 권장 / 기대합니다.

URL을 제공하기 위해 간단히 link요소 를 사용할 수 있습니다 .

<article itemscope itemtype="http://schema.org/BlogPosting">
  <link itemprop="mainEntityOfPage" href="http://example.com/article-1" />
</article>

Google의 구조적 데이터 테스트 도구가이를 승인합니다.

에서 기사 리치 스 니펫 예를 들어 , 구글은 사용 meta하여 요소를 itemid대신 :

<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article"/>

이것은 유효하지 않은 HTML5 + Microdata : meta요소에 itemprop속성 이있는 경우 속성 도 있어야 content합니다 .


메타로 URL을 포함하는 콘텐츠를 제공하는 경우 (예 : <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article" content='https://google.com/article' /> 구조화 된 데이터 테스트 도구에서 정밀하게 검증되고 오류가 표시되지 않음)
StarWars

@StarWars : 예,이 meta요소를 유효 하게 만드는 방법 입니다. 점을 유의 content당신이 빈 값을 제공 할 수 있도록, 값은 무시됩니다.
또는

이제 메타 태그에 content = ""를 추가했습니다.
StarWars

왜 구글 이 예제 meta대신에 사용 link합니까? 이 두 가지 모두 구조화 된 데이터 테스트 도구에서 검증됩니다. 그러나 미리보기는 다릅니다. 때 link사용되는, 그것은이 mainEntityOfPage http://example.com/article-1의 경우 상태 meta가 표시 @id@type속성.
StarWars

@StarWars : 그렇습니다. 정확히 다른 점입니다. meta형식과 URI를 식별자로 사용하여 새 항목을 만드는 방법은 link페이지에 연결 하는 방법입니다. Google 문서가 왜을 사용하는지 이유를 모르겠습니다 meta. 특히 link방법이 더 간단 하다고 생각하기 때문 입니다.
unor

2

이 속성은 무엇입니까?

background에 설명 된대로 urlsameAs속성을 보완합니다 .mainEntity

모든 유형의 항목에 적용될 수 있으므로 고유 한 이름을 갖습니다 Thing. 그것이에만 적용된다면 / Articles라고 불릴 수 있었고 더 명확했습니다.mainTopicmainTopicOfArticle

나는 재산의 가치가 무엇인지 이해하지 못합니까?

속성의 값은 Schema.org 에 따라 작동 CreativeWork하는 URL참조 항목 또는 유형의 항목이어야합니다 . 그것은 또는 당신이 언급 한대로 될 수 있음을 의미합니다 . 그러나 AMP 페이지를 작성하는 경우 값은 URL이어야합니다.ArticleBlogPosting

이것은 Google이 제공 한 코드 샘플과 어떤 방식으로 충돌합니까?

구글의 구조적 데이터 테스팅 툴 (Structured Data Testing Tool)에 따르면, 그들의 문서 는 더 이상 mainEntityOfPageAMP 이외의 페이지에 대한 사용을 권장하지 않으므로 자유롭게 생략 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.