Data terstruktur forum diskusi (DiscussionForumPosting
)

Markup forum diskusi dirancang untuk semua situs bergaya forum tempat orang-orang secara kolektif berbagi perspektif langsung. Saat situs forum menambahkan markup ini, Google Penelusuran dapat mengidentifikasi diskusi online di web dengan lebih baik dan memanfaatkan markup ini dalam fitur seperti Diskusi dan Forum.
Cara menggunakan DiscussionForumPosting
dalam forum
Umumnya, kami menyarankan agar komentar ditempatkan di bawah postingan terkait. Jika forum memiliki struktur rangkaian pesannya sendiri, gunakan pohon komentar untuk mewakili strukturnya:
{ "@context": "https://schema.org", "@type": "DiscussionForumPosting", "headline": "Very Popular Thread", ... "comment": [{ "@type": "Comment", "text": "This should not be this popular", ... "comment": [{ "@type": "Comment", "text": "Yes it should", ... }] }] }
Jika sifatnya lebih linear (misalnya, postingan asli diikuti dengan serangkaian balasan), tempatkan semuanya di bawah postingan asli sebagai komentar. Idealnya, halaman konten berikutnya di forum multi-halaman menyertakan postingan asli dengan URL halaman utama:
{ // JSON-LD on non-threaded forum at https://example.com/post/very-popular-thread/14 "@context": "https://schema.org", "@type": "DiscussionForumPosting", "headline": "Very Popular Thread", // Only the headline/topic is explicitly present "url": "https://example.com/post/very-popular-thread", ... "comment": [{ "@type": "Comment", "text": "First Post on this Page", ... },{ "@type": "Comment", "text": "Second Post on this Page", ... }] }
Jika URL utamanya berisi satu postingan, gunakan mainEntity
(atau mainEntityOfPage
) untuk mengidentifikasi
DiscussionForumPosting
utama:
{ "@context": "https://schema.org", "@type": "WebPage", "url": "https://example.com/post/very-popular-thread", "mainEntity": { "@type": "DiscussionForumPosting" ... } }
Untuk halaman web yang memiliki daftar postingan (misalnya, di profil, topik, atau halaman kategori), biasanya halaman web tersebut tidak memiliki semua informasi di halaman yang sama dan mengharuskan pengguna mengklik untuk mendapatkan informasi tambahan (seperti balasan). Anda dapat memilih untuk hanya menyertakan informasi yang ada di halaman (dan menyertakan URL ke postingan khusus diskusi).
Jangan tandai satu postingan di halaman sebagai entitas utama jika bukan merupakan halaman diskusi untuk
postingan tersebut. Untuk menunjukkan bahwa halaman merupakan rangkaian postingan terkait, sebaiknya lampirkan
semuanya ke
Collection
atau ItemList
.
How to add structured data
Structured data is a standardized format for providing information about a page and classifying the page content. If you're new to structured data, you can learn more about how structured data works.
Here's an overview of how to build, test, and release structured data.
- Add the required properties. Based on the format you're using, learn where to insert structured data on the page.
- Follow the guidelines.
- Validate your code using the Rich Results Test and fix any critical errors. Consider also fixing any non-critical issues that may be flagged in the tool, as they can help improve the quality of your structured data (however, this isn't necessary to be eligible for rich results).
- Deploy a few pages that include your structured data and use the URL Inspection tool to test how Google sees the page. Be sure that your page is
accessible to Google and not blocked by a robots.txt file, the
noindex
tag, or login requirements. If the page looks okay, you can ask Google to recrawl your URLs. - To keep Google informed of future changes, we recommend that you submit a sitemap. You can automate this with the Search Console Sitemap API.
Contoh
Contoh markup berikut menunjukkan halaman forum linear tanpa rangkaian pesan:
<html> <head> <title>I went to the concert!</title> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "DiscussionForumPosting", "mainEntityOfPage": "https://example.com/post/very-popular-thread", "headline": "I went to the concert!", "text": "Look at how cool this concert was!", "video": { "@type": "VideoObject", "contentUrl": "https://example.com/media/super-cool-concert.mp4", "name": "Video of concert", "uploadDate": "2024-03-01T06:34:34+02:00", "thumbnailUrl": "https://example.com/media/super-cool-concert-snap.jpg" }, "url": "https://example.com/post/very-popular-thread", "author": { "@type": "Person", "name": "Katie Pope", "url": "https://example.com/user/katie-pope", "agentInteractionStatistic": { "@type": "InteractionCounter", "interactionType": "https://schema.org/WriteAction", "userInteractionCount": 8 } }, "datePublished": "2024-03-01T08:34:34+02:00", "interactionStatistic": { "@type": "InteractionCounter", "interactionType": "https://schema.org/LikeAction", "userInteractionCount": 27 }, "comment": [{ "@type": "Comment", "text": "Who's the person you're with?", "author": { "@type": "Person", "name": "Saul Douglas", "url": "https://example.com/user/saul-douglas", "agentInteractionStatistic": { "@type": "InteractionCounter", "interactionType": "https://schema.org/WriteAction", "userInteractionCount": 167 } }, "datePublished": "2024-03-01T09:46:02+02:00" },{ "@type": "Comment", "text": "That's my mom, isn't she cool?", "author": { "@type": "Person", "name": "Katie Pope", "url": "https://example.com/user/katie-pope", "agentInteractionStatistic": { "@type": "InteractionCounter", "interactionType": "https://schema.org/WriteAction", "userInteractionCount": 8 } }, "datePublished": "2024-03-01T09:50:25+02:00", "interactionStatistic": { "@type": "InteractionCounter", "interactionType": "https://schema.org/LikeAction", "userInteractionCount": 7 } }] } </script> </head> <body> </body> </html>
<html> <body> <div id="main-post" itemtype="https://schema.org/DiscussionForumPosting" itemscope> <meta itemprop="mainEntityOfPage" content="https://example.com/post/very-popular-thread" /> <meta itemprop="url" content="https://example.com/post/very-popular-thread" /> <div class="author-block" itemprop="author" itemtype="https://schema.org/Person" itemscope> <div><a href="https://example.com/user/katie-pope" itemprop="url"><span itemprop="name">Katie Pope</span></a></div> <div itemprop="agentInteractionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope> <span itemprop="userInteractionCount">8</span> <span itemprop="interactionType" content="https://schema.org/WriteAction">posts</span> </div> </div> <div itemprop="datePublished" content="2024-03-01T08:34:34+02:00">March 1</div> <div itemprop="headline">I went to the concert!</div> <div> <div itemprop="video" itemtype="https://schema.org/VideoObject" itemscope> <meta itemprop="name" content="Video of concert" /> <meta itemprop="contentUrl" content="https://example.com/media/super-cool-concert.mp4" /> <meta itemprop="uploadDate" content="2024-03-01T06:34:34+02:00" /> <meta itemprop="thumbnailUrl" content="https://example.com/media/super-cool-concert-snap.jpg" /> </div> <span itemprop="text">Look at how cool this concert was!</span> </div> <div itemprop="interactionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope> <span itemprop="userInteractionCount">27</span> <span itemprop="interactionType" content="https://schema.org/LikeAction">likes</span> </div> <div id="comment-1" itemprop="comment" itemtype="https://schema.org/Comment" itemscope> <div class="author-block" itemprop="author" itemtype="https://schema.org/Person" itemscope> <div><a href="https://example.com/user/saul-douglas" itemprop="url"><span itemprop="name">Saul Douglas</span></a></div> <div itemprop="agentInteractionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope> <span itemprop="userInteractionCount">167</span> <span itemprop="interactionType" content="https://schema.org/WriteAction">posts</span> </div> </div> <div itemprop="datePublished" content="2024-03-01T09:46:02+02:00">March 1</div> <div> <span itemprop="text">Who's the person you're with?</span> </div> </div> <div id="comment-2" itemprop="comment" itemtype="https://schema.org/Comment" itemscope> <div class="author-block" itemprop="author" itemtype="https://schema.org/Person" itemscope> <div><a href="https://example.com/user/katie-pope" itemprop="url"><span itemprop="name">Katie Pope</span></a></div> <div itemprop="agentInteractionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope> <span itemprop="userInteractionCount">8</span> <span itemprop="interactionType" content="https://schema.org/WriteAction">posts</span> </div> </div> <div itemprop="datePublished" content="2024-03-01T09:50:25+02:00">March 1</div> <div> <span itemprop="text">That's my mom, isn't she cool?</span> </div> <div itemprop="interactionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope> <span itemprop="userInteractionCount">7</span> <span itemprop="interactionType" content="https://schema.org/LikeAction">likes</span> </div> </div> </div> </body> </html>
Panduan
Agar data terstruktur forum diskusi Anda memenuhi syarat untuk digunakan di Google Penelusuran, Anda harus mengikuti pedoman berikut:
Pedoman konten
- Hanya gunakan markup
DiscussionForumPosting
untuk mendeskripsikan postingan buatan pengguna di situs. Jangan gunakan markup ini untuk konten yang utamanya ditulis oleh penayang situs atau agennya. - Jika situs Anda lebih condong ke platform media sosial generik, Anda dapat menggunakan
SocialMediaPosting
, yang merupakan jenis indukDiscussionForumPosting
, dengan persyaratan yang sama. - Meskipun kami merekomendasikan markup yang valid dari jenis lain (
Article
,ImageObject
,VideoObject
) yang dapat menggunakan markup yang sangat mirip dengan komentar, informasi penulis, statistik interaksi, jenis tersebut tidak boleh menggunakan markupDiscussionForumPosting
. Berikut beberapa contohnya:Kasus penggunaan yang valid:
- Halaman forum komunitas tempat pengguna dapat membicarakan tentang game tertentu
- Platform forum generik yang menghosting berbagai konten subforum
- Platform media sosial tempat pengguna dapat memposting dan membalas komentar atau media
Kasus penggunaan yang tidak valid:
- Artikel atau blog yang ditulis langsung oleh agen untuk situs (meski dengan komentar sekalipun)
- Ulasan pengguna tentang suatu produk
- Perhatikan bahwa untuk sebagian besar kasus penggunaan Google, halaman Tanya Jawab dianggap sebagai kasus khusus untuk
halaman forum diskusi. Jika struktur situs forum utamanya berisi pertanyaan dengan jawaban,
sebaiknya Anda menggunakan markup
Tanya Jawab. Jika struktur lebih umum dan biasanya bukan merupakan konten tanya jawab,
DiscussionForumPosting
akan menjadi pilihan yang lebih baik. - Pastikan setiap
DiscussionForumPosting
mencakup seluruh teks postingan dan pastikan setiapComment
mencakup seluruh teks respons jika ditemukan di halaman tersebut.
Panduan teknis
- Tidak seperti preferensi data terstruktur kami pada umumnya, sebaiknya sediakan
markup
DiscussionForumPosting
di Microdata (atau RDFa) jika memungkinkan. Dengan demikian, Anda tidak perlu menduplikasi blok teks besar di dalam markup. Namun, tindakan ini hanyalah rekomendasi, dan JSON-LD masih didukung sepenuhnya.
Definisi jenis data terstruktur
Bagian ini menjelaskan jenis data terstruktur yang terkait dengan DiscussionForumPosting
.
Anda harus menyertakan properti wajib agar konten Anda memenuhi syarat untuk digunakan di Google Penelusuran. Anda juga dapat menyertakan properti yang direkomendasikan untuk menambahkan informasi lain tentang halaman forum diskusi, yang akan meningkatkan pengalaman pengguna.
DiscussionForumPosting
(atau SocialMediaPosting
)
Jenis DiscussionForumPosting
menentukan postingan asli yang merupakan topik
diskusi. Meskipun jenis ini umumnya terdiri dari teks, postingan forum
mungkin saja hanya berisi konten media.
Properti wajib | |
---|---|
|
Person atau
Organization
Informasi tentang penulis postingan. Untuk membantu Google memahami penulis secara optimal di berbagai fitur, sebaiknya ikuti praktik terbaik markup penulis. Sertakan sebanyak mungkin properti yang relevan bagi penulis, menggunakan properti yang didukung dari data terstruktur artikel dan halaman profil sebagai panduan. |
|
Text
Nama penulis postingan. |
|
Tanggal dan waktu postingan dibuat dalam format ISO 8601. |
Salah satu dari text , image , atau video |
Untuk menampilkan konten postingan, Anda harus menyertakan salah satu properti berikut: Tindakan ini tidak wajib jika Anda menampilkan postingan di halaman lain (dengan
|
Properti yang direkomendasikan | |
---|---|
|
Link ke halaman web yang mengidentifikasi penulis postingan secara unik, kemungkinan besar adalah halaman profil forum. Sebaiknya beri markup halaman tersebut menggunakan data terstruktur halaman profil. |
comment |
Komentar tentang atau respons terhadap postingan, jika ada. Beri markup komentar sesuai urutan kemunculannya di halaman. |
creativeWorkStatus |
Jika postingan telah dihapus, tetapi tetap tersedia untuk konteks atau rangkaian pesan, tetapkan properti ini ke
|
dateModified |
Tanggal dan waktu postingan diedit dalam format ISO 8601, jika ada. Jika tidak ada perubahan yang terjadi, tidak perlu menduplikasi tanggal publikasi. |
|
Text
Judul postingan. Jika tidak ada judul yang terpisah, jangan menduplikasi atau memotong
teks menjadi judul. Tindakan ini tidak direkomendasikan untuk |
image |
Gambar inline apa pun dalam postingan, jika ada. Jika tidak ada gambar, jangan sertakan gambar default, ikon, atau placeholder di kolom ini. |
interactionStatistic |
Statistik pengguna diterapkan ke postingan utama, jika ada. Google mendukung
|
isPartOf |
Sumber utama postingan jika postingan ini muncul di bagian tertentu dari keseluruhan
situs, jika ada.
Misalnya, subforum atau grup dalam situs yang lebih luas. Jika |
|
CreativeWork
Konten utama yang dibagikan dalam postingan, jika ada. Properti ini paling umum digunakan untuk membagikan
Berikut ini contoh cara menunjukkan bahwa terdapat link yang dibagikan dalam postingan: ... "sharedContent": { "@type": "WebPage", url: "https://example.com/external-url" } ... |
text |
Teks apa pun dalam postingan, jika ada. Properti ini sangat umum, tetapi dalam beberapa kasus dapat diabaikan jika ada media lain dalam postingan. |
|
URL
URL kanonis diskusi. Dalam rangkaian pesan multi-halaman, tetapkan properti ini ke URL halaman pertama. Untuk diskusi tunggal, biasanya URL-nya adalah URL saat ini. |
video |
Video inline apa pun dalam postingan, jika ada. |
Comment
Jenis Comment
menentukan komentar pada CreativeWork
asli. Dalam hal ini,
jenis ini terkait dengan DiscussionForumPosting
. Jenis ini memiliki banyak properti yang sama dengan
panduan kami untuk DiscussionForumPosting
.
Properti wajib | |
---|---|
|
Person atau
Organization
Informasi tentang penulis komentar. Untuk membantu Google memahami penulis secara optimal di berbagai fitur, sebaiknya ikuti praktik terbaik markup penulis. Sertakan sebanyak mungkin properti yang relevan bagi penulis, menggunakan properti yang didukung dari data terstruktur artikel dan halaman profil sebagai panduan. |
|
Tanggal dan waktu komentar dibuat dalam format ISO 8601. Jika tidak ada perubahan yang terjadi, tidak perlu menduplikasi tanggal publikasi. |
Salah satu dari text , image , atau video |
Untuk menampilkan isi komentar, Anda harus menyertakan salah satu properti berikut: |
Properti yang direkomendasikan | |
---|---|
|
Link ke halaman web yang mengidentifikasi penulis komentar secara unik, kemungkinan besar adalah halaman profil forum. Sebaiknya beri markup halaman tersebut menggunakan data terstruktur halaman profil. |
comment |
Komentar lain tentang atau sebagai respons atas komentar tersebut, jika ada. Beri markup komentar sesuai urutan kemunculannya di halaman. |
creativeWorkStatus |
Jika komentar telah dihapus, tetapi tetap tersedia untuk konteks atau rangkaian pesan, tetapkan properti ini
ke |
dateModified |
Tanggal dan waktu komentar terakhir diedit dalam format ISO 8601, jika ada. |
image |
Gambar inline apa pun dalam komentar, jika ada. Jika tidak ada gambar, jangan sertakan gambar default, ikon, atau placeholder di kolom ini. |
interactionStatistic |
Statistik pengguna yang diterapkan pada komentar, jika ada. Google mendukung
|
|
CreativeWork
Konten utama yang dibagikan dalam komentar, jika ada. Properti ini paling umum digunakan untuk membagikan
Berikut ini contoh cara menunjukkan bahwa terdapat link yang dibagikan dalam komentar: ... "sharedContent": { "@type": "WebPage", url: "https://example.com/external-url" } ... |
|
URL
URL ke komentar spesifik ini di halaman, jika ada. Jangan sertakan properti ini jika itu hanya merupakan URL postingan asli. |
video |
Video inline apa pun dalam komentar, jika ada. |
InteractionCounter
InteractionCounter
memungkinkan jumlah dikaitkan dengan jenis
interaksi tertentu. Properti ini dapat digunakan di properti konten (DiscussionForumPosting
dan Comment
)
serta properti author
.
Properti wajib | |
---|---|
|
Integer
Jumlah berapa kali interaksi ini dilakukan. |
|
Subjenis Untuk daftar subjenis |
Memantau hasil kaya dengan Search Console
Search Console adalah alat yang dapat membantu Anda memantau performa halaman Anda di Google Penelusuran. Anda tidak perlu mendaftar ke Search Console agar halaman Anda dapat disertakan dalam hasil Google Penelusuran. Tetapi dengan mendaftar, Anda dapat memahami dan meningkatkan cara Google melihat situs Anda dengan mudah. Sebaiknya Anda memeriksa Search Console dalam kasus berikut:
- Setelah men-deploy data terstruktur untuk pertama kalinya
- Setelah merilis template baru atau memperbarui kode
- Menganalisis traffic secara berkala
Setelah men-deploy data terstruktur untuk pertama kalinya
Setelah Google mengindeks halaman Anda, temukan masalah menggunakan laporan status Hasil kaya yang relevan. Idealnya, akan ada peningkatan jumlah item yang valid, sedangkan jumlah item yang tidak valid tidak berubah. Jika Anda menemukan masalah pada data terstruktur Anda:
- Perbaiki item yang tidak valid.
- Periksa URL aktif untuk memeriksa apakah masalah terus berlanjut.
- Minta validasi menggunakan laporan status.
Setelah merilis template baru atau memperbarui kode Anda
Saat Anda membuat perubahan yang signifikan pada situs, pantau peningkatan jumlah item yang tidak valid pada data terstruktur.- Jika terjadi peningkatan jumlah item yang tidak valid, mungkin Anda meluncurkan template baru yang tidak berfungsi, atau situs Anda berinteraksi dengan template yang ada dengan cara baru yang salah.
- Jika terjadi penurunan jumlah item yang valid (tidak cocok dengan peningkatan jumlah item yang tidak valid), mungkin Anda tidak lagi menyematkan data terstruktur di halaman Anda. Gunakan Alat Inspeksi URL untuk mempelajari penyebab masalah tersebut.
Menganalisis traffic secara berkala
Analisis traffic Google Penelusuran Anda menggunakan Laporan Performa. Data akan menunjukkan seberapa sering halaman Anda muncul sebagai hasil kaya di Penelusuran, seberapa sering pengguna mengkliknya, dan posisi rata-rata halaman Anda saat muncul di hasil penelusuran. Anda juga dapat otomatis menarik hasil ini dengan Search Console API.Troubleshooting
If you're having trouble implementing or debugging structured data, here are some resources that may help you.
- If you're using a content management system (CMS) or someone else is taking care of your site, ask them to help you. Make sure to forward any Search Console message that details the issue to them.
- Google does not guarantee that features that consume structured data will show up in search results. For a list of common reasons why Google may not show your content in a rich result, see the General Structured Data Guidelines.
- You might have an error in your structured data. Check the list of structured data errors and the Unparsable structured data report.
- If you received a structured data manual action against your page, the structured data on the page will be ignored (although the page can still appear in Google Search results). To fix structured data issues, use the Manual Actions report.
- Review the guidelines again to identify if your content isn't compliant with the guidelines. The problem can be caused by either spammy content or spammy markup usage. However, the issue may not be a syntax issue, and so the Rich Results Test won't be able to identify these issues.
- Troubleshoot missing rich results / drop in total rich results.
- Allow time for re-crawling and re-indexing. Remember that it may take several days after publishing a page for Google to find and crawl it. For general questions about crawling and indexing, check the Google Search crawling and indexing FAQ.
- Post a question in the Google Search Central forum.