Alien Road Company

Google SEO Update 2023 December 14

  • 14 décembre : Mise à jour de la documentation de la page du forum de discussion et de la page de questions-réponses pour préciser que les URL des auteurs sont recommandées.

Données structurées du forum de discussion (DiscussionForumPosting)

An illustration of the discussions and forums feature

La balise du forum de discussion est conçue pour tout site de style forum où les gens partagent collectivement des perspectives de première main. Lorsque les sites de forum ajoutent cette balise, Google Search peut mieux identifier les discussions en ligne sur le web et utiliser cette balise dans des fonctionnalités telles que Discussions et Forums et Perspectives.

Votre forum suit-il un modèle de questions et réponses ? Utilisez plutôt la balise Q&A.

Comment utiliser DiscussionForumPosting dans un forum

En général, nous recommandons d’encastrer les commentaires sous le post auquel ils se rapportent. Si le forum a sa propre structure de fil, utilisez un arbre de commentaires pour représenter sa structure.

{
  "@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 plus linéaire par nature (par exemple, un post original suivi d’une série de réponses), intégrez-les tous sous le post original en tant que commentaires. Idéalement, les pages de contenu ultérieures dans des forums multi-pages incluent le post original 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 (or mainEntityOfPage) pour identifier le DiscussionForumPosting principal.

{
  "@context": "https://schema.org",
  "@type": "WebPage",
  "url": "https://example.com/post/very-popular-thread",
  "mainEntity": {
    "@type": "DiscussionForumPosting"
    ...
  }
}

Pour les pages web qui contiennent une liste de posts (par exemple, sur une page de profil, de sujet ou de catégorie), il est courant qu’elles ne disposent pas de toutes les informations présentes sur la même page et qu’elles nécessitent que l’utilisateur clique pour obtenir des informations supplémentaires (comme des réponses). C’est à vous de décider si vous souhaitez inclure uniquement les informations présentes sur la page (et inclure l’URL du post spécifique à la discussion).

Ne marquez pas un post sur la page comme une entité principale s’il ne s’agit pas d’une page de discussion pour ce post. Pour montrer que les pages sont un ensemble de posts liés, il peut être utile de les attacher toutes à une Collection ou à une ItemList.

Comment ajouter des données structurées

Les données structurées sont un format standardisé pour fournir des informations sur une page et classifier le contenu de la page. Si vous êtes nouveau dans le domaine des données structurées, vous pouvez en savoir plus sur le fonctionnement des données structurées.

Voici un aperçu de la manière de construire, tester et publier des données structurées. Pour un guide étape par étape sur la façon d’ajouter des données structurées à une page web, consultez le codelab sur les données structurées.

Ajoutez les propriétés requises. Selon le format que vous utilisez, apprenez où insérer les données structurées sur la page.

  • Vous utilisez un CMS ? Il peut être plus facile d’utiliser un plugin intégré dans votre CMS.
  • Vous utilisez JavaScript ? Découvrez comment générer des données structurées avec JavaScript.
  • Suivez les directives.
  • Validez votre code à l’aide du Test de Rich Results et corrigez les erreurs critiques. Pensez également à corriger les problèmes non critiques qui pourraient être signalés dans l’outil, car ils peuvent aider à améliorer la qualité de vos données structurées (cependant, cela n’est pas nécessaire pour être éligible aux rich results).
  • Déployez quelques pages qui incluent vos données structurées et utilisez l’outil Inspection d’URL pour tester comment Google voit la page. Assurez-vous que votre page est accessible à Google et n’est pas bloquée par un fichier robots.txt, un tag noindex ou des exigences de connexion. Si la page semble correcte, vous pouvez demander à Google de re-crawler vos URL.

Remarque : Accordez du temps pour le re-crawling et la réindexation. N’oubliez pas qu’il peut falloir plusieurs jours après la publication d’une page pour que Google la trouve et l’indexe.
Pour tenir Google informé des changements futurs, nous vous recommandons de soumettre une carte du site. Vous pouvez automatiser cela avec l’ API Sitemap de la Search Console.

Exemples

L’exemple de balisage suivant montre une page de forum linéaire non threadée :

<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": "2023-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": "2023-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": "2023-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": "2023-03-01T09:50:25+02:00",
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": "https://schema.org/LikeAction",
          "userInteractionCount": 7
        }
      }]
    }
  </script>
