Makale yapılı veriler için yeni gerekli mainEntityOfPage


13

Google tarafından önerilen makale yapılandırılmış verilerine bir göz attım ve yeni bir zorunlu ve önerilen alanların olduğunu gördüm, geçen hafta orada değildi. Bağlantı burada:

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

Listedeki ilk özellik:

  • mainEntityOfPage. @ id (önerilir)

Özelliğin değeri ne olduğunu anlamıyorum? Bu özellik nedir? Bir bağlantı mı:

..veya şu anki blog yazısına bir bağlantı:

Örnek kodlarında bu var:

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

Şu anda sahip olduğum şey, henüz test aracının kurallarına uymuyor - Hala gerekli tüm özellikleri eklemekle meşgulüm ve aynı zamanda önerilen özellikleri de buraya eklemeye çalışıyorum:

<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>

Belgemde de bu var:

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

Bu, Google tarafından sağlanan kod örneğiyle herhangi bir şekilde çelişecek mi?


Sadece bu sabah siteme aynı şeyi gördüm ve bu iş parçacığına indi.
dasickle

Yanıtlar:


14

mainEntityOfPageMülkiyet üzerinde bir sayfanın URL'sini vermek için kullanılan şey ana varlıktır. Ters özelliğe bakarsanız daha açık hale gelebilir mainEntity: bu, bir sayfa için ana varlığı verir ( örneğe bakın ).

Örneğin, tek bir blog yayını içeren bir web sayfası için aşağıdakilerden birini sağlayabilirsiniz:

  • BlogPostingmainEntityOfPageWebPage
  • WebPagemainEntityBlogPosting

Bu özellikler, bir sayfadaki ana içeriğin ne olduğunu anlatmak için yararlıdır (sayfalar birden fazla öğe içerebilir, çünkü ItemListilgili WebPageöğeler içeren bir Personyazar, bir yazar açıklayan, bir WebSitemeta veri veren vb.).

( Daha ayrıntılı bir açıklama için Yığın Taşması ile ilgili cevabım bölümüne bakın .)


Bunu kullanmanın iki yolu vardır mainEntityOfPage:

  • sayfanın URL'sini sağlayın
  • sayfa öğesini gömme / referanslama (genellikle a WebPage)

İkincisi genellikle pek mantıklı değil (ters mülkü kullanmayı tercih edersiniz mainEntity) ve muhtemelen bu nedenle Google ilkini önerir / bekler.

URL'yi sağlamak için bir linköğe kullanabilirsiniz :

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

Google'ın Yapısal Veri Test Aracı bunu kabul eder.

Gelen Makaleler Zengin Snippet Örneğin , Google kullanıyor metaile eleman itemidyerine:

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

Bu geçersiz HTML5 + Mikro veri: metaÖğenin bir itempropniteliği varsa, aynı zamanda bir contentniteliği de olmalıdır .


meta olarak url ile içerik de sağlarsak, örn. <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article" content='https://google.com/article' /> iyi yapılandırır ve yapılandırılmış veri test aracında hata göstermez
StarWars

@StarWars: Evet, bu metaöğeyi geçerli yapmanın yolu budur . contentBoş bir değer sağlayabilmeniz için değerin yok sayılacağını unutmayın .
unor

tamam, şimdi meta etikete content = "" ekledim.
StarWars

Neden google kullanır metayerine linkkendi örneklerde? bunların her ikisi de yapılandırılmış veri test aracında doğrulanır. Bununla birlikte, önizleme farklıdır. Ne zaman linkkullanıldığında, gösterir ve nitelikleri mainEntityOfPage http://example.com/article-1durumunda iken vardır . meta@id@type
StarWars

@StarWars: Evet, bu tam olarak fark: metabir tür ve bir URI ile tanımlayıcı olarak yeni bir öğe oluşturma linkyolu, sadece bir sayfaya bağlanma şekli. Google'ın dokümantasyonunun neden kullanıldığını bilmiyorum meta, özellikle de linkyolun daha basit olduğunu düşünüyorum .
unor

2

Bu özellik nedir?

Arka planda açıklandığı gibi urlve sameAsözelliklerine tamamlayıcıdır .mainEntity

Türdeki tüm öğelere uygulanabileceğinden kendine özgü bir ada sahiptir Thing. Sadece uygulanan Eğer Articlesdenir olabilirdi mainTopic/ mainTopicOfArticleve daha açık.

Özelliğin değeri ne olduğunu anlamıyorum?

Mülk değerinin Schema.org'a göre çalışan CreativeWorkbir tür öğe veya URLreferans olması beklenir. Bu , sizin de bahsettiğiniz gibi veya olabileceği anlamına gelir . Ancak, AMP sayfaları oluşturuyorsanız, değer bir URL olmalıdır.ArticleBlogPosting

Bu, Google tarafından sağlanan kod örneğiyle herhangi bir şekilde çelişecek mi?

Google'ın Yapısal Veri Test Aracı'nın söylediklerine rağmen , dokümanları artık mainEntityOfPageAMP olmayan sayfalar için kullanılmasını önermez, bu nedenle bunu atlayabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.