ใหม่ 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: สิ่งนี้ให้เอนทิตีหลักสำหรับหน้า ( ดูตัวอย่าง )

ตัวอย่างเช่นสำหรับหน้าเว็บที่มีการโพสต์บล็อกเดียวคุณสามารถให้หนึ่งในสิ่งเหล่านี้:

  • BlogPosting→การmainEntityOfPage→การWebPage
  • WebPage→การmainEntity→การBlogPosting

คุณสมบัติเหล่านี้มีประโยชน์ในการถ่ายทอดสิ่งที่เนื้อหาหลักในหน้าคือ (เพราะหน้าอาจมีหลายรายการเช่นที่ItemListมีWebPageรายการที่เกี่ยวข้องการPersonอธิบายผู้เขียนการWebSiteให้ข้อมูลเมตา ฯลฯ )

(ดูคำตอบของฉันใน Stack Overflowสำหรับคำอธิบายโดยละเอียด)


วิธีใช้มีสองวิธีmainEntityOfPage :

  • ระบุ URL ของหน้า
  • ฝัง / อ้างอิงรายการเพจ (โดยทั่วไปแล้วWebPage)

ส่วนที่สองมักไม่ค่อยสมเหตุสมผลนัก (คุณควรใช้คุณสมบัติผกผันmainEntity) และอาจเป็นเพราะเหตุผลที่ Google แนะนำ / คาดว่าจะเป็นคนแรก

ในการระบุ URL คุณสามารถใช้linkองค์ประกอบได้ง่ายๆ:

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

เครื่องมือทดสอบข้อมูลที่มีโครงสร้างของ Google ยอมรับสิ่งนี้

ในตัวอย่างบทความ Rich 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 เช่น<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

ทำไม Google จึงใช้metaแทนlinkตัวอย่าง ตรวจสอบทั้งสองอย่างนี้ในเครื่องมือทดสอบข้อมูลที่มีโครงสร้าง แม้ว่าตัวอย่างจะแตกต่างกัน เมื่อlinkมีการใช้มันจะมีmainEntityOfPage http://example.com/article-1ในขณะที่metaมันแสดงให้เห็น@idและ@typeคุณสมบัติ
StarWars

@StarWars: ใช่นั่นคือความแตกต่างที่แน่นอน: metaวิธีสร้างรายการใหม่ที่มีประเภทและ URI เป็นตัวระบุlinkวิธีที่เชื่อมโยงไปยังหน้าเว็บ ฉันไม่รู้ว่าทำไมเอกสารของ Google ใช้metaโดยเฉพาะอย่างยิ่งเนื่องจากฉันคิดว่าlinkวิธีง่ายกว่า
2560

2

สถานที่ให้บริการนี้คืออะไร?

มันเสริมไปurlและsameAsคุณสมบัติตามที่อธิบายไว้ในพื้นหลังmainEntity

Thingมันมีชื่อที่มีนิสัยแปลกที่มันอาจจะนำไปใช้กับทุกรายการประเภท ถ้ามันใช้กับArticlesมันเท่านั้นที่จะได้รับการเรียกmainTopic/ mainTopicOfArticleและชัดเจนมากขึ้น

ฉันไม่เข้าใจว่ามูลค่าของทรัพย์สินจะเป็นอย่างไร

มูลค่าของทรัพย์สินนั้นคาดว่าจะเป็นรายการประเภทCreativeWorkหรือการURLอ้างอิงที่ทำงานตาม Schema.org นั่นหมายความว่ามันอาจเป็นArticleหรือBlogPostingตามที่คุณพูดถึง อย่างไรก็ตามหากคุณกำลังสร้างหน้า AMP ขึ้นค่าควรเป็น URL

สิ่งนี้จะขัดแย้งกับตัวอย่างโค้ดที่จัดทำโดย Google หรือไม่

แม้จะมีเครื่องมือทดสอบข้อมูลที่มีโครงสร้างของ Google กล่าวว่าเอกสารของพวกเขาไม่แนะนำให้ใช้mainEntityOfPageหน้าเว็บที่ไม่ใช่ AMP อีกต่อไปดังนั้นคุณสามารถละเว้นได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.