</head>
<body>
</body>
</html>

Directives

Pour que vos données structurées de forum de discussion soient éligibles à une utilisation dans Google Search, vous devez suivre ces directives :

Directives générales sur les données structurées

  • Essentiels de recherche
  • Directives de contenu
  • Directives techniques

Directives de contenu

Utilisez uniquement la balise DiscussionForumPosting pour décrire un post généré par un utilisateur sur un forum de site web. Ne pas utiliser cette balise pour du contenu principalement rédigé par les éditeurs du site ou leurs agents.
Bien que nous encouragions l’utilisation valide d’autres types de balisage (Article, SocialMediaPosting, VideoObject) qui peuvent utiliser un balisage très similaire avec des commentaires, des informations sur l’auteur et des statistiques d’interaction, ceux-ci ne doivent pas utiliser la balise DiscussionForumPosting. Voici quelques exemples :

Cas d’utilisation valides :

  • Une page de forum communautaire où les utilisateurs peuvent discuter d’un certain jeu
  • Une plateforme de forum générique hébergeant une grande variété de contenu de sous-forum

Cas d’utilisation invalides :

  • Un article ou un blog écrit directement par un agent pour le site (même avec des commentaires)
  • Des avis d’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 spécial d’une page de forum de discussion. Si la structure du site de forum est principalement composée de questions avec réponses, nous recommandons d’utiliser la balise Q&A à la place. Si la structure est plus générale et n’inclut généralement pas de contenu de questions et réponses, DiscussionForumPosting serait un meilleur choix.
Assurez-vous que chaque DiscussionForumPosting inclut le texte complet du post et que chaque Comment inclut le texte complet de la réponse si elle se trouve sur cette page.

Directives techniques

Contrairement à notre préférence générale pour les données structurées, nous recommandons de fournir le balisage DiscussionForumPosting en Microdata (ou RDFa) si possible. Cela vous évite de devoir dupliquer de grands blocs de texte à l’intérieur du balisage. Cependant, ceci n’est qu’une recommandation, et JSON-LD est toujours entièrement pris en charge.

Définitions des types de données structurées

Cette section décrit les types de données structurées liés à DiscussionForumPosting.

Vous devez inclure les propriétés requises pour que votre contenu soit éligible à une utilisation dans Google Search. Vous pouvez également inclure les propriétés recommandées pour ajouter plus d’informations sur vos pages de forum de discussion, ce qui pourrait améliorer l’expérience utilisateur.

DiscussionForumPosting

Le type DiscussionForumPosting définit un post original qui est le sujet de la discussion. Bien que ce type soit généralement composé de texte, il est possible d’avoir un post de forum qui se compose uniquement de contenu multimédia.

Required properties

author

Person or OrganizationInformation about the author of the post. To help Google best understand authors across various features, we recommend following the author markup best practices.Include as many properties that make sense for the author, using the supported properties from article and profile page structured data as a guide.

author.name

TextThe name of the author of the post.

datePublished

DateTimeThe date and time the post was made in ISO 8601 format.
Either text or image or video To represent the content of the post, you must include one of the following properties:

This is not required if you are representing a post on another page (with an external url) as in later pages of forums or forum category pages.

Recommended properties

author.url

