Données structurées de forum de discussion (DiscussionForumPosting)
Le balisage de forums de discussion est conçu pour tout site de type forum où les personnes partagent collectivement leurs points de vue personnels. Lorsque les sites de forums ajoutent ce balisage, la recherche Google peut mieux identifier les discussions en ligne sur le Web et utiliser ce balisage dans des fonctionnalités telles que Discussions et forums.
Utiliser DiscussionForumPosting dans un forum
En général, nous vous recommandons d'imbriquer les commentaires sous le post auquel ils se rapportent. Si le forum possède sa propre structure de fil de discussion, utilisez une arborescence de commentaires pour la représenter:
{ "@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", ... }] }] }
S'il est de nature plus linéaire (par exemple, un post d'origine suivi d'une série de réponses), imbriquez toutes les réactions à la publication d'origine en tant que commentaires. Idéalement, les pages de contenu ultérieures des forums multi-pages incluent le post d'origine avec l'URL de la page principale:
{ // 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", ... }] }
Si l'URL concerne principalement un seul post, utilisez mainEntity (ou mainEntityOfPage) pour identifier l'élément DiscussionForumPosting principal :
{ "@context": "https://schema.org", "@type": "WebPage", "url": "https://example.com/post/very-popular-thread", "mainEntity": { "@type": "DiscussionForumPosting" ... } }
Pour les pages Web contenant une liste de posts (par exemple, sur une page de profil, de sujet ou de catégorie), il est courant qu'elles n'aient pas toutes les informations présentes sur la même page et nécessitent que l'utilisateur clique pour obtenir des informations supplémentaires (comme des réponses). C'est à vous de décider d'inclure uniquement les informations présentes sur la page (et d'inclure l'URL du post de la discussion).
Ne marquez pas une publication de la page comme entité principale s'il ne s'agit pas d'une page de discussion pour la publication. Pour indiquer que les pages sont un ensemble de publications connexes, il peut être utile de les joindre toutes à une
Collection ou une ItemList.
如何添加结构化数据
结构化数据是一种提供网页相关信息并对网页内容进行分类的标准化格式。如果您不熟悉结构化数据,可以详细了解结构化数据的运作方式。
下面概述了如何构建、测试和发布结构化数据。如需获得向网页添加结构化数据的分步指南,请查看结构化数据 Codelab。
- 添加必要属性。根据您使用的格式,了解在网页上的什么位置插入结构化数据。
- 遵循指南。
- 使用富媒体搜索结果测试验证您的代码,并修复所有严重错误。此外,您还可以考虑修正该工具中可能会标记的任何非严重问题,因为这些这样有助于提升结构化数据的质量(不过,要使内容能够显示为富媒体搜索结果,并非必须这么做)。
- 部署一些包含您的结构化数据的网页,然后使用网址检查工具测试 Google 看到的网页样貌。请确保您的网页可供 Google 访问,不会因 robots.txt 文件、
noindex标记或登录要求而被屏蔽。如果网页看起来没有问题,您可以请求 Google 重新抓取您的网址。 - 为了让 Google 随时了解日后发生的更改,我们建议您提交站点地图。Search Console Sitemap API 可以帮助您自动执行此操作。
Exemples
L'exemple de balisage suivant montre une page de forum linéaire sans fil de discussion :
<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>Consignes
Pour que vos données structurées de forum de discussion puissent être utilisées dans la recherche Google, vous devez suivre ces consignes :
- Consignes générales pour les données structurées
- Essentiels de la recherche
- Consignes relatives au contenu
- Consignes techniques
Consignes relatives au contenu
- N'utilisez le balisage
DiscussionForumPostingque pour décrire un post généré par un utilisateur sur un site Web. N'utilisez pas ce balisage pour les contenus provenant principalement des éditeurs du site Web ou de leurs agents. - Si votre site ressemble davantage à une plate-forme de réseaux sociaux générique, vous pouvez utiliser
SocialMediaPosting, qui est le type parent deDiscussionForumPosting, avec les mêmes exigences. - Bien que nous encouragions le balisage valide d'autres types (
Article,ImageObject,VideoObject) pouvant utiliser un balisage très similaire avec les commentaires, les informations sur l'auteur et les statistiques d'interaction, ceux-ci ne doivent pas utiliser le balisageDiscussionForumPosting. Voici quelques exemples :Cas d'utilisation valides :
- Page de forum communautaire où les utilisateurs peuvent parler d'un jeu spécifique
- Plate-forme de forum générique hébergeant une grande variété de contenus dans des sous-forums
- Plate-forme de réseaux sociaux où les utilisateurs peuvent publier des commentaires ou des contenus multimédias, et y répondre
Cas d'utilisation non valides:
- Article ou blog rédigé directement par un agent pour le site Web (même avec des commentaires)
- Avis des utilisateurs sur un produit
- Notez que pour la plupart des cas d'utilisation de Google, une page de questions-réponses est considérée comme un cas particulier de page de forum de discussion. Si la structure du site Web du forum est principalement constituée de questions avec réponses, nous vous recommandons d'utiliser plutôt le balisage de questions/réponses. Si la structure est plus générale et qu'il ne s'agit généralement pas d'un contenu de type questions/réponses, il est préférable d'utiliser
DiscussionForumPosting. - Assurez-vous que chaque propriété
DiscussionForumPostinginclut le texte intégral du post et que chaqueCommentinclut le texte intégral de la réponse, le cas échéant.
Consignes techniques
- Contrairement à nos préférences générales relatives aux données structurées, nous vous recommandons d'inclure le balisage
DiscussionForumPostingsous forme de microdonnées (ou RDFa) dans la mesure du possible. Cela vous évite d'avoir à dupliquer de grands blocs de texte dans le balisage. Toutefois, il ne s'agit que d'une recommandation, et JSON-LD reste entièrement compatible.
Définitions des types de données structurées
Cette section décrit les types de données structurées liés à la propriété DiscussionForumPosting.
Vous devez inclure les propriétés obligatoires pour que votre contenu puisse être utilisé dans la recherche Google. Vous pouvez également inclure les propriétés recommandées pour ajouter d'autres informations à vos pages de forum de discussion et ainsi offrir une meilleure expérience utilisateur.
DiscussionForumPosting (ou SocialMediaPosting)
Le type DiscussionForumPosting définit le post d'origine qui est le sujet de la discussion. Bien que ce type soit généralement composé de texte, il est possible d'avoir une publication de forum uniquement constituée de contenu multimédia.
| Propriétés obligatoires | |
|---|---|
|
Person ou
Organization
Informations sur l'auteur du post. Pour aider Google à interpréter les auteurs dans différentes fonctionnalités, nous vous recommandons de suivre les bonnes pratiques en matière de balisage des auteurs. Incluez autant de propriétés que pertinent pour l'auteur en vous appuyant sur les propriétés prises en charge des données structurées des articles et des pages de profil. |
|
Text
Nom de l'auteur du post. |
|
Date et heure du post au format ISO 8601. |
text, image ou video |
Pour représenter le contenu du post, vous devez inclure l'une des propriétés suivantes : Ce n'est pas obligatoire si vous représentez un post sur une autre page (avec une |
| Propriétés recommandées | |
|---|---|
|
Lien vers une page Web identifiant de manière unique l'auteur du post (il s'agit probablement d'une page de profil du forum). Nous vous recommandons de baliser cette page à l'aide des données structurées de page de profil. |
comment |
Commentaire à propos du post ou réponse au post, le cas échéant Balisez les commentaires dans l'ordre dans lequel ils apparaissent sur la page. |
commentCount |
Nombre de commentaires sur ce post, le cas échéant. Cela est particulièrement utile s'ils ne sont pas tous présents dans le balisage des commentaires. |
creativeWorkStatus |
Si le post a été supprimé, mais qu'il est conservé pour le contexte ou les fils de discussion, définissez cette propriété sur |
dateModified |
Date et heure de modification du post, au format ISO 8601, le cas échéant. Si aucune modification n'a été apportée, il n'est pas nécessaire de dupliquer la date de publication. |
digitalSourceType |
La propriété
Si cette propriété n'est pas spécifiée, Google considère que le contenu a été généré par un humain. |
|
Text
Titre du post. S'il n'y a pas de titre distinct, ne dupliquez pas et ne tronquez pas le texte pour en créer un. Cette pratique n'est pas recommandée pour un |
image |
Images intégrées au post, le cas échéant. S'il n'y a pas d'image, n'incluez pas d'images d'espace réservé, d'icône, d'auteur ni par défaut dans ce champ. Si votre image est un aperçu de lien, incluez-la dans le champ |
interactionStatistic |
Statistiques utilisateur appliquées au post principal, le cas échéant. Google accepte les
|
isPartOf |
Source principale du post si celui-ci apparaît sur une partie particulière du site Web, le cas échéant.
Par exemple, un sous-forum ou un groupe au sein du site Web global. Si un élément |
|
Sous-type de CreativeWork
Le contenu principal partagé dans le post, le cas échéant Nous acceptons quatre types de documents :
|
text |
Texte du post, le cas échéant. Ces informations sont très courantes, mais peuvent parfois être omises si le post comporte d'autres contenus multimédias. |
|
URL
URL canonique de la discussion. Dans les fils de discussion multi-pages, définissez cette propriété sur l'URL de la première page. Pour une seule discussion, il s'agit généralement de l'URL actuelle. |
video |
Vidéos intégrées au post, le cas échéant. |
Comment
Le type Comment définit un commentaire sur un élément CreativeWork d'origine. Dans ce cas, il s'agit d'un DiscussionForumPosting. Il partage de nombreuses propriétés avec nos consignes pour DiscussionForumPosting.
| Propriétés obligatoires | |
|---|---|
|
Person ou
Organization
Informations sur l'auteur du commentaire. Pour aider Google à interpréter les auteurs dans différentes fonctionnalités, nous vous recommandons de suivre les bonnes pratiques en matière de balisage des auteurs. Incluez autant de propriétés que pertinent pour l'auteur en vous appuyant sur les propriétés prises en charge des données structurées des articles et des pages de profil. |
|
Date et heure auxquelles le commentaire a été rédigé, au format ISO 8601. Si aucune modification n'a été apportée, il n'est pas nécessaire de dupliquer la date de publication. |
text, image ou video |
Pour représenter le contenu du commentaire, vous devez inclure l'une des propriétés suivantes : |
| Propriétés recommandées | |
|---|---|
|
Lien vers une page Web identifiant de manière unique l'auteur du commentaire (il s'agit probablement d'une page de profil du forum). Nous vous recommandons de baliser cette page à l'aide des données structurées de page de profil. |
comment |
Autre commentaire à propos du commentaire ou en réponse à celui-ci, le cas échéant Balisez les commentaires dans l'ordre dans lequel ils apparaissent sur la page. |
commentCount |
Nombre de commentaires sur ce commentaire, le cas échéant. Cela est particulièrement utile s'ils ne sont pas tous présents dans le balisage des commentaires. |
creativeWorkStatus |
Si le commentaire a été supprimé, mais qu'il est conservé pour le contexte ou les fils de discussion, définissez cette propriété sur |
dateModified |
Date et heure auxquelles le commentaire a été modifié pour la dernière fois, au format ISO 8601, le cas échéant. |
digitalSourceType |
La propriété
Si cette propriété n'est pas spécifiée, Google considère que le contenu a été généré par un humain. |
image |
Images intégrées au commentaire, le cas échéant. S'il n'y a pas d'image, n'incluez pas d'images d'espace réservé, d'icône, d'auteur ni par défaut dans ce champ. Si votre image est un aperçu de lien, incluez-la dans le champ |
interactionStatistic |
Statistiques utilisateur appliquées au commentaire, le cas échéant. Google accepte les
|
|
Sous-type de CreativeWork
Le contenu principal partagé dans le post, le cas échéant Nous en identifions quatre types :
|
|
URL
URL de ce commentaire spécifique sur la page, le cas échéant. N'incluez pas cette propriété s'il s'agit simplement de l'URL du post d'origine. |
video |
Vidéos intégrées au commentaire, le cas échéant. |
InteractionCounter
Le InteractionCounter permet d'associer un nombre à un certain type d'interaction. Vous pouvez l'utiliser pour les contenus (DiscussionForumPosting et Comment) et les propriétés, y compris les propriétés author.
| Propriétés obligatoires | |
|---|---|
|
Integer
Nombre de fois où cette interaction a été effectuée. |
|
Sous-type de Pour obtenir la liste des sous-types |
Suivre les résultats enrichis avec la Search Console
La Search Console est un outil qui vous permet de suivre les performances de vos pages dans la recherche Google. Il n'est pas nécessaire de vous inscrire à la Search Console pour figurer dans les résultats de recherche Google. Cependant, en vous inscrivant, vous comprendrez mieux la façon dont Google interprète votre site et serez plus à même de l'améliorer. Nous vous recommandons de consulter la Search Console dans les cas suivants :
- Après avoir déployé des données structurées pour la première fois
- Après avoir publié de nouveaux modèles ou après avoir mis à jour votre code
- Lors des analyses régulières du trafic
Après avoir déployé des données structurées pour la première fois
Une fois que Google a indexé vos pages, recherchez les problèmes à l'aide du rapport sur l'état des résultats enrichis. Idéalement, il y aura une augmentation du nombre d'articles valides et pas d'augmentation du nombre d'articles non valides. Si vous détectez des problèmes au niveau des données structurées :
- Corrigez les éléments non valides.
- Inspectez une URL active pour vérifier si le problème persiste.
- Demandez la validation à l'aide du rapport d'état.
Après avoir publié de nouveaux modèles ou après avoir mis à jour votre code
Lorsque vous apportez des modifications importantes à votre site Web, surveillez l'augmentation des éléments non valides dans les données structurées.- Si vous constatez une augmentation du nombre d'éléments non valides, vous avez peut-être déployé un nouveau modèle qui ne fonctionne pas, ou votre site interagit différemment et de façon incorrecte avec le modèle déjà disponible.
- Si vous constatez une diminution du nombre d'éléments valides (sans augmentation du nombre d'éléments non valides), vous n'intégrez peut-être plus de données structurées dans vos pages. Utilisez l'outil d'inspection d'URL pour identifier la cause du problème.
Analyse régulière du trafic
Analysez votre trafic de recherche Google à l'aide du rapport sur les performances. Les données indiquent la fréquence à laquelle votre page s'affiche en tant que résultat enrichi dans la recherche Google, ainsi que la fréquence à laquelle les internautes cliquent dessus et la position moyenne à laquelle vous apparaissez dans les résultats de recherche. Vous pouvez également extraire automatiquement ces résultats avec l'API Search Console.Dépannage
Si vous ne parvenez pas à mettre en œuvre ou à déboguer des données structurées, voici quelques ressources susceptibles de vous aider.
- Si vous utilisez un système de gestion de contenu (CMS) ou si une autre personne s'occupe de votre site, demandez à la personne en charge de vous aider. Veillez à lui transmettre tous les messages de la Search Console qui détaillent le problème.
- Google ne garantit pas que les fonctionnalités basées sur les données structurées apparaîtront dans les résultats de recherche. Pour consulter la liste des raisons courantes pour lesquelles Google n'affiche pas toujours votre contenu dans un résultat enrichi, reportez-vous aux consignes générales relatives aux données structurées.
- Vos données structurées comportent peut-être une erreur. Consultez la liste des erreurs de données structurées et le rapport sur les données structurées impossibles à analyser.
- Si vous avez reçu une action manuelle de données structurées concernant votre page, ces données seront ignorées (mais la page concernée apparaîtra peut-être toujours dans les résultats de recherche Google). Pour résoudre les problèmes de données structurées, utilisez le rapport sur les actions manuelles.
- Consultez à nouveau les consignes pour déterminer si votre contenu est bien conforme. Le problème peut être dû à une page contenant du spam ou à l'utilisation de balises qui en contiennent. Toutefois, il est possible qu'il ne s'agisse pas d'un problème de syntaxe et que le test des résultats enrichis ne puisse pas identifier le problème.
- Découvrez comment résoudre les problèmes liés aux résultats enrichis manquants ou à une baisse du nombre total de résultats enrichis.
- Prévoyez un certain temps avant que la réexploration et la réindexation soient effectuées. Gardez à l'esprit qu'il faut souvent compter plusieurs jours après la publication d'une page pour que Google puisse la trouver et l'explorer. Pour toute question d'ordre général sur l'exploration et l'indexation, consultez les questions fréquentes sur l'exploration et l'indexation dans la recherche Google.
- Posez une question sur le forum Google Search Central.