Different schema type for Topics and Posts

Continuing the discussion from Invalid Article Schema:

Currently we are using schema type DiscussionForumPosting for every post in a topic. So if a topic having 5 posts totally then in same page we rendering DiscussionForumPosting 5 times.

In this case I think it’s better to use DiscussionForumPosting only once for whole topic and Comment schema type for remaining 4 replies like below.

<div itemscope itemtype="http://schema.org/DiscussionForumPosting">

   <span itemprop="datePublished">10/05/2017</span>
	<span itemprop="headline">Sample Topic Title</span>
	<span itemprop="image">https://meta.discourse.org/image-url9.png</span>
	<div itemprop="articleBody">Topic's First Post Content</div>
    <span itemprop="author">User 1</span>
    
 	<div itemprop="comment" itemscope itemtype="http://schema.org/Comment">
    	<span itemprop="author">User 2</span>
    	<div itemprop="text">Second Post Content</div>
 	</div>
 
 	<div itemprop="comment" itemscope itemtype="http://schema.org/Comment">
    	<span itemprop="author">User 3</span>
    	<div itemprop="text">Third <b>Post</b> Content</div>
 	</div>
 
</div>
3 « J'aime »

Why? What problem does this solve?

2 « J'aime »

It won’t solve any big issue :slight_smile:

Since we are using DiscussionForumPosting schema for every post Google requiring valid image property for all posts. If we used DiscussionForumPosting only once for topic then we can skip this issue. And I guess this is the correct way to do.

1 « J'aime »

Currently i have not seen above schema method in discourse.

Is this method are in work in progress?

I have found one image error in schema testing tool as below.

Also, I want to hide “datePublished” items from google serp. Can anyone guide me how to do that?

No. Currently I am not sure about this change 100%. I’m unable to find any resource that recommending Comment schema type for reply posts.

Not error. It is just a warning. Google recommending the image field if available.

It is a required field.

2 « J'aime »

I am looking to hide published date shown from google search only.

I search “Different schema type for Topics and Posts” on google and found below post.

Discourse%20Date%20Snapshot%202

It is not recommended. You have to override the show.html.erb template file with a plugin to achieve it.

6 « J'aime »

When search “Change the domain name or rename my Discourse?” found the below article but shows the date in google serp search that when article was published 1st time in 2014.

After that there are 7 revision made on that post and last updated date in 09th December 2017.

So is there anyway to set in forum or made any changes for google to pickup “last update date” instead of “date published” ?

Google%20Structured%20Data%20Snapshot%202

I hope everyone understand my doubt. If anyone show tutorial post on google search result but that are showing 4 years backdated then there are less chances to click.

6 « J'aime »

Ah yes, excellent point, we should check the HTML metadata there @vinothkannans to make sure for wiki posts it is using date of last edit and not date of initial posting.

7 « J'aime »

We previously only used created_at date in datePublished schema property. Now if a post is updated then the updated_at date will used in dateModified schema property along with existing datePublished property. I did it for all the posts. Since we now including both the dates it won’t be a issue. Google search already respecting the both.

https://github.com/discourse/discourse/commit/2c12336c6b7c8223d4fa00b2e928e276224f05a5

8 « J'aime »

pr-welcome tag added

1 « J'aime »

Je sais que ce fil de discussion est très ancien, mais je voulais juste exprimer mon soutien à cette approche. Je ferai un suivi avec des canaux/recommandations plus officiels à l’avenir, mais je voulais juste faire un ping ici car c’était votre propre idée.

Je m’appelle Ryan Levering et je m’occupe de l’ingestion de données structurées chez Google (ce type). Discourse est une sorte de cas particulier car c’est l’un des seuls moteurs de forum qui utilise des DFPs au niveau racine pour chaque commentaire dans le fil de discussion. Cela nous rend plus difficile de déterminer le type de la page ET de détecter de manière fiable le message principal sur la page.

Nous allons recommander à tout le monde d’utiliser DiscussionForumPosting pour l’OP, puis d’attacher le reste des réponses au message original comme comment - Schema.org Property, exactement comme recommandé dans l’OP ici. D’autres balisages seraient également bienvenus (comme plus de statistiques d’interaction utilisateur, par exemple), mais cette restructuration contribuerait grandement à faciliter l’inclusion des forums Discourse dans nos fonctionnalités.

13 « J'aime »

Salut Ryan,

Merci de nous avoir informés. Nous apporterons les modifications nécessaires dès que possible.

5 « J'aime »

Ce PR implémentera le comportement recommandé ci-dessus.

10 « J'aime »

Je ne suis pas sûr de la relation entre cela et ce que vous faites, mais Google rencontre des difficultés pour détecter les messages/sujets sur mon site. Les URL canoniques pourraient avoir un effet sur la manière dont vous déterminez le message principal exact sur la page.

Je viens de recevoir une alerte Google indiquant qu’une URL de message comme celle-ci est indexée :

  • https://forum.example.com/t/the-slug/123/16

La Search Console de Google confirme que l’URL exacte est indexée sur « sur Google ».

Mais l’URL canonique que Google a récupérée est différente :

<link rel="canonical" href="https://forum.example.com/t/the-slug/123" />

Avec la configuration actuelle de Discourse, ces URL de message ne devraient pas être indexées car les URL canoniques pointent toutes vers le sujet.

Si vous souhaitez voir ce type d’URL indexées, définissez une alerte Google pour quelque chose comme site:meta.discourse.org et « tous les résultats au fur et à mesure ».

Je ne suis pas un expert en canonicalisation, donc je ne devrais pas dire quelque chose de faux ici. Mais je suis à peu près sûr que c’est sans rapport. Le balisage n’est pas du tout utilisé dans la canonicalisation, pour autant que je sache. Et bien que je suppose qu’il serait possible de confondre les systèmes en ayant une URL non canonique avec un balisage qui dirait mainEntityOfPage : (de sorte qu’il semble que le balisage affirme que c’est le message principal d’une autre page), je n’ai pas encore vu cela se produire.

Pendant que nous y sommes, Discourse affirme actuellement que chaque commentaire/non-premier-message est la mainEntityOfPage : . Je crois que ce sera toujours vrai après le changement de correction. Cela confond également la détection (et nous oblige à abandonner complètement cette affirmation). Je pense qu’avec la correction, cela nous donnera suffisamment de signal pour éviter les problèmes maintenant, mais il est probablement préférable de ne l’utiliser que sur le premier message.

6 « J'aime »

Ceci est en cours de traitement :

@rrlevering Si vous avez du temps libre, j’apprécierais vraiment vos commentaires à ce sujet :

3 « J'aime »