URLA link to a web page that uniquely identifies the author of the post, most likely a profile page of the forum. We recommend marking up that page using profile page structured data.
comment CommentA comment about or response to the post, if applicable. Mark up comments in the order in which they appear on the page.
creativeWorkStatus TextIf the post has been deleted but remains for context or threading, set this property to Deleted.
dateModified DateTimeThe date and time the post was edited in ISO 8601 format, if applicable. If no changes have happened, it’s not necessary to duplicate the publish date.

headline

TextThe title of the post. If there isn’t a separate title, don’t duplicate or truncate the text into a headline.
image ImageObject or URLAny inline images within the post, if applicable. If there are no images, don’t include default, icon, or placeholder images in this field.
interactionStatistic InteractionCounterUser statistics applied to the main post, if applicable.

Google supports the following interactionTypes:

isPartOf CreativeWork or URLThe primary source of the post if the post occurs on a particular part of the overall website. For example, a subforum or group within the broader website. If a CreativeWork (like WebPage) is used, use the url property to specify its URL.

sharedContent

CreativeWorkThe primary shared content in the post. The most common way this can be used is to share WebPages (with URLs) as a topical discussion, but images or videos can also be used with this property, particularly if they are the primary content of the comment.Here’s an example of how to add that there’s a link shared in the post:

  ...
  "sharedContent": { "@type": "WebPage", url: "https://example.com/external-url" }
  ...
text TextAny text in the post, if applicable. This is very common, but in some cases can be left out if there is other media in the post.

url

URLThe canonical URL of the discussion. In multi-page threads, set this property to th first page URL. For a single discussion, this is usually the current URL.
video VideoObjectAny inline videos within the post, if applicable.

Commentaire

Le type Comment définit un commentaire sur une œuvre créative originale. Dans ce cas, il s’agit d’un DiscussionForumPosting. Il partage de nombreuses propriétés avec nos directives pour DiscussionForumPosting.

Required properties

author

Person or OrganizationInformation about the author of the comment. To help Google best understand authors across various features, we recommend following the author markup best practices.Include as many properties that make sense for the author, using the supported properties from article and profile page structured data as a guide.

datePublished

DateTimeThe date and time the comment was made in ISO 8601 format. If no changes have happened, it’s not necessary to duplicate the publish date.

text

TextThe main text of the comment. Ideally, this field matches the text that’s present on the page in the comment.
Recommended properties

author.url

URLA link to a web page that uniquely identifies the author of the comment, most likely a profile page of the forum. We recommend marking up that page using profile page structured data.
comment CommentAnother comment about or in response to the comment, if applicable. Mark up the comments in the order in which they appear on the page.
creativeWorkStatus TextIf the comment has been deleted but remains for context or threading, set this property to Deleted.
dateModified DateTimeThe date and time the comment was last edited in ISO 8601 format, if applicable.
image ImageObject or URLAny inline images within the comment, if applicable. If there aren’t any images, don’t include default, icon, or placeholder images in this field.
interactionStatistic InteractionCounterUser statistics applied to the comment, if applicable.

Google supports the following interactionTypes:

sharedContent

CreativeWorkThe primary shared content in the comment. The most common way this can be used is to share WebPages (with URLs) as a topical discussion, but images or videos can also be used with this property particularly if they are the primary content of the comment.Here’s an example of how to add that there’s a link shared in the comment:

  ...
  "sharedContent": { "@type": "WebPage", url: "https://example.com/external-url" }
  ...

url

URLThe URL to this specific comment on the page. Don’t include this property if it’s just the URL of the original post.
video VideoObjectAny inline videos within the comment, if applicable.

Compteur d’interactions

Le type InteractionCounter permet d’associer un compteur à un certain type d’interaction. Cela peut être utilisé à la fois sur les propriétés de contenu (DiscussionForumPosting et Comment) ainsi que sur les propriétés d’auteur.

Required properties

userInteractionCount

IntegerThe number of times this interaction was performed.

interactionType

Subtype of ActionFor a list of valid Action subtypes for this property, check the property that’s using InteractionCounter (for example, interactionStatistic).

