Saya telah melihat data terstruktur artikel seperti yang diusulkan oleh Google dan melihat bahwa ada bidang baru yang diperlukan dan direkomendasikan, mereka tidak ada di sana minggu lalu. Ini tautannya:
https://developers.google.com/structured-data/rich-snippets/articles
Properti pertama dalam daftar adalah:
- mainEntityOfPage. @ id (disarankan)
Saya tidak mengerti apa nilai properti itu seharusnya? Apa properti ini? Apakah ini tautan ke:
..atau tautan ke posting blog saat ini seperti:
Mereka memiliki ini dalam kode sampel mereka:
<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article" />
Ini yang saat ini saya miliki, belum sesuai dengan aturan alat uji - saya masih sibuk menambahkan semua properti yang diperlukan dan pada saat yang sama mencoba menambahkan properti yang disarankan di sana juga:
<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>
Saya juga memiliki ini di dokumen saya:
<body itemscope itemtype="http://schema.org/WebPage">
...
</body>
Apakah ini akan bertentangan dengan contoh kode yang dipasok oleh Google?
sumber
Jawaban:
The
mainEntityOfPage
properti digunakan untuk memberikan URL dari halaman di mana hal adalah entitas utama. Mungkin menjadi lebih jelas jika Anda melihat properti inversmainEntity
: ini memberikan entitas utama untuk halaman ( lihat contoh ).Misalnya, untuk halaman web yang berisi satu posting blog, Anda dapat memberikan salah satunya:
BlogPosting
→mainEntityOfPage
→WebPage
WebPage
→mainEntity
→BlogPosting
Properti ini berguna untuk menyampaikan konten utama pada suatu halaman (karena halaman mungkin berisi banyak item, misalnya,
ItemList
denganWebPage
item terkait , penjelasanPerson
penulis,WebSite
pemberian beberapa metadata, dll.).(Lihat jawaban saya di Stack Overflow untuk penjelasan lebih rinci.)
Ada dua cara bagaimana menggunakan
mainEntityOfPage
:WebPage
)Yang kedua sering kali tidak masuk akal (Anda lebih suka menggunakan properti terbalik
mainEntity
), dan mungkin karena itu Google merekomendasikan / mengharapkan yang pertama.Untuk memberikan URL, Anda cukup menggunakan
link
elemen:Alat Pengujian Data Terstruktur Google menerima ini.
Dalam contoh Cuplikan Kaya Artikel , Google menggunakan
meta
elemen denganitemid
:Ini tidak valid HTML5 + Microdata: Jika
meta
elemen memilikiitemprop
atribut, ia juga harus memilikicontent
atribut .sumber
<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article" content='https://google.com/article' />
Ini akan memvalidasi baik-baik saja dan tidak menunjukkan kesalahan dalam alat pengujian data terstrukturmeta
elemen ini valid. Perhatikan bahwacontent
nilainya akan diabaikan, sehingga Anda dapat memberikan nilai kosong.meta
bukanlink
dalam contohnya? keduanya divalidasi dalam alat pengujian data terstruktur. Meskipun, pratinjau berbeda. Ketikalink
digunakan, ia memilikimainEntityOfPage http://example.com/article-1
sementara dalam halmeta
itu menunjukkan@id
dan@type
atribut.meta
cara membuat item baru dengan tipe dan URI sebagai pengidentifikasi,link
cara hanya menautkan ke halaman. Saya tidak tahu mengapa dokumentasi Google digunakanmeta
, terutama karena saya pikirlink
caranya lebih sederhana.Ini tambahan untuk
url
dansameAs
properti, seperti yang dijelaskan dimainEntity
latar belakang .Ini memiliki nama istimewa karena dapat diterapkan ke semua item bertipe
Thing
. Jika itu diterapkan hanya untukArticles
itu bisa dipanggilmainTopic
/mainTopicOfArticle
dan lebih jelas.Nilai properti diharapkan berupa item bertipe
CreativeWork
atauURL
referensi yang berfungsi menurut Schema.org. Itu berarti juga bisa menjadiArticle
atauBlogPosting
seperti yang Anda sebutkan. Namun, jika Anda membuat halaman AMP, nilainya harus berupa URL.Terlepas dari apa yang dikatakan Alat Pengujian Data Terstruktur Google, dokumentasi mereka tidak lagi merekomendasikan penggunaan halaman
mainEntityOfPage
non-AMP sehingga Anda bebas untuk mengabaikannya.sumber