Surveillez les résultats enrichis avec Search Console

Search Console est un outil qui vous aide à surveiller la performance de vos pages dans Google Search. Vous n’avez pas besoin de vous inscrire à Search Console pour être inclus dans les résultats de recherche Google, mais cela peut vous aider à comprendre et à améliorer la façon dont Google perçoit votre site. Nous vous recommandons de consulter 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 mis à jour votre code
  • En analysant le trafic périodiquement

Après avoir déployé des données structurées pour la première fois

Après que Google a indexé vos pages, recherchez des problèmes en utilisant le rapport de statut des résultats enrichis approprié. Idéalement, vous devriez constater une augmentation des éléments valides et aucune augmentation des éléments invalides. Si vous trouvez des problèmes dans vos données structurées :

  • Corrigez les éléments invalides.
  • Inspectez un URL en direct pour vérifier si le problème persiste.
  • Demandez une validation en utilisant le rapport de statut.

Après avoir publié de nouveaux modèles ou mis à jour votre code

Lorsque vous apportez des modifications significatives à votre site web, surveillez l’augmentation des éléments invalides des données structurées.

Si vous constatez une augmentation des éléments invalides, il se peut que vous ayez déployé un nouveau modèle qui ne fonctionne pas ou que votre site interagisse avec le modèle existant de manière nouvelle et négative.
Si vous remarquez une diminution des éléments valides (non accompagnée d’une augmentation des éléments invalides), il se peut que vous n’incorporiez plus de données structurées dans vos pages. Utilisez l’outil Inspection d’URL pour découvrir la cause du problème.

Avertissement : N’utilisez pas de liens mis en cache pour déboguer vos pages. Utilisez plutôt l’outil Inspection d’URL, car il possède la version la plus à jour de vos pages.

Analysez le trafic périodiquement

Analysez le trafic de votre recherche Google en utilisant le Rapport de performance. Les données vous montreront à quelle fréquence votre page apparaît en tant que résultat enrichi dans la recherche, à quelle fréquence les utilisateurs cliquent dessus et quelle est 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 rencontrez des problèmes pour mettre en œuvre ou déboguer des données structurées, voici quelques ressources qui peuvent vous aider.

  • Si vous utilisez un système de gestion de contenu (CMS) ou si quelqu’un d’autre s’occupe de votre site, demandez-lui de vous aider. Assurez-vous de transmettre tout message de la Search Console qui détaille le problème.
  • Google ne garantit pas que les fonctionnalités utilisant des données structurées apparaîtront dans les résultats de recherche. Pour une liste des raisons courantes pour lesquelles Google peut ne pas afficher votre contenu dans un résultat enrichi, consultez les Directives générales sur les données structurées.
  • Vous pourriez avoir une erreur dans vos données structurées. Vérifiez la liste des erreurs de données structurées.
  • Si vous avez reçu une action manuelle sur les données structurées concernant votre page, les données structurées de la page seront ignorées (bien que la page puisse toujours apparaître dans les résultats de recherche Google). Pour corriger les problèmes de données structurées, utilisez le rapport sur les actions manuelles.
  • Revoyez les directives à nouveau pour identifier si votre contenu n’est pas conforme aux recommandations. Le problème peut être causé par un contenu considéré comme spam ou par une utilisation abusive de balisage. Cependant, le problème peut ne pas être un problème de syntaxe, et donc le Test de résultats enrichis ne pourra pas identifier ces problèmes.
  • Résolvez les problèmes d’absence de résultats enrichis / de diminution du nombre total de résultats enrichis.
  • Accordez du temps pour le re-crawling et la réindexation. N’oubliez pas qu’il peut falloir plusieurs jours après la publication d’une page pour que Google la trouve et l’indexe. Pour des questions générales sur le crawling et l’indexation, consultez la FAQ sur le crawling et l’indexation de Google Search.
  • Publiez une question sur le forum Google Search Central.